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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

轻轻松松自动化测试电子书web试读版:试读本书 全部品种
免费下载:免费试读 第2章免费试读 第6章

七剑下天山,独领自动化测试技术相关推荐

  1. 七剑下黄山--2006年春节黄山游

    2006年春节,到黄山一带旅游记事. 1:黄山国际青年旅舍墙上留念:七剑下黄山! 2:美丽的西海 3:西海之险 4:西海日落

  2. 亮剑政企智能升级 | 华为云铸就“新七剑”

    点击上方关注我们! 2017年,中国公有云市场已是群雄逐鹿,诸方争霸.忽然斜刺里,一支"华家军"猛然杀出,其势磅礴,欲演绎后来者居上之传奇. 转眼三年,其势仍盛,且功力日渐深厚,近 ...

  3. 梨花院落溶溶月,柳絮池塘淡淡风-- 我心中的七剑与梁羽生

    梨花院落溶溶月,柳絮池塘淡淡风 我心中的梁羽生啊,就这样被徐大侠毁了 还是欣赏书中的七剑,那样传统的武侠, 那样传统的词章,那样传统的美! 曾记得当年大学时,清华水木清华BBS武侠版的Title是&q ...

  4. 告毕业生书——七剑送你下天山

    七剑送你下天山 --告大学毕业生书 杨义先 教授 北京邮电大学信息安全中心主任 灾备技术国家工程实验室主任 公共大数据国家重点实验室主任 即将毕业的同学们: 武侠练剑的最高境界是:手中无剑,剑在心中! ...

  5. 《精通QTP——自动化测试技术领航》—第1章1.6节对象库(下)之进阶编程篇

    本节书摘来自异步社区<精通QTP--自动化测试技术领航>一书中的第1章1.6节对象库(下)之进阶编程篇,作者余杰 , 赵旭斌,更多章节内容可以访问云栖社区"异步社区"公 ...

  6. 落原:意甲四豪门“七剑”比拼zz

    落原:意甲四豪门"七剑"比拼 2007年10年07日 03:02:51 作者: 落原 剑,乃兵器中的君子.游而有刃,速而极命,正如<倚天屠龙记>中所言"武林至 ...

  7. 游戏发烧型计算机配置方案,游戏多开无压力 七千元八核独显发烧游戏电脑配置推荐...

    目前我们一般用户电脑最多核心的处理器,是FX-8350八核处理器,也就是我们目前装机可以选用的最高核心的就是八核了,不过一些高科技企业用服务器电脑配置已经超高,16核心的都有,16核心CPU的电脑性能 ...

  8. 沪指突破5000点创七年新高 建筑有色板块领涨

    沪指突破5000点创七年新高 建筑有色板块领涨 随着3.28万亿打新资金的归来,沪指大幅高开突破5000点,创七年新高,盘中围绕5000点激烈争夺,有色.煤炭等二线蓝筹走势强劲.中小盘股获利回吐压力增 ...

  9. 七个合法学习【黑客】技术的网站,让你从萌新成为大佬

    前言 合法的学习网站,以下这些网站,虽说不上全方位的满足你的需求,但是大部分也都能.能带你了解到[黑客]有关的技术,视频,电子书,实践,工具,数据库等等相关学习内容.  点击免费领取:CSDN大礼包: ...

  10. 目前最主流的自动化测试技术selenium

    前言(conda基础命令) conda info --envs :查看当前所有的虚拟环境 conda list :查看当前虚拟环境安装的包 conda remove -n selenium --all ...

最新文章

  1. C++ 中类的内存布局
  2. 2.5 数据不匹配时,偏差和方差的分析-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  3. Numpy 排序 -- sort()、argsort()
  4. 云服务器与传统服务器的优势差异
  5. c51单片机蜂鸣器程序C语言响,单片机蜂鸣器响生日快乐编程程序
  6. windows 安装Rabbit MQ
  7. php wind8.5,PHPWind 8.5 正式版源码下载
  8. 常见的SQL面试题:经典50题(附详解)
  9. 数字图像处理 离散余弦变换(DCT)和峰值信噪比(PSNR)
  10. html设置模块居中,DW怎么设置DIV模块在页面中居中?
  11. ebtables日志nflog
  12. word打开html显示空白,电脑打开Word文档内容显示不全或显示空白怎么解决
  13. linux下修改tomcat默认访问主页
  14. 对北京大学红旗在线的一次友情检测
  15. onclick绑定多事件
  16. Supervisor 安装与配置
  17. 搜狗浏览器如何清除浏览器缓存--小白
  18. 2021年压力管道巡检维护考试题及压力管道巡检维护模拟试题
  19. 常见CSS(层叠样式表)介绍
  20. DNS 缓存、CDN 缓存、浏览器缓存,JVM DNS 缓存详解

热门文章

  1. 响应式网页设计学习笔记
  2. 搜索留痕软件_这款原价905台币的专业软件,请收好
  3. 多多情报通:拼多多推广账户金额可以通用吗?里面钱可以提出来吗?
  4. Verilog 按键消抖的一些分析和想法
  5. [TTF字体]提取TTF字体的轮廓(二)
  6. CTF实验吧-登陆一下好吗??【false SQL注入】
  7. [C++]牛客 WY11 星际穿越
  8. 解决Xcode报错“The certificate used to sign “xxxxxx” has either expired or has been revoked“
  9. 三线制接近开关原理及接线图
  10. 读《弗洛伊德:作家与白日梦》