质量管理的思考
上一篇 / 下一篇 2008-12-18 11:28:26 / 个人分类:原创,严禁转载
(ggg(f^h_%WV;q0本文出自kuailederen的51Testing软件测试博客,严禁转载。
p(h8JU#Y s.F[Q051Testing软件测试网3Z [O%W[/Y产品部:负责需求采集,需求说明说编写,后期的需求变更。
_I6YolN0:hdg,WF e0 研发部:负责需求的具体实现,测试阶段负责对测试的支持和缺陷的修改。51Testing软件测试网 a5r7m e k9SkUf
:]9B M)g\ }7CSY H"b0 测试部:负责产品上线前的测试工作。51Testing软件测试网der_*URt*u
51Testing软件测试网 Mgt ZN0i iB+~每个部门在整个软件过程都肩负着不通的责任分工,但每个部门之间又形成了一个相互依存,相互促进的关系。就拿需求来说吧,需求真是反映了客户的需要,需求又是研发部技术实现的唯一标准,要求100%按照需求来实现代码,并且不多也不少;需求是测试人员设计测试用例时唯一正确的预期结果,一切与需求不符的都视为缺陷。相反,研发人员和测试人员作为产品的第一用户,又对需求起着诊断的作用,不断的发现不合理的需求或者是新增需求,并提出需求变更。51Testing软件测试网 n7kTVC6O"N
51Testing软件测试网&I0w'Q{$H同时,产品部还有跟踪测试进度,监督测试质量的职责,那么这些都怎么来保证有效的实施? 有什么样的标准去衡量质量?怎样跟踪进度?怎样来对需求做出科学合理的管理呢?51Testing软件测试网kf t-};HFh'o0Y;t2S
.Z9OW6h w5{0 CMMI,大家所熟悉的名字,正是一些大公司在解决这些具体问题时所总结的经验,并形成了具体的管理过程,制定了有效的流程和标准,然后才得到世界的认可并成为一种标准。51Testing软件测试网2ZOH8{ T&n#_
51Testing软件测试网+Z%r6ek6a&f说这些的目的是,公司应该根据自己具体的情况来实施质量管理的整个过程,谁又能说我们的这套标准若干年后不能成为电信增值行业的标准呢?毕竟质量管理方面现在大家都处在探索阶段。我想这正是中国大部分软件企业所缺少的,不注重对理论知识的探索和知识产权的追求。(说的有点大,哈)51Testing软件测试网/K Ci#hZ$a}
51Testing软件测试网W&}'~,G$dV)l简而言之,目前我们所说的狭义的质量管理是刨去市场运营,单纯的就整个开发过程(指的是产品上线前的阶段,这里并没有忽视产品维护,而是分而谈之)而言,工作所围绕的中心是项目的整体进度和质量,也就是说怎么样在最短的时间内,把高质量的产品开发出来,然后投入市场。这样就存在两个矛盾,一个是时间上的,想把产品尽早的投入市场而缩短开发的周期;另一个矛盾是不断的担心质量问题的出现,因为产品上线后发现问题,去解决所需要花费的成本是成倍的增加。51Testing软件测试网d'ZqOmb0_{H y
3mL }?2TAo6Jgt,}0 我一直在思考,质量管理的过程可不可以以成本为导向?使各部门都以此为目标去参加质量管理。其实无论以质量为导向,还是以成本为导向,我们的最终目标都是一样的-----缩短开发周期,提高软件质量。就像教育孩子,爸爸告诉儿子说,期末考试不及格我打你屁股,而妈妈告诉儿子说,期末考试都几个了,我带你去公园玩。那个方法更有效呢,答案不言而明了。以成本为导向的软件管理,正是这种让管理者去主动的思考如何利用质量管理降低成本,而不是单纯的去承受质量管理所带来的压力。
#jB,Trb ~&L#f051Testing软件测试网]5u.z_}xE下面我简单的就如何在保证软件质量的过程中,各部门所应该起到的作用说一下个人观点。51Testing软件测试网gl*Ar+e%C c
$y)i/e.D k0 产品部:负责需求采集,需求说明说编写,后期的需求变更。另外还负责对整个项目进度的跟踪,及质量的监督。
)Syc6t.B ~y051Testing软件测试网9Qs/f8@ ?1H@可以说,产品部在整个软件过程起着非常重要的作用。首先,产品部是最了解客户需求的人员,也是主动去采集客户需求的人员。如果产品部对客户的需求非常明确,就能写出非常详细且需求明确的需求说明书,一份这样的说明书,将对研发部和测试部有着极大的帮助。51Testing软件测试网'c n_0ua#k gr4l.I
51Testing软件测试网zAt&yimM&Rs/n据统计,有80%的缺陷直接来自需求,包括采集需求阶段对需求不了解,了解不全面,或者主观的判断错客户的需求;包括由于需求说明书不详细,不明确,导致开发人员对需求的理解有偏差或者错误,开发出不适合客户需要的功能;包括测试人员无法从需求说明书中获得正确的测试需求,以至于失去衡量功能点是否正确的标准。51Testing软件测试网,ZqR;j3e
51Testing软件测试网4b cm8Fpf eCMM其次,客户的需求并不需要客户直接提出来,而有很多的隐含需求是需要我们产品人员去主动发掘的。比如网站产品的个人管理界面,客户没有提出美观大方的要求,但我们也要给他们这种美感,并且给予充分的提示信息,让客户轻松方便的进行配置管理;再比如,客户没有提出对通话清晰度的要求,但我们要在满足客户通话最低质量标准上,不断的提高通话质量,这些就是客户没有提出,但我们应该知道这正是客户需要的隐含需求。
].AL+Lax@${051Testing软件测试网|IfQ%v)d$Q第三,产品部还负责线上问题的采集。包括线上发现的缺陷,客户提出的新需求等。线上缺陷可以归位到我们的缺陷库,防止以后测试时遗漏。客户新需要为我们产品的升级提供参考价值。这些都需要慢慢的积累,是一笔宝贵的财富。51Testing软件测试网/pXb^VVSt
51Testing软件测试网%mTmoE具体实施的建议:
]JB#k3z{ VIp9P051Testing软件测试网)F? a3xL^!`● 制定符合公司的需求采集流程。公司个人产品,公司企业产品还有国际产品,用户群体的不通而获取需求的渠道就不通。51Testing软件测试网W wskS3o2N4i4`
51Testing软件测试网X"x`$o'Ey0jj● 制动标准的需求说明书模板。51Testing软件测试网$G~Kb;g
!Q PS0v`?3V2I0 ● 产品部对需求说明书初稿的评审,确认需求正确,明确。(保证需求说明书中的需求是客户真是的需要)
#\%e_F/x H.K1`0-WY6`oH@._?A0 ● 需求说明书移交研发部和测试部,并主动帮助研发人员和测试人员正确的理解需求。(保证向研发人员和测试人员准确转达了客户的需要)51Testing软件测试网^z1m1M;x5R'm
5af$@5q"wrn D.\1X l0as0 ● 对项目进度的跟踪,对项目质量的控制。
bDIO&{.E4C051Testing软件测试网C@X,kK● 对需求变更的管理51Testing软件测试网g(k\`+A3R&EuG._
51Testing软件测试网pj1Q R:PC(n建议适当的时候启用需求管理工具,对需求的管理,对需求变更的管理将十分的清晰。
t-X{!\b JQ051Testing软件测试网&d;q*G}'M]BPup研发部:前期负责具体需求的技术实现,测试阶段负责对测试人员的支持,缺陷的修改。
j](LSa051Testing软件测试网d;P/Y P?Tx/sDhvS简单的说,只要对需求理解充分,代码实现就容易很多。 我只说些对质量管理和对测试部门比较重要的部分。
#}mJq ?0C,s9u051Testing软件测试网5xan"jT P-} \1. 规范的开发流程,生成概要设计文档,详细设计文档及其他技术性文档,还包括产品安装卸载手册,配置手册,用户使用手册等。其中面向客户的文档也是需要经过测试部门测试的。
1x]xU c[0C+GC QGU{'F~ ]0 2. 开发阶段的测试工作。由开发人员执行单元测试,集成测试等,保证移交到测试部门的产品符合测试启动标准(测试启动标准由测试部门制定)51Testing软件测试网(qR]'W%}%oDu
*V4_8tjg&\n m0 3. 严格的需求管理与版本管理。如果开发人员觉得某个需求应该改动,必须与产品部沟通,严格走需求变更流程,不允许私自更改需求。 版本管理,没有经过测试的产品不私自线上部署。
,ZP$s,k5B~Nb0E"_O7ww0 建议有一名专门的配置管理,版本管理人员。
/NZ;A(e,L3x pBx051Testing软件测试网;R9^E\j)o!B$C3hL$S测试部门:执行产品上线前的测试工作,保证产品达到上线标准方可通过测试。
9t#` P#W+tkS{U0/f4U\0{9Ct3F0 一个优秀的测试团队至少应该包括以下三个方面:51Testing软件测试网K/P|0@v}gY
51Testing软件测试网^x}vuc Sb1. 合理的测试技能搭配。51Testing软件测试网 F7_/V5q8BU B
c*C,CseX @.a0 一个测试团队并不都需要经验丰富,技术过硬的“全才”,有一个梯度是最好的选择。