起步于系统工程师,迈进入测试工程师,从起初的C/S系统到互联网时代的B/S系统,从事过电信增值业务、软交换、烟草OA、公安技侦和电子商务等行业的软件测试开发和管理多年,愿与大家共同分享共同交流,关注软件项目管理、测试团队管理、软件流程控制和软件性能测试及自动化测试技术。互联网时代,技术推动进步,欢迎人才推荐:jonas.wangl@alibaba-inc.com
制定合理的软件测试流程【整理】
上一篇 /
下一篇 2008-11-04 20:41:15
/ 个人分类:软件过程管理
51Testing软件测试网F,t3yS|1[8rK!c){ 首先向大家介绍一下我理解的测试流程是什么,流程在词典上的解释是“工艺程序,从原料到制成品的各项工序安排的程序”,那测试流程就是指从软件测试开始到软件测试结束经过的一系列准备、执行、分析的过程。所以我认为测试流程并不是只存在于有完整测试团队的公司,它分布在每一个对软件执行测试的公司中,哪怕这个公司只有一个测试人员。51Testing软件测试网u!Bu#uK
~]@;r%@"Y0 软件测试想要在一个公司中从无到有进而逐步完善,也需要公司上层领导、开发人员等人从接受到理解、支持到尊重的一个过程。要想完成这个目标并不容易,需要公司外部整个软件测试行业和公司内部软件测试工作的双重影响。而整个软件测试行业实际上又是由各个公司内部的软件测试团体组成的,归根结底要让大家都接受软件测试还是要靠每个公司内部软件测试工作的影响。只有合适的测试流程才能快速的显示出测试工作的作用,才能让大家更快的接受测试工作,主动配合测试工作,进而完善测试工作,达到良性循环的作用。
#qoQk,^!t@0
K,Rm_
u%AS0 制定合理的测试流程需要考虑的因素很多,毕竟它是大家进行测试工作的依据,又需要理清和需求人员、开发人员、市场人员等多方人员的关系,而且公司不同侧重点又有所不同,所以在这里不可能面面俱到列出所有因素,只是根据自己的经验列出认为比较重要的几点。51Testing软件测试网2I:Q8PP.P
i?
51Testing软件测试网:?7h7{#SoL ~*c:Yz2t
制定测试流程首先要清楚自己所在的公司正处在什么发展阶段,是处在最初的创业期还是已经度过了创业期希望通过测试来提高产品质量,以便取得更多的业务创造更大的效益。可能有的同行会觉得奇怪,我们软件测试是做技术的只管做好本职工作,为什么制定流程时要这么重视公司的发展情况呢。其实公司的情况和制定测试流程有非常大的联系,公司的情况直接决定着公司对产品的要求,而测试部门一般来说是产品投入市场的最后一个关口,这也就等于公司的发展情况决定了公司对测试部门的要求。开发软件前要先了解软件的需求,制定测试流程前当然也要了解清楚公司对测试部门的需求。了解了公司的情况和要求后,就要根据这些要求结合制定者的测试知识和经验,制定即符合公司要求又能起到软件测试目的的软件测试流程。当然这样做并不是说让软件测试向公司的一些不利于开展软件测试工作的现实情况妥协,只是根据公司的实际情况制定一些可以马上改变公司测试工作现状的流程。
,i#?r*I6F [s4Fs4z0
x&Idn1A kX\W6jj0 一般正在创业期的公司面临的是公司生存的问题,它需要和其他公司抢市场,这时公司为了配合市场的要求不光要求软件产品的质量更要求整个项目的进度,但是对一些在软件测试过程需要的文档和产生的文档却不是特别在意。而且这样的公司开发人员往往都是测试人员8倍10倍,经常是软件代码已经快写完了,测试人员才会进入项目。这样我们在制定测试流程时就要注意软件测试工作的重点是执行测试,虽然前期的一些测试准备对以后的执行测试工作有很大的指导性作用,但前期准备工作如测试用例的写作等也会增加软件测试的时间,尤其是软件测试人员在软件已经开发出来才进入项目的时候,如果还要花大量时间去准备软件测试,更会让不了解软件测试的人误认为是软件测试拖延了整个项目的进度,让软件测试的推广工作受到更多的阻碍。这样我们就可以适当删减一些前期的准备工作,如减去用例评审工作,减少一些测试文档的写作工作,对一些测试文档的写作要求适当放宽等,更具体的就是我们可以不要求测试用例将操作步骤描述的很详细,但是要记录测试的思路可以简化为测试方案,达到对测试工作的跟踪目的就可以。但测试用例最好不要省略因为这个文档可以为以后再测试类似功能的产品做好经验的积累。51Testing软件测试网ZV+_n
P+\
51Testing软件测试网.mu`?9Ks @
如果公司已经度过最初的生存期,这时公司会对产品的质量有更高的要求并且体现到对软件开发过程的要求。而且公司从软件开发计划制定、进度跟踪、项目管理等都有了一定的经验也有了一些历史数据可以参考。这样对软件测试的一些前期准备工作也会有所考虑,并适当满足,这时软件测试流程可以加强前期测试准备工作、后期测试分析工作。具体可以要求软件测试从需求介入以便尽早了解产品,制定独立的软件测试计划并将软件测试时间纳入整个项目进度中,细化测试用例写作的力度,增加后期对缺陷分析的工作进而逐步提高整个软件测试团队的技术力量,让软件测试渗透到整个软件过程中。51Testing软件测试网bCV"@[
51Testing软件测试网e&M.`/g/}#Q3S
其实公司内软件测试一片空白或者测试流程比较完善的公司流程制定和执行相对来说都会比较容易一些,如果是一片空白你可以完全按照自己的想法去建立软件测试流程,剩下的困难只是如何去说服领导和开发配合这个流程。如果软件测试流程已经比较完善,大家对软件测试已经有了一定的支持和理解并且现阶段运行良好,你只需要在一些小节上进行一些修改,如果的确有利于工作会得到大多数人的支持。最难制定的是软件测试刚刚起步有了一些不成型的测试流程,也许不太符合你的想法也许不太适合公司的实际情况但的确在公司运行了一段时间,如果想改变不光要说服测试部门以外的人还要说服测试工作人员,增加了工作的难度,如果公司是这种情况请大家在制定软件测试流程前更要慎重考虑,详细了解公司的情况。51Testing软件测试网rMu3]
j^a/o