软件生产的三个重要的因素是:质量、进度和费用。

计算技术的进步,意味着在经济领域中信息系统更新的速度更快。新的硬件技术的发展,均会使软件过时,系统交付使用的时间变得日益重要,新产品在其性能和费用上被其他产品取代之前的推销时间,即市场窗口已经缩小了。

由于费用和进度的限制,要开发一种高质量、快速交付和低成本的软件产品变得越来越困难,也是说要同时达到三个目标是困难的。因此在软件产品的开发中要权衡它们之间的关系,使软件的特性能满足用户的要求,这意味着软件产品特性的度量和预计是必要的。

软件测试由独立测试机构承担有许多好处。独立测试是指软件测试工作由在经济上和管理上独立于开发机构的组织进行。独立测试可以避免软件开发者测试自己开发的软件,由于心理学上的问题,软件开发者难以客观、有效地测试自己的软件,而找出那些因为对问题的误解而产生的错误更加困难。独立测试还可以避免软件开发机构测试自己的软件,软件产品的开发过程受到时间、成本和质量三者的制约,时间和成本指标便于衡量,而质量却很难度量,因此在软件开发过程中,当时间、成本和质量三者发生矛盾时,质量容易被忽视,如果测试组织与开发组织来自相同的机构,测试过程会面临来自与开发组织同一来源的管理方面的压力,使测试过程受到干扰。

采用独立测试方式,无论在技术上还是管理上,对提高软件测试的有效性都具有重要意义。

①、客观性

对软件测试和软件中的错误抱着客观的态度,这种客观的态度可以解决测试中的心理学问题,既能够以揭露软件中错误的态度工作,也能不受发现的错误的影响。经济上的独立性使其工作有更充分的条件按测试要求去完成。

②、专业性

独立测试作为一种专业工作,在长期的工作过程中势必能够积累大量实践经验,形成自己的专业优势。同时软件测试也是技术含量很高的工作,需要有专业队伍加以研究,并进行工程实践。专业化分工是提高测试水平,保证测试质量,充分发挥测试效用的必然途径。

③、权威性

由于专业优势,独立测试工作形成的测试结果更具信服力,而测试结果常常和对软件的质量评价联系在一起,由专业化的独立测试机构的评价,更客观、公正和具有权威性。

④、资源有保证

独立测试机构的主要任务是进行独立测试工作,这使得测试工作在经费、人力和计划方面更有保证,不会因为开发的压力减少对测试的投入,降低测试的有效性,可以避免开发单位侧重软件开发而对测试工作产生不利的影响。