IEEE国际标准729中软件缺陷的定义——软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求。
- 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、误差等各种问题。
- 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
软件失败的术语
缺点 偏差
故障 失败
问题 矛盾
错误 特殊
事件 缺陷
异常
故障、失败和缺点,指确实严重的情况,甚至是危险的情况。
异常、事件、和偏差,不是那么尖锐,主要指未按预期的运行,而且不是说全部失败。
问题、错误和缺陷,是常用的术语
软件缺陷反应了软件开发过程中需求分析、功能设计、用户界面设计、编程等环节所隐含的问题。软件缺陷的表现形式有多种,不仅体现在功能的失效方面,而且体现在其他方面,例如:
- 设计不合理,不是用户所期望的风格、格式等
- 部分实现了软件某项功能
- 实际结果和预期结果不一致
- 系统崩溃,界面混乱
- 数据结果不正确,精度不够
- 存取时间过长,界面不美观
由于软件开发人员思维上的主管局限性,且目前开发的软件系统都具有相当的复杂性,决定了在开发过程中出现软件错误是不可避免的。引起软件缺陷的原因比较复杂,来源于方方面面,有软件自身的问题,也有沟通的问题,还有技术问题等。主要因素有:
- 在需求定义时,用户