软件测试分类
1、方法:
(1)黑盒测试:是对程序需求方面的测试
(2)白盒测试:是对程序内部逻辑结构的测试
(3)灰盒测试:在黑盒测试中使用白盒测试的手段
2、方向:
(1)功能测试:根据产品业务需求、产品行业特征、模拟用户操作方式来测试一个产品的特性以确定它们是否满足用户需求。
(2)性能测试:关注于产品整体的多用户并发下的稳定性和健壮性。
- 压力测试:发现软件的性能测试
- 负载测试:
- 并发测试:
(3)阶段测试:
- 单元测试
- 集成测试(接口测试)
- 系统测试(功能、安全、性能、兼容性【web\app(Android | ios)】、易用性【用户体验】、稳定性【7*24小时】、UI【界面】)
- 验收测试
(4)对象
- APP测试
- WEB测试
- 物联网测试
- 车联网测试
- 小程序测试
- 嵌入式测试
- 大数据测试
- AI测试
(5)状态
- 静态测试
- 动态测试
(6)冒烟测试(测试前的测试)、回归测试、α测试(内测)、β测试(公测)
测试流程
- 需求分析阶段:需求分析(需求文档、产品原型、口述)、学习业务流程、提取功能点、编写需求分析说明书
- 测试设计阶段(5W1H)
- 测试计划:时间、人员、资源的安排分配
- 测试方案:针对每个测试内容如何展开测试、采用什么测试计划、什么测试工具
- 测试策略:那些测试内容先测、那些后测、开始和结束的测试标准是什么
- 测试用例:
(1)用例编号:唯一的
(2)用例名称:言简意赅,概括
(3)前置条件:执行这个用例之前,软件必须要满足的条件
(4)优先级:执行这条用例的时间要求紧急的等级
(5)重要级:这个被测的功能在系统里面的重要级别
(6)测试数据
(7)测试步骤
(8)预期结果
(9)实际结果
3.测试执行阶段
(1)预期结果和实际结果做对比,如果一样则通过,如果不一样则有问题
(2)提交BUG
(3)回归测试:在版本2 上检查版本一上发现的问题有没有被解决
4. 测试总结阶段
(1)遍写测试报告
对工作的总结
对BUG的分析:(测试、开发、软件开发、等级、解决时间、每个版本、状态)
对被测试软件的评估
测试方法
- 等价类:(无效等价类、有效等价类)
- 边界值
- 错误猜测法
- 场景值
- 因果图
- 判定表
- 路径覆盖法
例:发送红包时:
发送成功:用户输入符合要求的金额,发送成功
发送失败:用户什么都不输入,不能发送成功
用户输入超出范围的值,不能发送成功
用户输入非数字的值,不能发送成功
研发管理模型
- 瀑布流、V字型、W字型、H字型、敏捷模型、螺旋型、
评审
- 同行评审
- 小组评审
- 部门评审
- 项目评审
- 第三方评审
- 邮件评审
BUG的管理
- BUG的管理平台/系统/工具:JIRA、禅道、BUGFree、ALM\QC、testlink、Bugzilla
- BUG的六要素:
编号、BUG的名称、BUG的优先级、BUG的严重级别、BUG的复现步骤(预期结果、实际结果)、附件(截图\日志\视频、目的是为BUG佐证)
3. BUG的生命周期:就是一个BUG被发现到这个BUG被关闭的过程。
生命周期中缺陷状态:新建-->指派-->已解决-->待验-->关闭
发现BUG-->提交BUG-->指派BUG-->研发确认BUG-->研发去修复BUG-->回归验证BUG-->是否通过验证-->关闭BUG
如果待验的BUG在验证时没有解决好,我们需要重新打开--指派—已解决—待验,循环这个过程。
中间其他状态:拒绝、延期等
4. BUG的状态:
新建、打开、已确认、已解决、拒绝、重新打开、关闭、延期处理、重复BUG
5. BUG的等级
软件结构:B\S、C\S
测试应用
- APP测试:
- 消息推送
- 更新
- 弱网测试:2G\3G\4G\5G
- 场景交互测试:电话进入、正在听音乐、调用相机、前后台的切换
- 权限测试
2. WEB测试
版本迭代
- 随着时间、测试次数的推进,会发布很多的版本,其中版本号是不断叠加的
- 增量测试:只测试已知的有变化的功能
- 全量测试:测试软件的所有功能