七剑下天山,独领自动化测试技术

去年这时候,我应本地一家软件公司邀请,参加该公司软件测试工作改进的座谈会。这次座谈会其实是一次诊断会或咨询会,本地知名的不少专家都去了,包括几所大学有名望的教授。会议的宗旨是帮助该公司改进测试工作,进而提高软件产品的质量,而其中一个议题就是讨论如何开展自动化测试,特别是针对它们的产品,选择什么样的软件测试工具。在座谈会之前,该公司已经有了初步计划,欲投资200万元购买惠普公司Mercury系列测试工具,也就是市场上比较流行的LoadRunnerQuick Test ProfessionalQTP)等。由于该公司效益比较好,产值在亿元以上,几百万的投资不是很困难的事。不过,在座谈会上,鉴于该公司从来还没有开展过自动化测试工作,而且公司主要以面向终端用户的软件项目开发为主,虽然会慢慢形成软件产品,但用户的需求不够稳定。我建议,刚开始时,在自动化测试工具上不宜进行过大投资,如果自动化测试实施效果不好,反而比较被动。所以,可以先采用开源自动化测试工具(如SeleniumJMeter),进行为期半年的实验阶段。如果这些工具能满足企业的需求,就不需要购买商业化工具;即使不能满足需求,在团队对自动化测试有了更深的理解而且能力得到了提升之后,到时再购买商业工具也不迟。

我知道,我的建议被采纳的可能性比较小,但从那时起,我就有计划写一本自动化测试的书,介绍开源(open source)测试工具,让大家全面了解这些成熟的开源工具,将它们应用于实际测试项目之中,为企业节省大量开支。通过循序渐进的方式讲解如何开展自动化测试,并且没有自动化工具的大投入所带来的压力,测试人员借助本书和开源工具,能够轻轻松松地开展自动化测试工作。相对商业工具,开源测试工具能使我们得到更好的锻炼,使企业的特定需求得到更好的满足,为什么呢?因为开源测试工具几乎不提供培训,文档也不全,需要自己更多的摸索,经过不断摸索和实践,自己的能力自然提升较快;更重要的是,开源测试工具提供了源代码,如果某些地方不能满足企业的要求,我们可以找到相应的地方对代码进行修改,扩充其功能,使之满足新的需求。

自动化测试也是从无到有、由浅入深,逐步走向成熟。但从国内看,自动化测试还不够普及,没有得到足够的重视,正如Dion Johnson200710月在Better Software上发表文章《自动化测试成长(Test Automation Grows Up)》指出,人们往往把自动化测试当成是手工测试的附属品,就像当年把测试当成是开发的附属品一样。今天,软件开源运动(open source)蓬勃发展,测试工具可以信手拈来,其投入小,必然使自动化测试快速得到普及。借助互联网,人们也非常方便地分享经验和保持良好的沟通。这一切,都会给自动化测试带来新的发展机遇,极大地促进自动化测试的快速发展。

1998年开始提倡开源软件,开源软件在过去十年得到了蓬勃发展,从操作系统Linux、数据库MySQL、编程语言PHP、集成开发环境Eclipse到浏览器Firefox,已渗透到各个领域,并结出了丰硕的果实,得到了业界广泛认可。在软件测试领域,开源软件也不例外,从单元测试、功能测试到性能测试,从Web页面测试到数据库、多媒体、通讯等应用领域的测试,以及软件测试管理平台、缺陷跟踪系统等,都可以找到合适的开源测试工具。可以说,目前成熟的开源测试工具可以覆盖整个测试的生命周期,针对各种测试任务,我们都能找到合适的开源测试工具。21世纪软件测试发展的一个重要趋势之一,就是开源测试工具会迅速发展,得到广泛的使用,成为商业工具的有力竞争者。开源测试工具最终能和商业工具平分秋色、甚至成为其替代者。

开源软件,至今已十年有余,可谓“十年磨一剑”,忽然使我想到了“七剑下天山”清朝初年,武林高手不断被追捕,天下大乱、天山名宿晦明禅师四位高徒连同三位剑侠——七剑下天山,拯救中原,欲救天下黎民百姓,免受清軍铁蹄蹂躏。正可谓“无限深情、舍己为人甘替死,绝招雪恨、闯关破敌勇除奸”。所以,我就将本书中重点介绍的七大开源测试工具比喻为天山七剑——游龙、青干、莫问、日月、竞星、天瀑和舍神。这也是构成本书的重头戏——从第3章到第9章,共七章。

1) 莫问剑 SeleniumWeb功能测试,变化无穷、气势磅礴。第3章介绍了Selenium旗下的四大金刚——Selenium IDECoreRemore ControlGrid 及其应用,从而使我们能够有效地完成大规模的、分布式的web应用系统的自动化测试。

2) 游龙剑 AutoIT实施功能测试,灵活快速、削铁如泥。第4章在介绍了AutoIT语法特征之后,通过两个不同类型的完整实例,让我们知道如何借助AutoIT完成Windows客户端软件的自动化测试。

3) 舍神剑 JMeter的性能测试,开山辟石、无坚不摧。第5章涉及JMeter的脚本录制和开发,以及如何通过JMeter完成复杂的、分布式大规模压力测试以及数据库的性能测试。

4) 日月剑JUnit的单元测试,变化奇快、丰富多彩。第6章从持久层和Action层的测试到完整的自动化单元测试,JUnit展示了其魅力,并很容易和CVSAnt等集成起来。

5) 竞星剑EMMA覆盖率分析,出剑神速,迅雷不可目睹。在众多的覆盖率分析工具中,EMMA工具脱颖而出,第7章在介绍了覆盖率分析的意义及其常用工具之后,着重讨论了如何通过命令行和Ant集成等应用方式,完成覆盖率的收集和分析。

6) 青干剑 MantisBT管理缺陷,奇钝无比,却可抵挡天下最锋利的武器。第8章全面展示了MantisBT的安装及其使用方法,其中也融合了缺陷管理的思想和流程。

7) 天瀑剑 TestLink管理测试,无为而为,形无虚实,专一严谨。从头到尾,第9章帮助读者完整地领略软件测试需求、测试用例的管理思路,以及如何通过TestLink具体地实施测试计划、测试执行和测试结果评估等。

在介绍这些工具之前,第1章先让大家亲手完成一个简单的自动化测试,然后讲解自动化测试的作用和特点、如何引入自动化测试和如何选择合适的自动化测试工具。然后,用一章的篇幅,由浅入深地剖析自动化测试的原理,包括不同对象的识别和各种脚本技术等。

在介绍完这些工具之后,一方面通过介绍不同层次或不同方面的自动化测试框架,以设法帮助读者构建一个完整的、理想的自动化测试框架;另方面对自动化测试实施进行总结,并和读者进一步分享作者多年来所积累的自动化测试最佳实践。本书最后附有所需测试工具及其相关软件的下载地址、参考资源等

本书原附录C已移去,其参考脚本的正确地址是:

http://files.cnblogs.com/bvbook/轻轻松松自动化测试-附录.rar


七剑下天山,独领自动化测试技术_第1张图片

你可能感兴趣的:(ant,软件测试,单元测试,企业应用,loadrunner)