更新时间:2022-11-28 11:23
软件质量保证是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。
软件质量保证的关注点集中在于一开始就避免缺陷的产生。质量保证主要目标是:
(1)事前预防工作,例如,着重于缺陷预防而不是缺陷检查。
(2)尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段。
(3)作用于过程而不是最终产品,因此它有可能会带来广泛的影响与巨大的收益。
(4)贯穿于所有的活动之中,而不是只集中于一点。
软件质量保证的目标是以独立审查的方式,从第三方的角度监控软件开发任务的执行,就软件项目是否正确遵循已制定的计划、标准和规程给开发人员和管理层提供反映产品和过程质量的信息和数据,提高项目透明度,同时辅助软件工程取得高质量的软件产品。
软件质量保证的主要作用是给管理者提供预定义的软件过程的保证,因此SQA组织要保证如下内容的实现:选定的开发方法被采用、选定的标准和规程得到采用和遵循、进行独立的审查、偏离标准和规程的问题得到及时的反映和处理、项目定义的每个软件任务得到实际的执行。
软件质量保证的主要任务是以下三个方面:
(1)SQA审计与评审。SQA审计包括对软件工作产品、软件工具和设备的审计,评价这几项内容是否符合组织规定的标准。SQA评审的主要任务是保证软件工作组的活动与预定的软件过程一致,确保软件过程在软件产品的生产中得到遵循。
(2)SQA报告。SQA人员应记录工作的结果,并写入到报告之中,发布给相关的人员。
SQA报告的发布应遵循三条原则:SQA和高级管理者之间应有直接沟通的渠道;SQA报告必须发布给软件工程组,但不必发布给项目管理人员;在可能的情况下向关心软件质量的人发布SQA报告。
(3)处理不符合问题。这是SQA的一个重要的任务,SQA人员要对工作过程中发现的问题进行处理及时向有关人员及高级管理者反映。
软件质量保证是软件工程管理的重要内容,软件质量保证主要包括以下措施。
1)应用好的技术方法
质量控制活动要自始至终贯彻于开发过程中,软件开发人员应该依靠适当的技术方法和工具,形成高质量的规格说明和高质量的设计,还要选择合适的软件开发环境来进行软件开发。
2)测试软件
软件测试是质量保证的重要手段,通过测试可以发现软件中大多数潜在的错误。应当采用多种测试策略,设计高效的检测错误的测试用例进行软件测试。但是软件测试并不能保证发现所有的错误。
3进行正式的技术评审
在软件开发的每个阶段结束时,都要组织正式的技术评审。由技术人员按照规格说明和设计,对软件产品进行严格的评审、审查。多数情况下,审查能有效地发现软件中的缺陷和错误。国家标准要求开发单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来控制质量。
4标准的实施
用户可以根据需要,参照国家标准、国际标准或行业标准,制定软件工程实施的规范。一旦形成软件质量标准,就必须确保遵循它们。在进行技术审查时,应评估软件是否与所制定的标准一致。
5)控制变更
在软件开发或维护阶段,对软件的每次变动都有引入错误的危险。如修改代码可能引入潜在的错误;修改数据结构可能使软件设计与数据不相符;修改软件时文档没有准确及时地反映出来等都是维护的副作用。因而必须严格控制软件的修改和变更。控制变更是通过对变更的正式申请、评价变更的特征和控制变更的影响等直接地提高软件质量。
6)程序正确性证明
程序正确性证明的准则是证明程序能完成预定的功能。
7)记录、保存和报告软件过程信息
在软件开发过程中,要跟踪程序变动对软件质量的影响程度。记录、保存和报告软件过程信息是指为软件质量保证收集信息和传播信息。评审、检查、控制变更、测试和其他软件质量保证活动的结果必须记录、报告给开发人员,并保存为项目历史记录的一部分。
软件质量保证实施的五个步骤:
(1)目标。以用户需求和开发任务为依据,对质量需求准则、质量设计准则的质量特性设定质量目标进行评价。
(2)计划。设定适合于待开发软件的评测检查项目,一般设定20-30个。
(3)执行。在开发标准和质量评价准则的指导下,制作高质量的规格说明书和程序。
(4)检查。以计划阶段设定的质量评价准则进行评价,算出得分,以图形的形式表示出来,比较评价结果的质量得分和质量目标,确定是否合格。
(5)改进。对评价发现的问题进行改进活动,重复计划到改进的过程直到开发项目完成。