实际上软件测试的目的也有一个阶段性的变化,我们通过下图来分析一下软件测试目的的演进。

证明
保证软件产品是完整的并且可用或可被集成,同时需要尝试在非正常情况下的功能和特性是否可用,评估系统的风险承受能力。
检测
发现缺陷、错误和系统不足的地方,定义系统的能力和局限性,并提供相关的组件、工作产品和系统质量信息。
预防
提供预防和减少可能导致错误的信息,在过程中尽早地检测错误,确认问题和风险,并且提前确认解决这些问题和风险的途径。
软件测试目的往往包含如下内容:
1)测试并不仅是为了找出错误,而且要通过分析错误产生的原因和错误的发生趋势,帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
2)需要测试工程师设计出具有针对性的测试方法,以改善测试的有效性。
3)没有发现错误的测试也是有价值的,完整的测试是评估软件质量的一种方法。
归根到底软件测试目的是指尽可能早地发现软件中存在的缺陷并提高软件质量。