11.1软件缺陷基础
缺陷的定义
- 软件未实现需求和规格要求的功能
- 软件出现了需求和规格指明不该出现的错误
- 软件实现了需求和规格未提及的功能
- 软件未实现需求和规格未明确提及但应该实现的内容
- 软件难以理解,不易使用,运行缓慢,或者最终用户(估计会)认为不好。
- 测试用例执行中发现的与预期结果不符的现象
缺陷的原因
需求与规格——设计——编码——其他
缺陷的修复成本
需求与规格——设计——编码——测试——发布
缺陷的分布特征
集结(二八定理):缺陷往往喜欢扎堆,一个模块发现的缺陷比别的模块多,意味着这个模块还存在有同样多的缺陷尚未被发现。80%的缺陷出现在 20%的模块。
11.2缺陷的生命周期
BUG的生命周期,就是一个BUG被发现到这个BUG被关闭的过程。
发现BUG–>提交BUG–>指派BUG–>研发确认BUG–>研发去修复BUG–>回归验证BUG–>是否通过验证–>关闭BUG
- 测试人员提交新的Bug入库,错误状态为New。
- 高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。如果不是错误,则拒绝,设置为Declined(拒绝)状态。
- 开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug