一、软件缺陷的定义:
- 缺陷就是软件的问题,最终表现为没有满足用户的需求
二、哪些属于软件缺陷:
- 软件未达到需求规格说明书表明的功能
- 软件出现了需求规格说明书指明不会出现的错误
- 软件的功能超出了需求规格说明书指明的范围
- 软件未达到软件需求规格说明书未指明而应该达到的目标
- 软件测试人员认为难以理解、不易使用、运行速度慢,或者最终用户认为不好
三、软件缺陷的表现形式:
- 功能、特性没有实现或部分实现
- 设计不合理,特性不明确,逻辑不清楚或存在矛盾
- 产品实际结果和所期望的结果不一致
- 没有达到需求规格说明书所规定的性能指标等
- 运行出错,包括运行中断、系统崩溃、界面混乱等
- 数据不正确、不够、不吉祥平安福且贵或格式不统一
- 用户不能接受的其他问题,如存取时间过长、界面不美观
- 硬件或系统软件上存在的其他问题
四、软件缺陷的产生原因:
- 需求解释或者记录错误
- 用户需求定义错误
- 设计说明存在错误
- 编码说明、程序代码有误
- 硬件或者系统上存在错误
- 其他,如文档错误、内容不正确或拼写错误
五、软件缺陷的根源:
- 交流不充分(客户与开发、开发与测试)
- 软件的复杂性(功能复杂、开发复杂、测试复杂)
- 开发人员的错误(对需求的理解、开发压力、能力与经验)
- 需求的变化(需求说明书、设计文档、程序的变更)
- 进度压力(项目周期比较紧)
六、软件缺陷的状态:
1、提交--测试人员提交了一个缺陷给开发
2、打开--待处理
3、拒绝--开发认为不是缺陷或者重复,就可以修改状态为拒绝
4、修复--开发修复缺陷后提交的一个状态
5、关闭--测试经过回归测试后,认为此缺陷已经解决,将其关闭
6、推迟--可以放在后续版本解决的问题,但是要详细写出修复的日期或版本
七、软件缺陷的严重程序划分:
1、Low--表面性错误,如错别字
2、Medium--影响一个独立功能、仅仅发生在特定条件上、与需求定义不一致、断断续续出问题
3、High--功能点没有实现、不符合用户需求、导致数据丢失
4、VeryHigh--频繁死机、大部分功能不能使用
5、Critical--系统瘫痪、异常退出、死循环、严重的计算错误
八、软件缺陷的优先级:
1、Low--时间和资源允许下修复
2、Medium--不会延迟发布,会在以后修复
3、High--会制约开发和测试的进行,需要在发布之前修复
4、VeryHigh--影响系统,产生严重影响
5、Critical--导致系统几乎不可用
九、软件缺陷的分类:
1、系统缺陷
2、数据缺陷
3、数据库缺陷
4、接口缺陷
5、功能缺陷
6、安全性缺陷
7、兼容性缺陷
8、性能缺陷
9、界面缺陷
10、建议
十、软件缺陷的修改说明:
不是所有缺陷都会修改
- 市场的压力使得产品最终改造有时间限制
- 测试人员错误理解或者不正确操作引出的缺陷(FAQ)
- 错误的修改影响的模块较多,带来的风险较大(遗留)
- 修改性价比太低
- 缺陷报告中提出的问题很难重现