测试方法(个人学习笔记20170305)
测试方法:
按对象分类:黑盒,灰盒,白盒
按是否执行程序分类:静态,动态
按手段分类:手工,自动化
黑盒
1.依据:需求规格说明书(SRS)
2.测试对象:整个软件产品
3.目的
理论目的:检查软件功能实现是否符合SRS
实际目的:尽早验收或售卖
4.评估标准:需求覆盖率100%(最低标准)
需求覆盖率=被测需求数/总需求数
5.介入时间:系统测试阶段(ST)(已开发完成,可操作执行)
6.优点:简单
7.缺点:介入时间晚,修复成本高,无法测试内部逻辑和代码实现
8.适用:任何情况下
灰盒
1.依据:概要设计(HLD)
2.测试对象:系统内部接口(系统,模块,功能之间)
3.目的
理论目的:验证接口实现与概要设计是否一致
实际目的:准确定位缺陷
4.评估标准:接口覆盖率(视具体要求而定)
5.介入时间:集成测试阶段(IT)
6.优点:可以准确定位BUG
7.缺点:复杂度高,对测试人员要求较高
8.适用:经常出现难以定位的错误的接口,接口实现复杂的,接口调用参数多的
白盒
1.依据:详细设计(LLD)
2.测试对象:代码,函数
3.目的
理论目的:检查代码是否符合详细设计要求
实际目的:在代码阶段发现BUG,减少修复成本和风险
4.评估标准:逻辑覆盖率
逻辑覆盖率包括多种,如语句覆盖率,条件覆盖率,分支覆盖率,条件分支覆盖率,路径覆盖率等
5.介入时间:单元测试(UT)
6.优点:介入时间早,发现缺陷早
7.缺点:工作量大,技术要求高,主要测试代码,函数内部逻辑的实现,对于用户角度的操作流程,易用性等功能和非功能没有涉及
8.适用:新研发的功能,模块,复杂度高,自测不充分的
静态
特点:检查开发,需求文档中的错误
分类:正规检视 最严 SRS阶段
技术评审 严格 HLD阶段
同行评审 不严 LLD阶段
优点:介入时间早,发现缺陷早,修复成本,风险低
缺点:技术难度大,需要提前了解业务
适用:可选,效果不一定明显
动态
特点:通过执行程序发现系统中的缺陷
分类:黑,白,灰盒
优点:简单
缺点:介入时间晚于静态
适用:任何情况
手工
优点:主动发现缺陷
缺点:人工操作,重复性大,易疲倦,效果受操作人员主观因素影响
适用:必选,任何情况
自动化(功能,性能)
优点:脚本重复适用的情况下效率高,成本低
缺点:不能主动发现缺陷
适用:需求稳定,功能基本实现,手工测试已经通过的
缺陷管理
缺陷状态
new -> 新发现
open -> 指派
fix -> 修复
close -> 关闭
duplicate -> 重复
postpone -> 延期
reject -> 拒绝
reopen -> 再打开
abandon -> 丢弃
缺陷迁移
一般而言有以下迁移状态
new -> open,abandon,duplicate,postpone
open -> fixed,reject
fix -> reopen,close
reject -> abandon,fix
postpone -> fix,open
缺陷报告
缺陷报告一般包括以下几项
1.编号
2.标题
3.重现步骤
4.严重级别
5.优先级
6.状态
7.执行人
8.提交人
9.附件
缺陷报告质量的提升
1.明确测试时的数据,步骤,前置条件
2.标题简明扼要
3.明确预期效果,写清问题和建议,防止多次修复