作为一个质量保证(QA)人员的日常,通常是先看看质量保证计划,再结合开发计划,根据当前的软件开发进程,确定自己要进行的质量保证活动,或者查看过程输出,检查过程符合性;或者查看工作产品,检查产品符合性;又或者统计发现的问题,编制质量报告,向利益相关方通报。
日复一日,年复一年。QA的工作就是这样。软件开发完成,成功地获得了应用,这时荣誉和鲜花都给了开发人员,好像没有QA人员什么事;而当软件在应用中出了问题,又很容易想到QA的工作是怎么做的,根本没有起到质量监控的作用嘛!
为什么QA的价值没有得到体现?因为你把QA的工作做成了只看过程和产品是否合规,并没有有效地监控软件质量。
在QA的过程监督活动中,通常会发现这样的问题:
- 没有填写任务周报;
- 没有对测量数据进行分析;
- 没有跟踪利益相关方活动;
- 没有将工作产品及时纳入受控库。
如果QA只发现类似这样的问题,对软件质量有什么帮助吗?
一般来说,认为过程对质量有帮助是有假设前提的。你能确认组织定义的过程是不可或缺的吗?你能确认组织定义的过程是最佳的无可替代的吗?如果不能确认,那么过程对规范的符合性还有那么重要吗?
在QA的产品监督活动中,通常会发现这样的问题:
- 未使用新的模板;
- 页数不正确;
- 标识的版本不正确。
诸如此类的格式问题,模板符合性问题等等。这些问题对软件质量能有帮助吗?而且,QA的产品监督同样存在过程监督那样的问题:组织的技术规范是最佳的无可替代的吗?如果不能确认,那么产品对规范的符合性还有那么重要吗?
那么QA如何工作才能使自己的价值得以体现呢?
- QA应该调整自己的工作目标,由审核过程/产品的合规与否转变为监控过程/产品的质量。
- QA应当以监控质量目标为前提,制订自己的质量工作计划,建立任务的重要程度和优先级,运用合理的剪裁准则,对产品质量有重大影响的环节给予最大的投入,确保其质量有保障。
- QA应当以监控质量目标为前提,制订更关注质量更关注有效性的过程/产品的检查条目,帮助自己更好地完成质量监控活动。
QA的审核任务充满整个软件生命周期,并且在满足抽样准则的前提下,覆盖所有过程域和所有工作产品。下面以配置管理过程为例,从QA审核条目和各阶段QA应执行的审核任务两个方面,展示一下贯穿上面提到的3个原则。
表1 配置管理过程的QA审核条目
序号 | 审核条目 |
---|---|
1 | 是否按照规范要求的目录结构建立配置库,并分配访问权限? |
2 | 是否按照规范要求编写配置管理计划? |
3 | 是否执行配置审核,并且没有问题遗漏? |
4 | 是否建立配置管理报告,并及时通报? |
表2 各阶段QA的配置管理过程审核任务
阶段 | 审核任务 |
---|---|
需求分析 | 评审配置管理计划,确定配置管理审核条目 |
设计 | 审核配置管理计划的一致性 |
编码 | 审核配置管理计划和标准的一致性;审核维护用开发记录 |
集成/测试 | 审核库;审核配置管理的一致性;审核基线;评审开发记录 |
操作/维护 | 审核库;参与CCB;审核配置管理的一致性 |
参考文献:《软件过程管理》