软件测试的目的与软件工程所有其他阶段的目的都是相反的。
为什么这么说呢?
软件工程其他阶段都是“建设性”的,系统开发人员从抽象概念出发,逐步设计出具体的软件系统,最后选定一种程序设计语言来编写代码。但是在软件测试阶段,测试人员努力设计出一系列的测试方案,目的确实“破坏”已经做好的软件系统。
当然这里所说的“破坏”是指寻找软件中存在的问题。
暴露问题不是软件测试的最终目的,发现问题是为了解决问题。
软件测试的根本目标是尽可能多的发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交付给用户使用。