第011页_1788968492811.txt

第1章引论
13
发成本上的体现,通过风险的控制来降低软件开发成本。经济观点也要求软件测试尽早开展
工作,发现缺陷越早,返工的工作量就越小,所造成的损失就越小。所以,从经济观点出发,测
试不能在软件代码写完之后才开始,而是从项目启动的第一天起,测试人员就参与进去,尽快
尽早地发现更多的缺陷,并督促和帮助开发人员修正缺陷。软件测试的经济学观点可以从
Boehm的著作《软件工程经济》(SoftwareEngineeringEconomics,1981)中得到进一步的
印证。


1.4
测试和质量保证的关系
Assurance,质量保证)两个概念。完全依赖测试工作来保证质量是一种落后的观念,其带来的
成本会很高,效果还不好。因为质量不是检测出来的,而是构建起来的。现在大家都认可“质
量内建”的先进理念,在需求、设计和编程中始终关注质量,把质量内建于产品之中。但是,即
使这样去做也还会犯错误(虽然会少犯不少错误),所以测试也是必不可少的。
为什么说质量是构建出来的?任何形式的产品都是过程执行得到的结果,质量就是在过
程执行中慢慢构建的。因此,对过程进行管理与控制是提高产品质量的一个重要途径。软件
质量保证(SoftwareQualityAssurance,SQA)活动是通过对软件产品有计划地进行评审和审
计来验证软件是否合乎标准的系统工程,通过协调、审查和跟踪以获取有用信息,形成分析结
果以指导软件过程。
(1)确保SQA活动要自始至终有计划地进行。
(2)与软件项目其他工作组一起工作,制订质量计划、标准和规范等,而且确保它们满足
项目和组织方针上的要求。
(3)对软件工程各个阶段的进展、完成质量及出现的问题进行评审、跟踪。
(4)如果发现不符合问题,逐级解决不符合问题。
(5)审查和验证软件产品是否遵守适用的标准、规范和流程,并最终确保符合标准、满足
要求。
(6)建立软件质量要素的度量机制,了解各种指标的量化信息,向管理者提供可视信息。
(7)SQA和结果要保证全员参与,沟通顺畅。
SQA部门在新项目的需求分析阶段就开始介人,检查需求和设计工作是否符合相应的规
范和流程,后续检查编程和测试是否符合相应的流程和要求,通过评审、内审发现问题。记录
下来形成正式文档,尽可能对软件周期各个阶段的测量确定一个定量或定性的标准,作为以后
各阶段评审的标准和依据。
从这里可以看出,SQA与软件测试之间相辅相成,既存有包含又存有交叉的关系。SQA
指导、监督软件测试的计划和执行,督促测试工作的结果客观、准确和有效,并协助测试流程的
改进。而软件测试是SQA重要手段之一,为SQA提供所需的数据,作为质量评价的客观依
据。它们的相同点在于二者都是贯穿整个软件开发生命周期的流程。它们的不同之处在于
SQA是一项管理工作,侧重于对流程的评审和监控,而测试是一项技术性的工作,侧重对产品
进行评估和验证。
下载此文件