参考资料:《软件测试技术实战》@顾翔
定义一:软件测试是为了证明程序有错,通过运行程序发现其中存在的问题。from《软件测试的艺术》
蕴含哲理的定义:1.软件测试可以证明软件有错。
2.软件测试不能证明软件没有错。
定义二:(揭示了软件测试工程师工作本质的定义):软件测试是根据软件开发阶段的规格说明和程序内部结构而精心设计的一批测试用例(即输入数据及其预计输出结果),并利用这些测试用例来执行测试程序,以及发现错误的过程,即执行软件测试的步骤。
该定义强调的是软件测试的步骤。
定义三:软件测试是验证软件产品是否满足用户显性或隐性的需求的活动。这个定义是基于质量的定义延伸。质量的定义是满足用户显性和隐性需求的活动,其中隐性需求就是指规格说明书中没有写出来的,如软件的易用性、可靠性、可维护性、效率等。
定义四:软件测试包括验证与确认两种类型。验证是指后一步是否满足前一步的需求,在软件开发过程中可以理解为需求分析是否满足用户需求,设计是否满足需求分析,开发是否满足设计,而确认是指最终产品是否满足用户的最初需求。
已