提高软件测试效率的方法探讨
摘要:有位大师曾经问我,如何快速发现软件中的BUG?在当时有限时间情况下,我只说了测试者经验、熟悉需求等几个方面,显示这样的回答没能令他满意。软件测试有无银弹?有无高效的测试方法能尽快尽多发现软件中的缺陷?本文汲取部分软件测试工作者经验并结合笔者工作经历,就提高测试效率的一些方法进行归类探讨,以期和同行共享。
关键词:软件测试,效率
前言:
软件缺陷暴露得越早,越能降低开发和维护成本。研究表明软件寿命周期中,暴露缺陷的阶段与修改缺陷产生的开发成本之间的对应关系如下图所示:
软件测试作为一项工作,提高它的效率意义重大。
怎样才能最快发现缺陷呢?我个人认为没有这样的利器,没有这样的银弹,这是个伪命题。要相信没有最好只有更好。就像刘翔你怎样让他跑的最快呢?显然只有 和别人比较时候才能分出谁最快。当他打破了世界记录又打破了自己的记录时,是在不断超越自己。软件测试也一样,随着管理和技术的进步,我们的工作效率也会 不断提高。就像成功没有秘诀,但成功一定有方法样法,软件测试工作也有他的规律和方法可寻。同时在测试的不同阶段,测试工作内容重点各不相同,需要行使不 同的测试策略。所以,要想提高测试效率或者更加高效的尽可能早的多发现缺陷,只能是各种方法或手段的联合应用,而不是只有一味良方。
工作效率又分为个人和团队效率。很多方法是在团队组员中同时使用的,这样提升了每个人的效率,团队效率自然上升,有些策略是让管理者在测试过程中去实施,最终还是由测试组员执行,因此本文不再具体细分哪些原则或方法是针对个人还是针对测试团队。
一、测试效率的度量
怎样才是高效率的测试?软件测试目的是发现BUG,并保证 BUG得以修复,降低质量风险。测试员工作的主要内容是进行软件测试,优秀的测试员发现有效缺陷数量比普通测试员一定高,这个是不争的事实。所以我们可以 简化衡量测试员在软件测试阶段的工作效率指标,那就是在一定时间内的有效BUG数量,或平均每日或每周BUG数量。当然缺陷的质量、重要紧急程度也很重 要,但我们可以通过培训,把缺陷的标准进行统一让测试员填写的缺陷更加规范。如果你的团队中任务分配均匀合理,通过 BUG数量的多少就更能准确反应各测试员工作效率。如下图,显然测试员C本月的工作效率最高。
……………………
查看全文请点击下载:http://www.51testing.com/html/76/n-212876.html
二、测试工作的七项效率原则
1、主动思考,积极行动,尽早参与项目,做好前期准备,“有备”才能“无患”;
2、一开始就牢记目标,不迷失方向,什么时间点完成某个测试项目要牢记;
3、重要的事情放在首位(但常常将紧急的事情放在首位),学会时间管理;
4、先理解人,后被人理解,测试是发现缺陷让产品更完美,而不是故意找茬;
5、寻求双赢,积极配合开发人员工作,如帮助他发现问题规律,努力赢得开发人员支持;如哪些地方可能会有问题,需要加强测试;
6、互相合作,追求 1+1>2,测试团队人员密切配合,促进测试整体进度;
7、终生学习,自我更新,不断进步。
三、效率低下人群七大习惯
1、如果你觉得以上七条效率原则很抽象枯燥,那看看效率极低人群之七大习惯吧,如你能把这七个习惯规避掉,你的工作效率效率也会大大提高。
2、缺席。当你每天都坚持写作或绘画,你就会快速的得到提高。如果你参加更多的约会,你遇到心上人的机会就会大大提高。仅仅只是更多出席就会使你的生活大大不同。而缺席却会使你毫无收获。缺席情况如:这项测试我不干;只想学习参考别人的,自己却不去总结。
3、拖拖拉拉。把一天最重要的事情先干完,把复杂的事情动手去分解,而不是像无头苍蝇一样没有头绪。
4、做一些无关紧要的事情。除了拖拖拉拉以外,你最容易陷入的不良习惯之一就是忙于一些无关紧要的事情之中。为了提高效率需要学习时间管理方法。
5、多虑。因为多虑而很少采取行动。陷于无穷的分析之中只会使你虚度光阴。虽然行动之前加以思考在一定程度上对你有所帮助,但你现在需要做的就只是停止思考,然后去做那些你应该做的事情。
……………………
查看全文请点击下载:http://www.51testing.com/html/76/n-212876.html
四、改善或提高测试效率的几种常用方法
1、注重计划,在到门口前将钥匙拿出来。
孙子兵法有云:夫未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也。良好的计划是成功的一半,所谓神机妙算,就是在事情开始前进行周密的 分析推演,这样事情才能按预想那样顺利进行。要想在测试中忙而不乱,顺利完成,我们必须制定周密的测试计划。需要怎么测试,哪些项目或内容需要测试,什么 时间进行什么测试内容,由谁去完成,做到心中有数,责任明确。
测试计划包括项目开发计划、测试工作计划,日常工作计划等内容,在开发计划中主要把握各里程碑时间点,熟悉有哪些主要任务需要完成,合理安排测 试资源,如果人力资源短缺,做到提前预防,如新员工招聘、能力提升培训等;测试工作计划是在整个产品从定义开发到上市发版过程中各阶段测试要做的工作安 排,包括但不限于项目开发计划中测试工作内容,如参与各项评审活动,进行各种培训,如业务需求培训、开发过程培训、测试规范培训等,更重要的是什么时间开 始各项功能测试,由谁去测试,并将计划下发给团队中测试人员,好做些环境准备,时间安排等。日常工作计划,一般是一周末总结上周测试内容后,对下周工作进 行具体性的安排,这样的安排更具体更高效,每个测试员会进行针对性的工作。当每个人按计划完成测试内容,测试工作才能按目标进行,而非随心所欲的无组织无 纪律进行。注意一定不要在周一才将你的计划发下去,要打有准备之仗,要在到门口前将钥匙拿出来。
除了测试管理者要做工作计划,每位测试员工也应该有自己的工作计划,哪怕是很简短几个字的工作日志安排,都比无序工作效率高,工作才不盲目被动。
2、注重测试用例和方案的编写及有效使用,不将其仅作为存档或应付检查的资料。
可将测试用例和测试方案理解为测试计划的一部分。
精心准备的测试用例和方案,一定是在消化过产品功能需求后进行的。
……