软件测试技术指南
上QQ阅读APP看书,第一时间看更新

2.4 软件质量活动

在项目中,保证软件质量的主要活动有两个方面,一方面是软件质量保证(SQA),是从流程方面来保证质量;另一方面是测试,是从技术方面来保证质量。本节主要介绍SQA。

2.4.1 SQA由来

质量保证(Quality Assurance简称QA)主要是保证审计过程的质量。S是Software即软件,所以SQA就是软件质量保证(Software Quality Assurance),它是为项目建立一套可行的、标准的、规范的方法,能够被项目组所认可和采用。

2.4.2 SQA工作职责

SQA的主要职责有促使项目过程的改进、指导项目的实施、参与项目的评审活动、对工作产品的审核、协助问题的解决以及进行缺陷的预防工作。

1.促使项目过程的改进

应建立一套规范的过程来保障制度体系。当然规范自身也必须不断地得到改进,才能保证它的正确性和有效性。虽然过程规范在发布前都必须经过评审,但是不代表只要通过评审就能发现所有的问题,还须经过实践的检验才行。正如常说的没有最好只有更好,所以过程的改进也是永无止境的。

在实际项目中,SQA需要参与项目的活动,即熟悉项目又熟悉过程体系。这样才可以更好地发现问题并及时改进。如果一个项目的过程完善了,它会更好地促进项目工作的开展,这就是一个良性循环。

2.指导项目的实施

SQA对项目具有督促的作用,但是仅仅督促是远远不够的,还需要在项目组的过程上实施指导。虽然在项目过程实施前,项目组成员会接受相应的培训,但是工作的顺利开展并不是光靠理论就可以解决问题的,很多具体的做法需要在实践中才能真正理解并应用;而且每个项目组成员在接受培训的程度也不同,对过程的理解可能存在一些偏差。所以需要SQA人员在项目实施过程中应给予解答和指导,将这些规范真正地贯彻下去。

3.参与项目的评审活动

评审项目活动是SQA的核心工作之一,也是软件质量保证的一个重要手段。评审项目活动的目的是为了检查项目的活动是否符合企业制定的规范,及早发现可能存在的问题,并通报给相关人员以便及时纠正。

通常SQA在评审活动中不关注评审的对象,也不会从技术角度提出问题,它只关心评审流程的规范性。

4.对工作产品审核

评审完成后,SQA需要对评审的工作产品进行审核,这也是SQA的核心工作之一。在项目组整个开发过程中会产生大量的工作产品,如需求文档,计划文档,设计文档,代码,用户文档等。SQA需要从审核单个的工作产品开始来保证最终产品的质量。在审核产品时,需要做到独立、客观、公正,它关注的重点是工作产品的规范性、符合性、一致性、可追溯性等方面。

5.协助问题的解决

SQA无论是在评审项目活动还是审核工作产品,都是为了发现问题并尽早地解决。一般在项目组内讨论问题,寻找问题的原因并及时解决。如果项目组内不能解决,则SQA会上报上级领导寻求更高一级的支持。在报告问题时应做到规范、严谨、准确,并且要跟踪这些问题直到他们被妥当地解决为止。

6.缺陷的预防工作

在提供质量的同时还需要降低企业成本,所以必须进行缺陷的预防工作。消除产生缺陷和问题的根本原因并且防止将来缺陷和问题再次发生,以此来优化项目及企业的规范过程。缺陷的预防不是简单的发现和纠正,防患于未然才真正有效。

通常的做法是在项目研发周期的每个阶段实施缺陷的预防,采集问题和相关的数据进行分析,吸取其他项目或本项目前期的经验教训,并使缺陷预防成为一种机制,最终实现保障质量的目标。

2.4.3 软件度量

软件度量在软件工程领域是非常活跃的,它是对软件开发项目、过程及其产品进行量化的表示,通过对数据的定义、收集以及分析进行持续性定量测量的过程。

它的目的在于提高软件生产率,缩短产品研发周期,降低和维护研发成本,同时提高软件产品质量和用户满意度。

目前很多企业的软件开发处于失控状态(研发成本和维护成本超支、生产率低下、以及质量不高等问题),之所以失控就是因为没有度量,简单地说就是“没有描述就没有过程,没有度量就没有质量”。

1.软件度量方法

软件度量的过程,概括地说就是五步法,即识别目标→定义度量过程→数据收集→数据分析与反馈→过程改进。

(1)识别目标

根据不同要求,分析出度量的工作目标,并根据其优先级和可行性得到度量活动的工作目标列表,然后由管理者审核批准。例如:提高生产率或质量、降低成本、提高计划准确性等。

(2)定义度量过程

根据度量目标定义度量过程,如定义收集活动和分析活动所需数据,定义数据收集活动的方法、角色,定义数据的分析方法和分析报告的反馈形式。

(3)数据收集

收集项目中数据,对数据进行质量检查,从而生成初步的数据统计。

(4)数据分析与反馈

按照定义的分析方法对初步统计的数据进行数据分析,找到可能影响质量、进度等属性的原因及可能的改进方法,最终生成分析报告并对项目组进行反馈。

(5)过程改进

根据分析报告做出决策,对项目、过程进行改进。

2.基本度量项

规模:软件工作产品的大小,如文档的页数、代码行数等。

工作量:完成软件工作产品和活动所用人时(或人天等)。

进度:完成各项工作产品和活动的开始和结束时间。

质量:在各项工作产品和活动中产生的缺陷数。

根据以上的基本度量项可以分析得到项目的度量指标,见表2-2。

表2-2 度量指标