文章目录
一:软件缺陷
1.软件缺陷的定义:
软件缺陷(Defect),常常又被叫做Bug。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。
IEEE729-1983对缺陷有一个标准的定义:
从产品内部看: 缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;
从产品外部看: 缺陷是系统所需要实现的某种功能的失效或违背。在软件开发生命周期的后期,修复检测到的软件错误的成本较高。
因此软件缺陷就是指:软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。
2.哪些属于软件缺陷:
- 软件未达到规格说明书表明的功能
- 软件出现了规格说明说中指明不会出现的错误。
- 软件功能超出了规格说明书指明的范围
- 软件未达到规格说明书虽未指明但应该达到的目标
- 软件测试人员或用户觉得不好
3.缺陷的表现形式
- 功能、特性没有实现或者部分实现
- 设计不合理、功能不明确、逻辑不清楚或存在矛盾
- 实际结果和期望结果不同
- 没有达到规格说明说要求的性能指标
- 运行出错、崩溃、中断、界面混乱
- 数据不正确、精度不够、不完整或格式不统一
- 用户不能接受的其它问题,如存取时间过长、界面不美观
- 硬件或软件存在其它问题
4.软件缺陷的根源
- 交流不充分
客户与开发人员、开发人员与测试人员等 - 软件的复杂性
功能复杂、开发复杂、测试复杂 - 开发人员的错误
对需求的理解、开发压力、能力与经验 - 需求的变化
需求说明书、设计文档、程序的变更 - 进度压力
项目周期比较紧
二:软件缺陷分类
1.缺陷状态
2.缺陷的严重程度
3.缺陷的优先级
4.bug类型
三. 软件缺陷的注意
1.缺陷报告的注意事项
- 尽量保证缺陷可以重现
- 简洁、准确、完整
- 一个缺陷报告只写一个缺陷
2.缺陷的书写规范
- 标题简洁、提供缺陷的本质信息即可
- 复现的步骤要详细,用数字编号
- 实际结果要描述清楚复现后的结果
- 列出期望结果
- 提供附件
- 提供严重性属性和其它公司需要填写的属性
注意: 要避免一些常见错误
(1) 避免使用情绪化语言和强调标点符号
(2) 避免使用模糊的词语
(3) 避免使用自认为幽默的语言,直接描述问题即可
(4) 避免提交不确定的缺陷
3.缺陷的处理流程
四:缺陷的其他
1.缺陷的跟踪
新提交的缺陷为“新建”状态,在确认有效之后变为“打开”状态,开发人员修改后变为“已修复”状态,此时测试人员需要回归测试,如果验证问题已解决,状态为“已解决”,如果问题依然存在,状态为“打开”;
如果开发人员任务此缺陷可以延期修改,状态为“延期”;
注意此时必须由项目相关人员讨论确定后,才可以延期处理,否则状态继续为“打开”
2.缺陷密度
每千行代码的缺陷数;
缺陷密度=1000*缺陷个数/代码行数
举个栗子:
一个29.6万行的源程序总共有145个缺陷,则缺陷密度为:
缺陷密度=1000*145/296000=0.49 个/KLOC