随着自动化测试的发展,市场上涌现了多款自动化测试工具。其中,绝大部分是商业收费的工具,也有部分是开源工具。但是相对于收费的自动化测试工具,开源工具的功能与使用领域都要逊色很多。好多公司由于本身测试工作的需求,又研发了适合本公司使用的自动化测试工具。目前自动化测试领域中,自动化测试软件可谓百花齐放。

测试工具按其功能特性不同,可划分为功能测试工具、性能测试工具、测试管理工具等,下面给出适用于不同方面的自动化测试工具。

1. 功能测试工具

QuickTest Professional、WebInject …

2.性能测试工具

LoadRunner、MS WAS、 Rational Robot 、DBMonster…

3. 测试管理工具

Quality Center 、Rational TestManager 、BugZilla …

4. 其他测试工具

Junit、Rational Purify 、Rational PureCoverage …

本节从自主、开源、商业三个方面分别介绍自动化测试工具软件。

1.1自主开发测试工具

自动化测试工具种类繁多,但是其高额的购买费用,让人望而生畏。另一方面,自动化测试工具并不是万能的,并不能满足特殊行业,特殊业务功能特性的需要。因此,部分公司为了节省开支,根据本身测试工作的需要,自主研发了自动化测试工具。

一般自主研发的测试工具,更倾向于满足公司业务需求,往往都有很强的针对性。自主研发的测试工具都留有接口,具有自主性,容易与本公司使用的其他管理工具衔接,具有很大的灵活性。同时,自主研发的测试工具,在交互界面上,可以根据不同的项目定制不同的交互界面,大大增强了其易用性。

1.2 开源测试工具

不仅仅开源测试工具,其它开源软件往往受到很多使用者的追捧。开源测试工具带来的优势非常明显,其受欢迎的理由也显而易见:

1. License费用:如果公司测试工具使用的并发数仅仅是1至2个,也许还无法体现开源工具的优势,而测试工具大量的并发运行,购买商业测试工具的License费用将是很可观的。

2.  灵活性:开源测试工具,一般都提供了源代码及开发接口。从而大大提高了使用者对测试工具的二次开发能力,这不仅有利于本身测试项目与测试工具的结合,而且也给开源测试工具的不断壮大,注入了新鲜血液。

在测试工作中,开源测试工具确实能给企业带来收益, 即便仅仅使用开源测试管理工具(如:Bugfree)搭建公司内部的测试管理平台,也能从中获益。而且,随着时间的推移,众多的开发者对工具的不断完善与维护,其必将具有更好的前景。

开源测试工具并非没有缺点,同商业测试工具相比,开源测试工具在用户交互性、可靠性及易用性方面,做的尚不太理想。因此,如要在测试项目组中引入开源测试工具,对测试工程师来讲,无论是专业知识素质还是解决问题的能力,都是有一定的要求的。

常用的开源测试工具如下:

1. 功能测试工具

  • Selenium;

  • Watir;

  • Linux Test Project;

  • WebInject、MaxQ……

2.性能测试工具

  • Apache Jmeter;

  • DBMonster;

  • OpenSTA、TPTEST、Web Application Load Simulator……

3. 测试管理工具

  • TestLink;

  • Bugfree;

  • Bugzilla、TestLink、mantis……

1.3 商业测试工具

商业测试工具很多,一般都具有庞大的功能;在界面易用性、交互性上考虑全面;上手容易,易被大家接受。当然,购买费用也很昂贵。同时,也应该看到,商业测试工具同样具有其他软件工具的特性,如,其大部分功能或者其高级应用功能,对于一般用户来说,却很少使用到,也就是经常提及到的80/20原理(即测试工具的20%功能经常被应用,而80%的很少使用)。

测试工具的工作原理基本相同。对测试部门来讲,既然决定了采用商业测试工具,则接下来面临的是需要选择一款适合测试工作需要的测试工具。值得提醒的是,在选择测试工具时,需优先考虑商业测试工具本身的功能,验证其是否满足测试项目组的测试需求,如,对被测程序控件的识别能力、对象的被保存形式等。

优秀的商业测试工具应至少具备如下特点:1)录制过程生成的测试脚本,应具有很好的层次性与易读性,利于测试工程师进行修改;2)当脚本回放时,应准确、快速、稳定。

下面列举几款商业测试工具:

1. 开源测试工具––功能测试工具

  • WinRunner;

  • QuickTest Professional;

  • Rational Functional Tester……

2.开源测试工具––性能测试工具

  • LoadRunner;

  • Rational Robot;

  • Compuware QALoad 、Rational Performance Tester……

3.开源测试工具––测试管理工具

  • TestDirector;

  • Quality Center……

1.4 自动化测试工具的选择

无论选择开源测试工具,购买商业测试工具,抑或自主研发,每一款工具都有其自身的优点。如何在众多的测试工具中,挑选适合自己公司使用的一款工具呢?决策前一定要花费较充足的时间进行调研,选择适合公司需要的测试工具。在此,建议从以下几个方面进行考虑。

1. 对象识别

自动化测试工具的工作原理基本上为录制/回放。因此录制的效果,直接决定了脚本回放的结果。这里,需考虑:

  1. 录制是否能正确地识别对象;

  2. 回放中是否正确地识别对象;

  3. 是否支持捕获一些低层操作,如右击等;

  4. 录制生成的脚本是否易于理解与维护。

2. 数据维护

测试工作中,通过不同数据的组合变换,即可实现不同的测试场景。自动化录制过程中生成的脚本,后续测试中会重复的使用。在脚本的重复使用过程中,数据的变化也非常频繁。一款好的自动化测试工具,应该很好的兼顾到数据的维护。这里,需考虑:

  • 能够实现数据的外部存储;

  • 能与外部文件(如记事本、Excel、数据库等)进行数据的交互操作。

3. 错误修复能力

测试脚本回放过程中,并非都按期望的结果成功回放。回放过程中可能会遇到软件本身、被测系统、操作系统等其他问题,而导致脚本不能成功回放。好的测试工具,应具备能够识别该类错误问题,并从该类错误中自动恢复的功能。该类问题常见的场景:

  • 回放过程中被测程序崩溃;

  • 回放过程中意外错误信息的弹出;

  • 其他外部错误信息。

4. 脚本语言可扩展性

测试工作中,测试工具的GUI功能可能易学易用,但也有很大的局限性。单单使用GUI功能大大约束了测试工具功能的发挥,优秀的测试工具如要淋漓尽致的发挥其功能,需脚本加以辅助。大部分测试工具都提供脚本语言,而且测试工具可将录制过程转化为脚本语言,使用户能够灵活的操作脚本语言。因此,脚本语言的灵活性与熟悉程度,也一定程度上决定了工具的应用范围与推广程度。好的测试工具使用的脚本语言必然为大家所熟悉,而且内置提供了很多必要的函数、方法、类等,当然用户也可以灵活的定义类、函数、方法等。这样不仅提高了工具的应用范围,也给公司省去了不少培训费用。

5. 费用

价格是大部分公司购买测试工具的一个关键性因素,不同的测试工具价格上差异也较大,一般价格的差异也会体现在功能的差异上。购买测试工具除了考虑单纯的购买费用外,还需要考虑到后续的技术支持费用,以及额外购买并发Lisence的费用。因此,应该总体考虑,不要仅仅只看购买工具时所花费费用。

6. 兼容性

兼容性体现在两个方面:测试工具对硬件平台及与其他第三方软件的兼容性;测试工具对被测软件使用开发语言的兼容性,如部分测试工具不支持Oracle等。

本文转自hblxp32151CTO博客,原文链接:

http://blog.51cto.com/starpoint/1255379

,如需转载请自行联系原作者

自动化测试工具的选择相关推荐

  1. 如何选择合适的自动化测试工具?

    自动化测试是高质量软件交付领域中最重要的实践之一.在今天的敏捷开发方法中,几乎任一软件开发过程都需要在开发阶段的某个时候进行自动化测试,以加速回归测试的工作.自动化测试工具可以帮助测试人员以及整个团队 ...

  2. postman在线测试_如何选择适合自己的自动化测试工具?

    对于没有代码功底的测试人员来说,Postman和Jmeter以及RobotFramework算是"半"自动化测试工具.所谓的半就是介于功能测试和测试开发中间的阶段. 作为一个经验较 ...

  3. 如何选择接口自动化测试工具

    当你准备给自己所负责的项目搭建接口自动化测试时,面对市面上多种多样的工具或者框架,是否遇到不知该选哪个工具的困惑?本片文章通过对时下使用广泛的接口自动化工具进行对比来介绍自动化工具或者框架选择策略,协 ...

  4. 自动化测试工具该怎样选择?

    在软件测试中基本的自动化测试主要分为两类,分别是单元测试和验收测试,这两者之间区别还是很大的. 1.单元测试:直接测试代码的逻辑,一个函数或一个模块都可以是一个单元. 2.验收测试:用脚本控制浏览器来 ...

  5. 002Web自动化测试工具选择

    目标 1.了解web自动化测试常用工具 2.熟悉Selenium的特带你 1.主流的Web自动化测试工具 1.QTP QTP是一个商业化的功能测试工具,受覅,支持Web,桌面自动化测试 2.Selen ...

  6. Web自动化测试工具选择

    目标 1. 了解Web自动化测试常用工具 2. 熟悉Selenium的特点 1. 主流的Web自动化测试工具 1. QTP QTP是一个商业化的功能测试工具,收费,支持web,桌面自动化测试. 2. ...

  7. 自动化测试工具Cucumber的简单介绍

    随着测试的发展,测试自动化越来越成为人们的关注点. 现在我们公司也在进行接口自动化的推广,在我看来接口自动化的价值就在于整体项目的回归,完成一些没法通过人力进行的测试,比如压力测试. 为了解决测试开发 ...

  8. 号外号外!自动化测试工具AutoRunner V4.2 新版本升级预告!

    自动化测试工具AutoRunner一直以来在各种技术程序的自动化测试中起着重要的作用,应广大用户的要求,产品的功能点做了升级. 本次升级的最大特点在于提升浏览器的兼容性和C/S端程序的执行效率,优化视 ...

  9. 利用Visual Studio 2005的自动化测试工具来做数据导入

    * reference link: http://www.bentan.cn/Blog/Lists/Posts/Post.aspx?ID=3 1     引言 1.1         研究目标 在我们 ...

最新文章

  1. ocjp 31-40
  2. 【机器学习】基于LightGBM算法实现数据挖掘!
  3. Dev C++ 运行后显示Failed to execute 文件夹位置: Error 0: 操作成功完成。(只需一步)
  4. 第一个PowerShell脚本——PowerShell三分钟(九)
  5. NYOJ-522 Interval
  6. 微型计算机指令系统例题,微机原理复习题(指令系统)
  7. mysql对结果限制_在查询中限制MySQL结果
  8. HPU 1002 A + B Problem II【大数】
  9. iOS 15 如何让 App 启动更快?
  10. CCF201604-1 折点计数(100分)
  11. 物联网卡封卡原因有哪些
  12. ef core mysql 生成迁移失败_EF Core 数据库迁移(Migration)
  13. 模型相关:3DMax导出FBX模型导入Unity后旋转中心不在模型中心的相关问题
  14. 使用Java实现的高精度科学计算器
  15. spring boot基于Java的电影院售票与管理系统毕业设计源码011449
  16. Echarts实现饼图+饼图中心文字显示
  17. 判断点在线段的左边还是右边 判断线段是否相交
  18. unity 动态字体 和 静态字体
  19. 技术分享 | UUID 很火但性能不佳?今天我们细聊一聊
  20. daimadaima

热门文章

  1. javascript php 区别,PHP 或者 JavaScript 这些弱类型 的|| 和 | 的区别, 附代码;
  2. android开发多线程编程,Android多线程编程
  3. 2019中南大学考研计算机考试,中南大学2019年全国硕士研究生入学考试《计算机网络》考.PDF...
  4. java的尝试性问题_Java并发编程实战 03互斥锁 解决原子性问题
  5. mysql编码是乱码_mysql中文乱码 常见编码问题解决方法分享
  6. sqap不支持python3吗_Supporting Python 3(支持python3)——欢迎来到Python 3
  7. 网络分析系统_MetagenoNets:在线宏基因组网络分析实操教程
  8. 2021春季学期-创新设计与实践-Lesson4
  9. 第十六届全国大学生智能汽车竞赛 英飞凌芯片申请情况
  10. 今天诞生了智能车竞赛华南赛区三项最好成绩