QA活动的理解与实施 [转]
上一篇 / 下一篇 2007-03-28 15:48:17 / 个人分类:软件测试管理
/Pb"HS5VD ~0 由于CMMI模型是建立在西方的企业文化背景下,包含有三权分立的思想,所以对于国内IT及软件企业而言,如何理解和建立QA机制,更好地利用CMMI模型进行过程改进就显得非常重要。但是,目前国内IT及软件企业对于QA的意义和认识存在误区,导致在实施过程改进活动中,QA活动流于形式或没有发挥出其真正作用。到底QA在组织中应扮演什么样的角色,CMMI的QA的与ISO9000的QA或QC(Quality Control)概念有何区别,QA与测试是什么关系,如何实施QA活动,等等,本文针对这些进行阐述,以解决企业CMMI实施过程中的薄弱环节。51Testing软件测试网"I ^Cs%Nc?
2 QA的地位及活动
\"wk{!r9y&naE02.1 QA的地位51Testing软件测试网2J2b_;FR$fY.c$l
图1显示了在CMMI实施过程中QA所处的地位。51Testing软件测试网"N#wI"\_XB]+|x)J
8['h2Qm!]0 图1 QA的组织结构
k2f|_ [awJ051Testing软件测试网`bR LOf QA活动的目标是以独立审查方式,从第三方的角度监控软件开发任务的执行,就项目是否正遵循已制定的计划、标准和规程给开发人员和管理层提供反映产品和过程质量的信息和数据,提高项目透明度,同时辅助软件工程组交付高质量的软件产品。所以对过程和产品质量保证的客观评价是项目成功的关键,一般是通过独立于项目的QA小组来提供这种客观性。每个从事QA活动的人都要进行质量保证方面的培训。从事某个产品的QA活动的那些人不应该是直接介入该工作产品开发或维护的人。同时,应该有一条向适当的管理层独立报告问题的渠道,以便在必要时逐级上报不符合问题。51Testing软件测试网 u}yyYQ
不过,在某些组织里,不要求这种独立性而实现过程和产品质量保证角色可能更合适。例如,在一个具有开放的、面向质量的文化环境的组织里,可以由同行担任(部分或全部)过程和产品质量保证角色,可以把质量保证功能镶嵌在过程中。51Testing软件测试网P%V1c:I u&m(|T1A
QA应具备以下职责:
0[&X!c$S|SaS/O?0· 通过监控开发过程来保证工作产品质量
Qn(P;s7VK!c0· 保证开发出来的产品和开发过程符合相应标准与规程;
^J
C5~:]SI0· 保证产品、过程中存在的不符合问题得到处理,必要时将问题反映给高级管理者51Testing软件测试网XYbbh]
·确保项目组制定的计划、标准和规程适合项目组需要,同时满足评审需要51Testing软件测试网;?,d*s*QU @J
· 向开发人员提供反馈51Testing软件测试网8H YX/y*F"Ugo
'EcPKSv6Yt02.2 QA的活动51Testing软件测试网2D/n g2m(id
QA的工作内容为:
5z1{ ~VsS7J-?5~+q01) 客观评价过程和工作产品:对于所实施的过程和相关工作产品以及服务对适用的过程描述、标准和规程的遵循情况进行客观评价。
ff/G%G} c4w:YN02) 提供客观情况:客观地跟踪和通报不符合问题,并且确保解决它们。51Testing软件测试网0zET zkLP3q
因此,QA的活动步骤如图2所示。51Testing软件测试网)? eL8C
@
y&n
|h
c
L/N&Z
rV(iWI0 图2 QA的活动步骤
7Y
V1F X w0 由上可知,QA涉及以下活动:
2r ol
F7cN-c:s0· 对照适用的过程描述、标准和规程客观地评价所执行的过程、工作产品和服务;
'@N-]#x3Gh5Yk8cX
s
g0· 识别不符合问题,并形成文件:51Testing软件测试网 M Xh g*sK
· 向项目工作人员和管理者反馈质量保证活动情况;
)?3m EH]_lE)k0· 确保不符合问题得到处理。51Testing软件测试网Ux#Br-b ppN
%Uye#?*S!za|5T03 QA与QC、测试之间的关系51Testing软件测试网-Ll@0pR
3.1 QA和QC51Testing软件测试网t4~*\W%{x"l_
QA和QC区别在于:
\}o6][4MB4P0· QC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者;51Testing软件测试网 Z.p+][
`
· QA:评审过程和产品的质量,特别要保证过程被正确执行,通过保证过程质量来保证产品质量 。
Gx'Ht z0 由上面的区别可知,QC进行质量控制,向管理层反馈质量信息;QA则确保QC和过程实施者按照过程进行质量控制活动,按照过程将检查结果向管理层汇报。软件开发过程和的QC工作通常就是对软件工作产品的技术评审(如同行评审等)。
;g/T5`J}z^0 在这样的原则下,简单而言QA只要检查项目按照过程进行了某项活动没有,产出了某个产品没有;而QC来检查产品是否符合质量要求。51Testing软件测试网,vMyE ?8t&r_
5wKmE,K!O*O4]6b3A"{G03.2 QA与测试