目录
1.什么是软件测试?
- 使用技术手段验证软件是否满足需求。
2.测试的主流技能:
-
功能测试、接口测试、性能测试、自动化测试
3.测试常用分类:
1)按阶段划分
①单元测试:针对程序源代码进行测试(单元:最小独立功能代码段)
②集成测试:针对程序接口进行测试
③系统测试:针对程序的功能、非功能进行测试;针对系统整体功能+兼容+⽂档(说明、安装⽂档)
④验收测试:即用户验收测试,这一环节由终端用户或代表客户的相关人员完成,目的是评估软件是否准备好投入实际生产环境使用。如对于游戏来说(内测、公测)
2)按代码可见度划分
①黑盒测试:(系统测试)看不见源代码,关注功能、非功能
②灰盒测试:(集成测试)针对程序部分代码进行测试(接口)
③白盒测试:(单元测试)针对程序源代码进行测试
3)按照软件质量特性分类
①功能测试:功能测试就是测试软件的功能是否满足客户的需求,包括准确性、易用性、适合性、互操作性等
②性能测试:性能测试就是测试软件的性能是否满足客户的需求,性能测试包括负载测试、压力测试、兼容性测试、可移植性测试和健壮性测试等
4)小总结
- 系统测试和⿊盒测试重点核⼼是功能测试
- 集成测试和灰盒测试⼜称接⼝测试
- 单元测试和⽩盒测试是对代码进⾏测试
- ⾃动化测试归属功能测试
- 性能测试、安全测试归属专项测试
4.质量模型
(衡量一个优秀软件的维度)
功能、性能、兼容、易用、安全必测
5.测试流程
1)需求分析(评审)
-
做什么:就像装修前和业主沟通需求一样,测试团队要和产品经理、开发开会,搞清楚软件到底要实现什么功能。
-
重点:
-
确认哪些功能需要测试(比如注册、登录、支付)
-
哪些不用测(比如已经确定暂时不做的功能)
-
把需求转化成“能测”的标准(比如“用户能3秒内登录成功”)
-
-
输出:列一个清单,写明要测什么、不测什么,防止大家理解不一致。
2)测试计划
-
做什么:相当于制定“作战计划”,安排人、时间、资源。
-
重点:
-
谁来测(测试团队分工)
-
什么时候测(比如先测核心功能,再测次要功能)
-
用什么环境测(比如开发环境、测试环境、模拟真实用户的环境)
-
遇到问题怎么办(比如人手不够、进度延迟的备选方案)
-
-
输出:一个详细的计划文档,所有人都按这个节奏走。
3)用例设计
-
做什么:像考试前划重点一样,把要测试的功能拆解成具体的操作步骤。
-
重点:
-
正常情况怎么测(比如输入正确密码能登录)
-
异常情况怎么测(比如输错密码、不填密码直接点登录)
-
边界值测试(比如密码最多20字符,输入21个字符会怎样)
-
-
输出:一套具体的测试步骤(用例),比如:
用例1:输入正确用户名和密码 → 应该登录成功
用例2:不输入密码直接点登录 → 提示“密码不能为空”
4)用例执⾏
-
做什么:按照设计好的用例一条条去操作软件,记录结果。
-
重点:
-
先做冒烟测试(核心功能快速验证,比如能不能正常启动)
-
然后全面测试(所有用例一条条过)
-
发现问题就记下来(比如登录按钮点了没反应)
-
开发修好问题后,再回归测试(确认修好的同时,其他功能没被影响)
-
-
输出:测试报告(比如测了100条,90条通过,10条失败)。
5)缺陷管理
-
做什么:像医院挂号一样,管理发现的Bug(问题)。
-
重点:
-
记录Bug的详细信息(什么操作导致的?复现步骤?截图?)
-
给Bug分轻重缓急(比如崩溃是严重问题,界面错别字是次要问题)
-
跟踪Bug状态:发现→交给开发→修复→验证→关闭
-
定期统计(比如一共发现50个Bug,还剩10个没修)
-
-
工具:一般用JIRA、禅道等工具管理,避免漏掉问题。
举个生活例子:想象你要开一家奶茶店:
-
需求分析:和合伙人确定卖什么奶茶(芒果味?珍珠奶茶?)
-
测试计划:安排谁采购原料、哪天试营业、准备几套设备
-
测试用例:设计试喝流程(正常甜度、少糖、加冰、不加冰都试试)
-
测试执行:实际试喝,记录哪款好喝、哪款太甜
-
缺陷管理:把问题反馈给厨师调整,直到所有奶茶达标才正式开业。
6.测试用例
用例:用户使用的案例
测试用例八大要素
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |