![软件测试分析与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/784/47379784/b_47379784.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.1 软件测试的狭义和广义观点
G.J.Myers给出了测试定义:程序测试是为了发现错误而执行程序的过程。实际上这是一个狭义的概念,因为他认为测试是执行程序的过程,也就是传统意义上的测试——代码完成后,通过运行程序来发现程序代码或软件系统中的错误。但是,这种意义上的测试不能在代码完成之前发现软件系统需求及设计上的问题。如果把需求、设计上的问题遗留到后期,最终在代码中体现出来,那么就可能会造成设计部分、编程部分或全部返工。需求阶段和设计阶段的缺陷在开发过程中会产生扩大效应,缺陷随时间发展越来越严重,会大大增加软件开发的成本,延长开发的周期等。这种狭义的观点主要受软件开发瀑布模型的影响,难以保证软件质量。
延伸后的软件测试,被认为是软件测试的一种广义概念。这就引出了广义的软件测试的两个概念:静态测试和动态测试。静态测试和动态测试构成了一个全过程的、完整的软件测试,而且静态测试显得更为重要。