软件测试目的可以概括为几句简短的话:测试是程序执行的过程中发现错误,目的在于发现错误(缺陷)。一个好的测试用例能够有效地发现其他测试用例中没有发现的错误(缺陷);成功的测试是发现未发现的错误(缺陷);测试不能说错误不存在,只能说明软件错误已经出现。
考虑到软件生命周期管理的不同阶段会产生错误。其中,需求分析、设计和实施阶段是软件错误的主要来源。在软件需求阶段,由于需求定义的错误和分析的不一致,造成了错误的引入。
缺陷可能是由于设计失误(例如:需求实现不完整、需求理解偏倚,等等,设计本身的错误)引起的;在实现阶段,缺陷也是由于程序员编写代码的原因(例如内存溢出、逻辑错误、数据错误等等)。
软件测试是执行程序发现错误的过程。软件测试不仅是软件开发阶段的一个有机组成部分,而且在整个软件生命周期管理即软件定义、设计和开发过程中占有相当大的比重。作为软件质量保证的重要环节,软件测试直接影响到软件质量的评价。
软件测试既要讲究策略,也要注意时间。作为软件测试过程的最后一个环节,验收测试对软件质量、软件可交付性以及软件项目的实施周期都起着至关重要的作用。它决定了软件测试是有目的的。
软件测试的目的,是更快、更早地发现软件产品或软件系统中的各种问题,并促使开发人员尽快解决问题,以最快的速度向客户提供高质量的软件产品,使软件系统在满足客户需求的同时,更好地满足客户的需求。