软件自动化测试的优点实施的注意点有哪些?

自动化测试在企业中的实施 - 测试者家园 - 博客园
随笔 - 391, 文章 - 1, 评论 - 392, 引用 - 54
自动化测试在企业中的实施
文章出处:不详 作者:钱亦嵘 发布时间:
【摘要】本文从为什么要引入自动化测试出发,深入探讨了企业实施自动化测试的流程。
【关键词】自动化测试自动化测试工具
51testing上许多期杂志都有涉及到自动化测试专题的文章,其中既有谈到自动化测试技术解决方案的文章,也有教大家如何使用自动化测试技术的文章,看了以后都使我受益非浅。
大家知道,在国内测试行业属于一个新兴行业,与国外测试行业相比,国内也只是近几年才开始重视软件测试的。之所以被关注,原因也许是多方面的,但我想最根本一点就是中国软件要发展。
中国软件这几年发展迅速,很大部分原因是借鉴了国外优秀企业的经验技术,从无到有,学习了国外企业的一整套做事的规范,的确是一种快速成长方法。当然软件测试也应该如此,从不重视到重视,更应该多学习一下如何制定测试流程,缺陷管理以及测试用例设计等优秀理念。在此笔者只想针对自动化测试在企业中的实施谈些个人意见,希望能和大家分享。
当然,自动化测试作为一项新技术,一开始往往会被一些人认为是“无所不能”的,以为一旦有了它就可以解决软件所有的质量问题。难道自动化测试就是传说中所谓的“银弹”吗?结果当然是否定的。假如在实施前没有好好的调查、做好预期准备工作就盲目开展,一旦进入推广实施阶段,往往最终会弄得无法收场的结果。下面让我们先来解决一个问题。
为什么要引入自动化测试
首先,按照笔者的观点,用自动化工具进行测试只不过是测试活动中的一种。真正要在工作中派上用场,也是因为测试工作有了人的参与,而使用工具的目的也只不过是用来减少部分手工测试,将更多人力资源投入到更有价值的工作中,决不能轻重不分。
其次,既然要跟上国际潮流,那么自动化测试技术就是将来大部分测试工程师需要必备的一项技能。这也是笔者为什么要写这篇文章的出发点,希望能帮助大家推动自动化测试在企业中的实施。当然首先要保证一点,要实施自动化测试的企业必须符合具备开展自动化测试的一些先决条件。
笔者就有这样的感受,在企业中,如果想把自动化测试技术应用到工作生产中,没有持之以恒的恒心,坚忍不拔的决心,高度的自信心,是不可能完成这个工作的。那么怎样的时机是有利于开展自动化测试的?实施过程中该注意什么?采用什么策略去避免不必要的损失,提高大家对新技术的兴趣是很有讲究的。下面笔者将一一做出解答。
企业实施自动化流程
1)至关重要的是公司的高层必须认同成立测试部门是很重要的,不是浪费公司的资源;这一点,其实很早就应该达成共识,因为像Microsoft这样的公司也说过“大多数人认为我们是一个软件开发公司,其实我们是一家软件测试公司”的话,从中可以看出测试是非常重要的。然而考虑到公司的长远发展,自动化测试将是今后的一个发展方向。由此看来,自动化测试是有必要深入开展的。
2)在公司大规模使用前,必须要有专人针对不同的自动化测试,去评估究竟该使用哪种测试工具比较好。自动化测试工具又分单元测试工具、功能自动化工具和性能自动化工具,其中又分开源的和商业工具。究竟哪种工具更适合自己公司平台的测试,还需要有专业人员进行评估。
第一、比如说公司是采用Java技术还是.NET技术开发产品的。大多数商用工具都会根据现今最流行的开发平台提供一种自动化测试的解决方案。做测试工具比较专业的有Mercury,Segue,IBM Rational,Compuware,Empirix这几家公司,根据不同测试又有相应的测试工具。
第二、如果考虑到商业软件比较昂贵,还可以考虑一下开源的测试工具。这些工具往往具有小巧,灵活多变,免费的特性,还有个好处就是它的开源。现在全世界范围已经有越来越多的人投入到开源项目中去。已经比较出名的有Apache的Jmeter,Jtest,OpenStar等等。就连全球最大的IT公司IBM现在也把目光聚焦到了这块,由IBM出资1000多万的开源项目Eclipse,在过去也许是唯一一个能和JBuilder开发环境相媲美的开源的开发环境了。但现在在此平台上有了TPTP,但我们同样可以在Eclipse上做我们的功能和性能测试
第三、也许以上工具都无法满足测试的特殊需求,那最好的方法就是自行开发测试工具;这主要集中在嵌入式系统方面。比如手机与手机之间需要做到即时、无误的发送短消息,而一般常用的工具是没有办法做到这方面测试的,那就只能考虑公司内部自己开发测试工具了。
第四、还有就是在选用工具方面,还要充分考虑到工具的可集成性、可扩展性以及平台兼容性。因为实际工作中,我们常常需要把测试流程,需求管理,缺陷管理,配置管理结合的更紧密,通过工具去统一管理。这些都是在选用工具时要考虑到的因素。
3)在全面实施之前,根据以往的经验,笔者建议最好选出几个人进行小规模的实验。这样做的好处一来可以以小见大,从几个人的反映看出自动化测试的雏形;二来可以总结不足之处,在后期的开展中尽量避免;三来,可以把实施所见的成效推广开来,为后期工作的开展做好铺垫。
笔者在企业里就有类似的经历,一个项目已经上线,以后每次发布一个补丁之前,测试人员都需要通过执行一些SIT(System Integration TestCase)测试用例来覆盖整个系统的大部分模块。而执行一遍这样的用例,至少需要花费六个测试人员一天的时间。后来在这个项目内进行了自动化测试的实验,根据SIT的测试用例转换成自动化脚本。运行一个用例脚本只需要十五分钟,而每次也只需要一个测试人员把所有脚本运行一遍就可以了,其他人就可以从中解放出来做其他工作了。像这样比较成功的例子,一定要在后期工作开展时加以宣传,要认大家认识到自动化好处,这样大家才会有积极性去学。
4)有了上面的经验,接下来该在整个部门进行自动化测试的推广了。当然适当给从业人员进行工具的使用技能以及一些相关知识培训还是有必要的。因为在工作中常常发现由于测试工程师掌握知识的差距,每个人对工具上手操作有快有慢。为了尽量给大家造成好的影响,能够更好的开展这项工作,使其能更快的应用到日常工作中去,减轻部分繁琐的重复性劳动,对测试工程师进行培训还是必不可少的。
5)正如软件生命周期有需求分析阶段一样,在录制自动化脚本之前也需要收集需求,这些需求主要是用于后期录制脚本的选取。这些需求可以根据需求人员做的需求文档,也可以选择测试人员的测试用例来转化成脚本,还可以让需求分析人员推荐几个常用的,相对简单的流程转化成脚本。总之一句话,需求就好比源头,从源头抓起才能开发出高质量的脚本。
6)做了前面一系列准备工作,已经有了一个好的开始。接下来就要求大家进行一次头脑风暴,对刚收集来的需求进行分析,设计出一个好的实现方案。这里我想强调两点:
第一、工具只能帮助测试人员去更好的进行测试,至于怎样使用才能提高工作效率,还是需要测试人员在实施前期进行更多的思考,比如思考如何把一个好的设计转化成我们后期的自动化脚本等。因为脚本是不会创造性的发现本身没有涉及到的缺陷,就好比许多测试人员编写测试用例,如果你没有把你要测试的功能点写入测试用例中,根据测试用例执行人员是不会考虑到这一点的。因此设计一个全面,详细的设计方案显得尤其重要。
第二、出于程序可复用的角度考虑,按照怎样的划分粒度,如何把脚本进行好的规划也很重要。例如:将一些使用率高的模块录制成共享脚本,使用者只需要通过一些参数进行使用,无须考虑到内部的具体实现机制。这样还可以大大减少大家的重复劳动量。
7)对工具有了一定认识以后,就到了上手操练阶段。俗话说:“拳不离手,曲不离口”。由于前期投入大量精力、人力、物力,现在正是出成果的时候。但在开发脚本之前,笔者还有几点想着重申明一下:
第一、开发脚本必须遵循一些规范化,就类似于程序员编程规范一样。我们的测试脚本就好比是我们测试人员的程序,同样要形成一个编写规范。因为养成这样的好习惯,是为了能方便维护脚本,避免增加后期的维护量和方便使用者使用;
第二、保证开发的脚本回放没有问题的基础上,适当增加出错处理来增强脚本;
第三、后期还可以在脚本中加入检查点,这样做的好处可以把原来需要人工去校验的地方让脚本去做;
第四、在脚本中增加数据驱动方法,使脚本能覆盖更多的分支路径,进一步提高脚本的集成度。因为前面已经说过了,脚本是不会执行那些没有被编写进去的功能点的,所以说后期测试人员一旦发现这个地方有必要让脚本来代替手工进行执行,就可以不断的增强我们的自动化脚本。
8)最后,切记任何工作的开展并非一朝一夕,新技术的开展将需要投入大量人力物力,而自动化测试就是我们测试工程师必须要坚持的一个长期的发展方向。为了不至于做事只做表面,建议每个测试团队中都必须要有专人去负责推动自动化工作的开展。还必须有专人负责维护脚本,规范脚本,甚至可以引入配置管理工具来统一管理脚本和把经验文档化。只有这样我们的测试财富才会从中不断积累,只有这样自动化测试才能走得更远。
以上总结了几点,都是笔者在企业中推行自动化测试的一些心得体会。最后希望能够有更多人从自动化测试中获得快乐,从繁琐的手工测试中解脱出来。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
自动化测试实施步骤和最佳实践.doc 14页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:100 &&
自动化测试实施步骤和最佳实践.doc
你可能关注的文档:
··········
··········
自动化测试实施步骤和最佳实践一个故事: ??????我在很多软件公司工作过,公司规模有大有小,也和来自其他公司的人员交流,因此经历过或者听说过影响自动化测试效果的各种各样的的问题。本文将提供若干方法规避可能在自动化测试中出现的问题。我先给大家讲一个故事,以便各位了解自动化测试会出现哪些问题。 ??????以前,我们有一个软件项目,开发小组内所有的人都认为应该在项目中采用自动化测试。软件项目的经理是AnitaDelegate。她评估了所有可能采用的自动化测试工具,最后选择了一种,并且购买了几份拷贝。她委派一位员工——JerryOverworked负责自动化测试工作。Jerry除了负责自动化测试工作,还有其他的很多任务。他尝试使用刚刚购买的自动化测试工具。当把测试工具应用到软件产品测试中的时候,遇到了问题。这个测试工具太复杂,难于配置。他不得不给测试工具的客户支持热线打了几个电话。最后,Jerry认识到,他需要测试工具的技术支持人员到现场帮助安装测试工具,并找出其中的问题。在打过几个电话后,测试工具厂商派过来一位技术专家。技术专家到达后,找出问题所在,测试工具可以正常工作了。这还算是顺利了。但是,几个月后,他们还是没有真正实现测试自动化,Jerry拒绝继续从事这个项目的工作,他害怕自动化测试会一事无成,只是浪费时间而已。 ??????项目经理Anita把项目重新指派给KevinShorttimer,一位刚刚被雇佣来做软件测试的人员。Kevin刚刚获得计算机科学的学位,希望通过这份工作迈向更有挑战性的、值得去做的工作。Anita送Kevin参加工具培训,避免Kevin步Jerry的后尘——由于使用测试工具遇到困难而变得沮丧,导致放弃负责的项目。Kevin非常兴奋。这个项目的测试需要重复测试,有点令人讨厌,因此,他非常愿意采用自动化测试。一个主要的版本发布后,Kevin准备开始全天的自动化测试,他非常渴望得到一个机会证明自己可以写非常复杂的,有难度的代码。他建立了一个测试库,使用了一些技巧的方法,可以支持大部分的测试,这比原计划多花费了很多时间,不过,Kevin使整个测试工作开展的很顺利。他用已有的测试套测试新的产品版本,并且确实发现了bug。接下来,Kevin得到一个从事软件开发职位的机会,离开了自动化的岗位。 ??????AhmedHardluck接手Kevin的工作,从事自动化测试执行工作。他发现Kevin留下的文档不仅少,并且没有太多的价值。Ahmed花费不少时间去弄清楚已有的测试设计和研究如何开展测试执行工作。这个过程中,Ahmed经历了很多失败,并且不能确信测试执行的方法是否正确。测试执行中,执行失败后的错误的提示信息也没有太多的参考价值,他不得不更深的钻研。一些测试执行看起来仿佛永远没有结束。另外一些测试执行需要一些特定的测试环境搭建要求,他更新测试环境搭建文档,坚持不懈地工作。后来,在自动化测试执行中,它发现几个执行失败的结果,经过分析,是回归测试的软件版本中有BUG,导致测试执行失败,发现产品的BUG后,每个人都很高兴。接下来,他仔细分析测试套中的内容,希望通过优化测试套使测试变得更可靠,但是,这个工作一直没有完成,预期的优化结果也没有达到。按照计划,产品的下一个发布版本有几个主要的改动,Ahmed立刻意识到产品的改动会破坏已有的自动化测试设计。接下来,在测试产品的新版本中,绝大多数测试用例执行失败了,Ahmed对执行失败的测试研究了很长时间,然后,从其他人那里寻求帮助。经过商讨,自动化测试应该根据产品的新接口做修改,自动化测试才能运转起来。最后,大家根据新接口修改自动化测试,测试都通过了。产品发布到了市场上。接下来,用户立刻打来投诉电话,投诉软件无法工作。大家才发现自己改写了一些自动化测试脚本,导致一些错误提示信息被忽略了。虽然,实际上测试执行是失败的,但是,由于改写脚本时的一个编程错误导致失败的测试执行结果被忽略了。这个产品终于失败了。 ????这是我的故事。或许您曾经亲身经历了故事当中某些情节。不过,我希望你没有这样的相似结局。本文将给出一些建议,避免出现这样的结局。   问题   这个故事阐明了几个使自动化测试项目陷入困境的原因:   1.自动化测试时间不充足:根据项目计划的安排,测试人员往往被安排利用自己的个人时间或者项目后期介入自动化测试。这使得自动化测试无法得到充分的时间,无法得到真正的关注。   2.缺乏清晰的目标:有很多好的理由去开展自动化测试工作,诸如自动化测试可以节省时间,使测试更加简单,提高测试的覆盖率,可以让测试人员保持更好的测试主动性。但是,自动化测试不可能同时满足上述的目标。不同的人员对自动化测试有不同的希望,这些希望应该提出来,否则很可能面对的是失望。   3.缺乏经验
正在加载中,请稍后...君,已阅读到文档的结尾了呢~~
自动化测试实施步骤和最佳实践
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
自动化测试实施步骤和最佳实践
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口【图文】自动化测试_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
自动化测试
大小:863.02KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢}

我要回帖

更多关于 自动化测试的有点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信