原文链接:http://blog.csdn.net/KerryZhu/archive/2009/07/19/4361837.aspx

去年 这 时候,我应本地一家软件公司邀请,参加该公司软件测试工作改进的座谈会。这次座谈会其实是一次诊断会或咨询会,本地知名的不少专家都去了,包括几所大学有 名望的教授。会议的宗旨是帮助该公司改进测试工作,进而提高软件产品的质量,而其中一个议题就是讨论如何开展自动化测试,特别是针对它们的产品,选择什么 样的软件测试工具。在座谈会之前,该公司已经有了初步计划,欲投资 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 章先让大家亲手完成一个简单的自动化测试,然后讲解自动化测试的作用和特点、如何引入自动化测试和如何选择合适的自动化测试工具。然后,用一章的篇幅,由浅入深地剖析自动化测试的原理,包括不同对象的识别和各种脚本技术等。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 计算机组成原理微代码的修改,计算机组成原理实验七脱机方式下微代码装入与执行实验.doc...

    文档介绍: 计算机组成原理--实验七--脱机方式下微代码装入与执行实验--------------------------------作者:------------------------------ ...

  10. 海量吞吐的实时NoSQL—HBase的七剑和20151111圣战(数据脱敏版)

    2015年11月11日,作为媒体大屏(dataV).消费记录.支付宝风控.物流详情.库存对账核心数据库的集团HBase,当天稳定运行,顺利完成了任务.并交出了非常漂亮的几项数据: QPS=1993W, ...

最新文章

  1. Yarn已过时!Kubeflow实现机器学习调度平台才是未来
  2. Webbrowers控件的小技巧
  3. C#中判断空字符串的3种方法性能分析
  4. ViewPager实现页面切换
  5. 利刃 MVVMLight 1:MVVMLight介绍以及在项目中的使用
  6. jdbctemplate mysql 配置_Spring Boot 初级入门教程(十四) —— 配置 MySQL 数据库和使用 JdbcTemplate 测试...
  7. 深入Pthread(五):线程属性
  8. 财务有必要学python吗-财务人要学Python吗?
  9. qt 隐藏控制台_带可选GUI的Qt控制台应用程序
  10. vscode代码编辑框控件_vscode编辑器的使用及插件
  11. 安装,激活(不更新升级)Navicat premium12.0.24(12.0.18)
  12. html美化select样式,CSS美化select下拉框
  13. 转子系统动力学模型matlab程序代码
  14. 少儿编程学习(顺序结构)
  15. matlab海图栅格化_matlab栅格化图片代码
  16. Tc27x的MTCR与MFCR指令
  17. 计算机中pdf怎么预览,如何在浏览器中开启PDF时默认显示Adobe Reader XI工具栏
  18. 视频APP源码,支持第三方支付,卡密充值,
  19. 【mcuclub】超声波测距模块HC-SR04
  20. np.corrcoef返回值含有nan

热门文章

  1. 第4版 网页设计与制作 HTML5+CSS3+JavaScript(赵丰年 编著)学习笔记
  2. 落花人独立,微雨燕双飞——晏几道《临江仙》
  3. java 微分方程求解_解微分方程
  4. vue.js中created()与activated()的个人使用理解
  5. python整数反转
  6. 调用自定义模块出现ModuleNotFoundError: No module named ‘XXX‘的解决方案
  7. 有一个3x4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号.
  8. cnavas手绘图形库 : rough.js
  9. 【巷子】---flux---【react】
  10. 产品读书.心理学《梦的解析》