软件缺陷定义
满足什么样的条件才被定义为软件缺陷呢?满足以下一条或同时满足多条都能称之为缺陷。
1) 软件未实现产品说明书要求的功能
产品说明书中要求的功能没有实现,那么这个软件就是不符合要求的,是功能不完整的,那么这个就是一个有缺陷的软件。
2)软件出现了产品说明书指明不应该出现的功能
产品说明书中指明不需要这一功能,而软件中出现了这一功能,有点画蛇添足的味道,或许用户会认为有这一功能会影响使用体验。
3)软件实现了产品说明书中未提到的功能
如果这一功能经过可靠性验证,且确实不会影响用户的使用,一般来说实现这一功能可以不被认为是缺陷,但最好不要这样做,万一锦上添花不成反倒成了画蛇添足呢。
4)软件未实现产品说明书虽未提及但应该实现的目标
未提及但应该实现的目标,比如说写一个登录页面,一般来说会默认有一个忘记密码的选项,若不写入到产品说明书中,软件也应该实现这一功能。
5)软件难以理解、不易使用、运行缓慢或最终用户体验评价不高
若软件由于各种原因致使用户使用体验评价不高,那么这款软件就是一款有缺陷的软件,需要及时更新。
以下是从软件测试心理学角度摘抄的一段话:
任何软件都有缺陷,而测试是为了找到软件中存在的缺陷,一个好的测试用例在于它能发现以前未发现的缺陷,一个成功的测试是为了发现以前未发现的缺陷的测试。
真正的测试是从发现缺陷开始的,发现缺陷之后应跟踪此缺陷,直到缺陷得到处理。
软件测试仅仅是软件质量保证的重要手段之一,想真正提高软件产品的质量需要通过持续不断的过程改进。