软件构成:程序、文档、数据
软件是由人进行编写和测试,所以没有完美的软件,所有软件都有缺陷。
软件缺陷:计算机系统或程序中存在各种各样破坏正常运行能力的问题、错误或者功能缺陷瑕疵,主要表现形式为结果出错、功能缺失、功能失效、与用户需求不一致等。
IEEE给软件缺陷定义:软件缺陷就是产品中所存在的问题,最终表现为用户所需要的功能没有完全的实现,不能满足或不能全部满足用户需求。
从产品内部来看:软件缺陷是软件产品开发或者维护过程中所存在的错误、误差等各种问题。
从产品外部来看:软件缺陷是系统所需要实现的某种功能失效或者违背。
软件开发的生命周期:软件需求分析、软件设计和软件编码等环节。
软件缺陷的5种类型:
(1)软件未实现产品说明书要求的功能
(2)软件出现了产品说明书不应该出现的错误
(3)软件实现了产品说明书未提到的功能
(4)软件未实现产品说明书虽未明确提及但应该实现的功能
(5)软件难以理解、不易使用、运行缓慢----从测试员的角度看----最终用户会认为不好
软件的缺陷各种各样,产生的原因也不相同,只要有了计算机软件就可能存在问题,有了问题就需要进行测试,发现问题、解决问题,因此才有了软件测试。
经过大量的测试研究以及测试发展的累计,软件缺陷的产生的主要原因可以归纳如下:
(1)需求解释有错误
(2)用户定义错误
(3)需求记录错误
(4)设计说明错误
(5)编码说明有误
(6)程序代码有误
(7)其他有误,如数据输入等
修复软件缺陷的成本
软件开发经历需求分析、设计、编程、测试,到公开发布的过程中,在整个过程中,都有可能出现各种各样的问题的软件缺陷。
随着时间的推移,软件缺陷修复成本成倍增加。
在分析时发现相关功能缺失,立刻就可以补上。代价几乎可以忽略不计。而在发布时发现缺陷或者缺失功能,那么此时加上一个功能成本相当巨大,所以要在尽早测试。
参考资料:软件测试基础教程、软件测评师教程
原文:https://www.cnblogs.com/zhangjiantaocs/p/11753286.html