1.软件测试的定义
关于软件测试的定义有很多,这里例举出两种常见定义:
Mayer: 软件测试是为了发现错误而执行程序的过程。
百度百科:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
2.软件测试的目的
Glenford J. Myers提出了软件目的:
- 测试是程序执行过程,目的在于发现错误
- 测试是为了证明程序有错,而不是证明程序无错
- 一个好的测试用例在于它发现至今未发现的错误。
- 一个成功的测试是发现了至今未发现的错误的测试。
Bill Hetzelt在《软件测试完全指南》中提出:
软件测试的目的不仅仅是为了发现软件缺陷与错误,同时也对软件进行度量和评估,提高软件质量。
软件测试目的往往包含如下内容:
- 1)测试并不仅是为了找出错误,而且要通过分析错误产生的原因和错误的发生趋势,帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
- 2)需要测试工程师设计出具有针对性的测试方法,以改善测试的有效性。
- 3)没有发现错误的测试也是有价值的,完整的测试是评估软件质量的一种方法。
综上来看软件测试目的是指尽可能早的发现软件中存在的缺陷并提高软件质量。
3.软件测试的原则
1. 所有的测试要追溯到用户的需求