1 / 30
文档名称:

自动化测试roi分析与实践.doc

格式:doc   大小:141KB   页数:30
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

自动化测试roi分析与实践.doc

上传人:pppccc8 2019/8/10 文件大小:141 KB

下载得到文件列表

自动化测试roi分析与实践.doc

文档介绍

文档介绍::..自动化测试ROI实践域的一块鸡肋。不做吧,好像手工测试重复得让人有些厌倦,而且手工测试时间也缩短不了。做吧,害怕投入的比回报要多。没实施自动化的团队有各种各样的困扰。有的说:〃项目有太多的老代码需要补充自动化测试脚本,补不起!〃有的说:“项目开发太紧张,如果同时还要自动化,等不起!〃还有的说:〃自动化测试工具太贵了!买不起!〃确实,各种各样的〃伤不起〃使得大量的组织在〃要不要自动化〃这个问题上总在了解和观望,踌躇不前。我们阅读了一些关于自动化测试ROI的文章,发现大多都是介绍各种不同的计算方法,但来自实际的数据分享比较少。所以,2011年当我们组织想推行自动化测试的时候,为了打消大家(尤其是管理层)对于自动化测试的投入和产出方面的疑虑,计算我们自己的自动化测试投资回报率ROI(ReturnonInvestment)成了我们启动时就考虑的问题。本文将分为四部分介绍我们的实践方法和结果。第一部分:业界计算自动化测试ROI的方法简言之,ROI=收益/投入。但收益如何计算,投入包括哪些,众说纷纭,并没有一个定论。在DionJohnson的"testautomationROI〃中给岀了三种计算自动化测试ROI的方法。第一种方法〃简单ROI〃着重从〃钱〃的方面去看。它考虑了工具、培训、机器等各种费用z并把测试时间的投入通过单位时间的工资转化成为钱。第二种方法〃效率ROI〃与第一种方法不同的是从测试效率的角度,只考虑了时间投入所产生的收益,而没有考虑其它如购买工具方面的投入。这个方法比较适合测试人员计算收益。第三种方法〃降低风险ROI"着重计算自动化测试与手工测试相比在降低风险方面的收益。它会假设不做某种自动化测试,相关的风险一旦成为事实所带来的损失,从而计算ROI。这个方法比较适合管理人员从整体考量自动化的收益。那么,目前我们的团队期望自动化测试能带来哪些收益,尤其是哪些收益是目前不能奢望的?我们的经理愿意提供多少资源投入自动化测试呢?带着这些问题,我们开始了自己对自动化测试ROI的走义和度量。第二部分:我们计算自动化测试ROI的方法在度量自动化测试的收益方面,角度很多。我们选择的是从〃多、快、好、省〃四个方面去看。更多鉴于我们处于自动化测试的初级阶段,我们打算暂时先不去追求〃更多〃。即我们不奢望一年之内整个项目组在一个版本里做更多的工作,因为在自动化投入初期难以提高团队的生产力。我们也不奢望测试人员马上能有更多时间去做更有价值的工作(相对于一次测试的多次重复执行)。因为测试人员通过自动化测试从测试执行上节约出来的时间需要投入到自动化工具和技能的学习上去。更快在时间维度上,我们希望能够更快地发现和修复稳定的主流程上的明显的严重缺陷。如果一个测试人员手工测试多个功能,那么测试执行的并行度总有个上限。而多个并行执行的自动化测试脚本可以更快速地验证版本,一次性地报告问题。这尤其在测试初期版本不稳定,或者是每日构建的时候有用。有时,甚至是在我们不觉得有测试必要的时候,自动化测试可以及时报告冈!I引入的问题。另一方面,更快地发现缺陷也意味着可能可以更快地修复缺陷。更好我们希望自动化测试可以帮助我们实现对〃更好〃的追求,包括质量、信心、。但这里需要强调的是〃更少的缺陷个数并不仅仅能依靠我们基于界面的自动化测试来达到〃o我们这里希望自动化测试能够帮助我们减少生产环境中某种特定类型的缺陷。这些缺陷包括环境或者配置相关的缺陷、在主流程上本来正常但因为后期修改影响到的功能、以及容易被忽略的地方(如:同一功能的多个入口、不常使用的功能)等。,我们希望借助自动化测试来提升的是对质量的信心。这主要体现在:(1)对于小版本和并行版本的质量更好地把关。小版本通常要求更快速的响应。并行版本通常要求测试人员频繁切换环境和被测对象。而人在压力下也更容易犯错。所以,我们常碰到的是匆忙中由于疏忽,一些比较重要或者明显的问题没有被及时发现。(2)对缺陷修复的质量更好地把握。根据统计,大约7%的缺陷修复会产生新的缺陷,而这些新缺陷有时会岀现在前IEI已经测试过并且不会再手工测试的地方。对于如上两种情况,重复利用自动化测试脚本可以不需要额外的投入,快速得到关于整个版本稳定性的信息和质量信心。,我们希望自动化测试可以唤起更高的工作热情。这一方面来自于可以部分地将测试人员从大量重复的测试执行中解放出来,另一方面来自于新技术、新工具带来的新鲜感。开发团队和终端用户会是自动化测试的间接受益者,因为开发团队能感到问题会更快地暴露岀来,终端用户会感到应用程序更稳定了。甚至在不远的将来,如果测试