质量保证(QA)是干什么的?

上一篇 / 下一篇  2012-08-20 09:19:26 / 个人分类:QA

51Testing软件测试网7j(Rb-I H(wv?

  从事软件质量保证工作已有几个年头,经常有朋友问起软件质量保证到底是干什么的?每次总回答就是辅导和监督项目开发按照公司研发过程执行的,仔细想想实际并没有这么简单,为了让更多朋友了解质量保证这个岗位,在此结合这几年的工作经验进行如下总结,若有不对的地方欢迎大家指正与交流,谢谢!

|]$u9b;w$fa6g0

0d ne|C ]8T$w0  1、什么是质量保证?51Testing软件测试网jH6~R On

51Testing软件测试网heB-Kd6mo,x_

  在CMMI中,质量保证的英文全称是Process and Product Quality Assurance,即过程与产品质量保证。一般大家更习惯叫质量保证或QA,它的目的是为员工和管理层提供过程和相关工作产品的客观洞察。之所以说它客观是因为:

$|jArIxF4nf$jb0

;_(s-q(]k"?0  1)质量保证人员是一个独立于项目组之外的第三方审计人员,不能是直接参与开发、测试项目管理的人(当然实际也有例外,有些公司QA可能是兼职的);51Testing软件测试网E8Ck k lS;V

tK%aR9o f0  2)质量保证人员不受监督对象部门的绩效评价;

Y F`8g'IOF't1cz051Testing软件测试网[ u dn ^:{

  3)质量保证人员具有独立的问题汇报渠道(可以跨级上报——QA很重要的特权)。

B:kg PUL0

)`(U#Qv:`0Yzn9@0  2、软件质量保证工作内容?

/lqP Nh/Fz0

+w{X_mzL0]e&m)P0  一般设有软件质量保证岗位的公司都有一套依据自己公司实际研发现状制定的完整研发过程体系,所有的软件质量保证人员入职一家新公司,首先需要做的事情就是学习和深刻了解该公司研发过程体系,否则后续工作是无法开展的。

(\"Z+@zM1Rt6S H%B'g0

"_ {3["]#Ov u.T6i-|0  一般软件质量保证工作内容主要分三大块:

Qk|%Y\g/k q,mE051Testing软件测试网-w3|H!\Q#\(qOE

  1)过程辅导51Testing软件测试网$PWlCk!E

l7|9p$x.?%iV0  依据研发过程体系辅导所有开发项目/版本前期及项目过程各个环节及各环节具体活动执行(含流程、方法、模板及过程中相关工具的使用)。51Testing软件测试网;V7G|^,b j

51Testing软件测试网 Ez0Wt4EL

  辅导时机:

j7{o&G;V6xB051Testing软件测试网o{K$B0Ta2JH8L

  ● 到达项目/版本计划中计划的时间点51Testing软件测试网2f+X9W*^tX4N m${]

51Testing软件测试网9]enw!M ^t6t

  ● 触发事件驱动(如:邮件)51Testing软件测试网 @o/R3I-}

51Testing软件测试网7MiE5U b:Hy

  辅导方式:51Testing软件测试网||m7m&Xq:Q

51Testing软件测试网.hX7J9uNI

  ● 口头

:[3~-mf"lm)^0

3m._ |%v n:~D}j-O0  ● 邮件

"}rT!d[_S a0

ioYP%P LJg-N0  ● 电话

!X#x lJSL3cZ0

L t.d~B5c7c]0  ● 通讯工具(如:QQ、RTX等)

aa;LMLH i051Testing软件测试网1ka iD&_JC

  ● 必要时可以开展正式的课堂培训(一般很少)51Testing软件测试网 |+eb8B_PE!O

'\!z|%d/l0  2)过程检查51Testing软件测试网b+bN Q z3c6O"o R

nwv Z;H{ Z0}h+f5F0  所有开发项目/版本开发过程中,依据当前的研发过程体系客观的对实际执行情况进行检查与评价。

p+IN J9R`b&d Z051Testing软件测试网:Mc"h7?#dZ#_

  检查的方式:

!E;[D ?QQ051Testing软件测试网l'h w:vd [/kh"j@"o

  ● 参加项目会议(评审会、周会)51Testing软件测试网h5D/z3S/c!]T

0Ka$fqEk*H,k0  ● 与各个环节人员沟通

:R0le fe k]'N051Testing软件测试网4nV$CVR{-S

  ● 触发事件驱动(如:邮件)地进行检查

3tb"@8XX1C*N.kr6h051Testing软件测试网:Nx y#~xkl m/g6T

  ● 检查工作产品

H8R YtTdV2d q0

!{~,B9u$P0  3)过程问题记录与跟踪51Testing软件测试网"VCC3k3P

UA8?Ad8n u;e3F}0  记录过程检查过程中发现的不符合项,并与相关负责人进行沟通,了解产生问题的原因,跟踪不符合项确保问题得到解决。51Testing软件测试网4T&F,g6|OSBX

51Testing软件测试网 \:Uy!_%eU&| |1L,o

  伴随上工作过程中还会有一些其他工作内容,如下:51Testing软件测试网#n\,g-~'^*w^4AX

:PK.s/k5Aem&F4Q:u%_e0  4)向项目组和管理层提供质量保证活动结果——风险预警与问题报告。51Testing软件测试网i |3iE(m

ol%] FR,t Da:g E0  预警风险、及早报告项目问题,使项目免受损失或少受损失,是质量保证的重要价值体现。

_X"|H6W#}e051Testing软件测试网t#qV}q4V2y { HsG

  有经验的质量保证人员能够基于过程中了解到的项目过程质量状况和产品质量状况,及时识别出项目过程中存在的风险和发现过程问题,并定期(一般都是一周)向项目组与管理层预警风险、报告问题。

Y yO E+q:g(XPp051Testing软件测试网 yq9@u"m S'^

  项目组必须在规定的期限内回复质量保证人员报告的问题。

S%s.}]Q9vj9k051Testing软件测试网C2v8HVt5n9wT+W

  对于无法协调一致的问题要及时升级。

(IP"a8zx5|2_051Testing软件测试网J$D7Eg%h;?Y0y#Q3^ c1D

  ● 就质量保证问题的认定双方不能达成一致。

;]A;r,C%i$n%p-F%F051Testing软件测试网go$X3J`

  ● 就质量保证问题的解决计划双方不能达成一致。51Testing软件测试网 VgX7~OC

`'j$r[{0  ● 项目组未按计划解决质量保证问题。51Testing软件测试网9kOBhg0o'n]

&q/_z$o5|4d_'V#[ ?J0  ● ……

n"o @3Bn^"I A o051Testing软件测试网m:k;Zp_ w

  管理层必须及时处理升级的问题。

x/Czk&U`9X051Testing软件测试网xF S"lUZ-u R

  ● 强制项目组解决。51Testing软件测试网'j y4RVa(L DZ

51Testing软件测试网;[*q1n*r{Me*pf

  ● 豁免。51Testing软件测试网l,qm_0E gKc*W

51Testing软件测试网&dL|x#Wn-T7OuL

  5)严重问题根因分析51Testing软件测试网yz,xl&X/r?

51Testing软件测试网/HH3]U$I8N4_bi

  质量保证人员需要定期(如每月/季度)对记录的问题进行分类与分析,对于过程中发生的严重问题或事故,必须了解问题产生的根源才能够在后续进行 规避。一般若公司有多个质量保证人员,应以部门为单位开展问题根因分析活动,必要时还可以邀请EPG小组成员一起),问题根因分析活动结束后应向相关领导 出具根因分析报告,提出当前的对策及未来建议。

`Xd0_'AM#C8J~ X051Testing软件测试网1x"vN$UDtlF m

  6)收集与反馈过程改进建议,协助过程改进51Testing软件测试网'{3^%IgIw$v"Z1pr

51Testing软件测试网"}&K[$]a7h0\v.q g0U

  一般公司EPG(过程改进小组)大都由其它岗位人员兼职的,我就职的3家公司质量保证人员都会兼EPG中的某个角色。51Testing软件测试网o{"oRu%HqLO

51Testing软件测试网&]UGJU3["s6l

  质量保证人员在项目过程中会与软件生命周期各个环节的人员打交道,有心的质量保证人员在此过程中肯定能够发现很多研发过程体系不合理或不够完善 的地方,同时项目结项时质量保证人员要进行质量保证总结,在总结过程中也可以收集到很多过程改进建议,质量保证人员要定期将收集到的过程改进建议反馈给 EPG组长,由EPG组长规划过程的改进。

7i Z0Q[$hh/?051Testing软件测试网@kq(w^5q

  7)其它51Testing软件测试网-QVA)B+a0SC

51Testing软件测试网4xO Q0Gc3o)b {;q

  其它依据各个公司具体情况而定,如:定期进行交叉检查,开展研发过程体系培训,度量项目过程,协助项目经理监控项目进展。51Testing软件测试网vLVX2@.I

51Testing软件测试网$[;mA`?P:v

  软件质量保证工作的开展是有计划有序进行的,一般项目初期(如:项目计划阶段)质量保证人员要制订质量保证计划,质量保证计划要得到项目经理、质量部门负责人的评审/审批。51Testing软件测试网KEi4I-_/Zi2LJ _I

.V7W1^7]5DZ(oi MC0  同时在实际检查过程中也是有依据的——QA检查单,一般公司研发过程体系中都会制订一份完整的QA检查单模板,各个项目要依据项目过程定义进行裁剪。51Testing软件测试网0Cf}&L7m

V'Y4H{;}e.^0  3、质量保证人员的素质和能力要求51Testing软件测试网#\r_ _ F(Z

51Testing软件测试网 oyU { dxG!y A

  软件质量保证工作涉及到软件工程的各个方面,软件质量保证人员要与不同角色的人员进行沟通,因此软件质量保证人员除了要有较高的智商和情商外,还有具备如下的素质和能力:

8},oT/OT/@n$A'l051Testing软件测试网{,o6IS"~3y hiA

  1)要有控制软件质量的能力51Testing软件测试网4lOEt:n"dS+jp

1t2p7L8d%bD`;e0  也就是说要熟练掌握公司各种流程、标准和规范,做好第三方独立审计的工作并及时发现、纠正问题。在必要时可以利用向高层领导直接汇报的权力来 “威慑”相关人员,以确保软件质量朝好的方向发展。在控制软件质量发展方向的同时要学会控制自己的情绪,因为并不是所有人员都很了解公司的研发流程、软件 质量保证的工作以及如何从根本上去提高软件质量,工作中很多时候有“秀才遇到兵,有理说不清”的感觉,这时就更加需要控制自己的言语和情绪,找到合适的方 式进行沟通,使问题最终得到解决。

8gHwal${0

G!S v[ Vm!kj0  2)对问题根源识别和归纳的能力,即透过现象看本质的能力。

~ x*BrCy%N051Testing软件测试网6z]%t&m3z5x{7l+n

  3)举一反三的能力。

b7Crs,g.H0

.JUZ!J1_0WMi0  4)很强的沟通能力。

5e-|v3b%f0

7q9X![l3w/n v0  5)要适当强势,做好灵活性与原则性间的平衡的能力51Testing软件测试网\3da9kl%T3x1U'G)m

?gM+|,o#n)v0  6)客观、对事不对人的职业素养

"MP'A9gbUf051Testing软件测试网 rV#Ig;u~ N

  4、质量保证人员的技能要求51Testing软件测试网:yL+ze*QcdR)e&L

51Testing软件测试网J/}0[$xa[9k7[S

  ● 软件工程/系统工程的理论、方法

N"v:[af.e0

O @)I3lpqG4C@ C0  ● 工作过程标准51Testing软件测试网%J`*Q8i ] \3K7f:d

51Testing软件测试网`)i:O7K1y^cn

  ● 沟通、协调技能

^ Ctf+U&ADj}2J)w'_0

#eBY(la9D0  ● 基本的管理知识和技能51Testing软件测试网T_ ~'D1yT

51Testing软件测试网,v?4y1y;AfP

  ● 项目管理的理论、方法51Testing软件测试网 k2t@r S!J7V

%]4eN!\WLd;s*r0  ● 质量保证工作的原理、方法

p G/WkeOm s I{0

$e!w1I1b%c!iMeD J0  5、软件质量保证岗位等级51Testing软件测试网(I({Z#pa2X/I'K'a2j

4E4ps1ZF2w6XBV0  1)交警(初级)

'ih.l"n:Y0

\,AxlNX0  像交警查处交通违章那样,直接向所发现的不符合项贴“罚单”即可。

GC)q+r*C1Tmdk2P,M051Testing软件测试网:?"mwt,q-~7}4d0C#Y

  2)医生(中级)51Testing软件测试网;iNo6rK

;e#H%{](s6G4\0  像医生那样对项目进行检查和诊断,发现问题并可以开出“药方”。

'D8_'C)gy0

tl#X$j6p-{)C0  3)老师(高级)

Swm%[8gE7a_R051Testing软件测试网 z,t%Jbi5^$_ @X

  像老师那样发现学生的弱项,并找到如何提高学生能力的方案,然后对学生进行辅导和培训。

:Z6n P q(nl-Z7_0

:T*nK6p4TW/b0版权声明:本文出自 mandy.wang 的51Testing软件测试博客:http://www.51testing.com/?417295

"Qu4O;R%B4Yg8Z7V0

TAG:

 

评分:0

我来说两句

Open Toolbar