有人简单回答说,软件测试就是发现缺陷。但软件测试仅仅就是为了发现缺陷吗?绝对不是。
软件测试有它的验证作用,就是人们经常说的V&V,Verification 验证产品的一致性,验证产品是否和需求定义、产品设计是否一致;Validation 确认产品是否真正满足用户需求,每个功能特性是不是用户想要的。
有人比较圆滑,就回答说:软件测试是质量保证的重要手段之一。但这样的回答不够,还不够清晰。甚至有人反驳说,质量是构建的,不是靠测试测出来的。测试对质量的贡献要低于开发工作。但测试人员会说,这也不能否定测试的作用,我们帮助团队发现各种缺陷,然后把这些缺陷消灭掉,软件产品的质量也得到提高。所以产品的质量是由开发人员和测试人员共同来保证的。仅仅靠一个方面都是不行的,会存在较大风险。
所以关于软件测试的作用还有其它一些答案,由于时间关系,在此不就各种不同的观点都列出来,就来一个总结吧。
软件测试的作用,具体地说明的话,可以概括为下列四个方面:
1、对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息;
2、通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本;
3、通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。
4、通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的。