对更快交付高质量软件(或“快速质量”)的需求要求组织以敏捷,持续集成(CI)和DevOps方法论来寻找解决方案。测试自动化是这些方面的重要组成部分。最新的《 2018-2019年世界质量报告》表明,测试自动化是实现“快速质量”的最大瓶颈,因为它是成功采用敏捷和DevOps的推动力。
没有好的工具就无法实现测试自动化。因为它们决定了如何执行自动化以及是否可以实现自动化的好处。测试自动化工具是DevOps工具链中的关键组件。在应用人工智能和机器学习(AI / ML)来提供用于测试优化,智能测试生成,执行和报告的高级功能方面,当前的测试自动化趋势已经增长。有必要了解哪种工具最适合利用这些趋势。

这些顶级的自动化测试工具被认为可以最好地解决未来几年自动化领域的挑战。从以下条件中选择此列表中包括的工具:

  • 支持API和服务测试
  • 提供一些AI / ML和分析功能
  • 知名度和成熟度

1.png

1/ Selenium

2.png

Selenium是测试自动化的家喻户晓的名字。它被认为是Web应用程序用户界面自动化测试的行业标准。根据“测试自动化挑战调查”显示,十分之九的测试人员中有九位正在或曾经使用过Selenium。

对于具有编程和脚本编写经验和技能的开发人员和测试人员,Selenium提供了许多其他测试自动化工具和框架所不具备的灵活性。用户可以使用多种语言(例如Java,Groovy,Python,C#,PHP,Ruby和Perl)编写测试脚本,这些脚本可以在多种系统环境(Windows,Mac,Linux)和浏览器(Chrome,Firefox,IE和无头浏览器)。

Selenium最近于2019年4月发布了其第一个Alpha版本的Selenium。Selenium4正式版本的发布尚未确定;目前,Selenium 4正式发布。但是您可以期望该版本将具有许多改进和丰富的功能。

为了有效地使用Selenium,用户必须具备高级编程技能,并且需要花费大量时间来构建自动化所需的自动化框架和库。这是Selenium的主要缺点,可以通过Katalon Studio等集成工具解决。

网址:http://www.seleniumhq.org/
许可证:开源

2/ Katalon Studio

3.png

Katalon Studio是功能强大且全面的自动化解决方案,用于测试API,Web和移动应用程序。它具有针对这些类型的测试的丰富功能集,并支持包括Windows,macOS和Linux在内的多个平台。

利用Selenium和Appium引擎,Katalon Studio为那些难以集成和部署使用Selenium和Appium的不同框架和库的测试人员以及已经熟悉这些引擎的测试人员提供了独特的集成环境。

Katalon Studio被Gartner授予2019年3月软件测试自动化Peer Insights客户选择奖,获得了450多项正面评价,这再次表明该工具现在是市场上最大的参与者之一。
该工具的重点包括:

  • API / Web服务,Web和移动应用程序的测试自动化的完整功能集
  • 同时支持SOAP和RESTful的API和服务测试
  • 数百个用于创建测试用例的内置关键字
  • 支持BDD Cucumber以自然语言表达测试场景
  • 可用于自动化和探索性测试
  • 可以通过Katalon Store上的插件来扩展测试功能Katalon Analytics上的报告的深入视图

网站:https://www.katalon.com/
许可证:免费

3/ UFT

4.png

UFT是测试桌面,Web和移动应用程序的流行商业工具。它已扩展为包括一组用于API测试的功能。通过为被测目标应用程序(AUT)支持多种平台,UFT提供了一种方便的选择来测试可在台式机,Web和移动设备上运行的AUT。

UFT为智能对象检测,基于图像的对象检测和校正提供了几种高级功能。在2019年5月,Microfocus已发布具有新功能和增强功能的最新版UFT(v14.52)

该工具支持API测试的一些要点:

  • 直观的用户界面,用于创建,执行和报告API测试
  • 支持从WADL文档生成API测试
  • 测试的动作,活动和参数可以在图表中可视化

网站:https://software.microfocus.com/fr-ca/software/uft
许可证:每年$ 3,200起。

4/ TestComplete

5.png

TestComplete凭借其强大,全面的Web,移动和桌面应用程序测试功能,继续名列榜首。测试人员可以使用JavaScript,VBScript,Python或C ++ Script编写测试脚本。

与UFT一样,TestComplete具有对象识别引擎,可以准确地检测动态用户界面元素。该引擎在具有动态且经常更改的用户界面的应用程序中特别有用。

最新的TestComplete版本14.0包括与Jenkins的本机集成,以加速CI / CD流程,对Web测试组件(如Shadow DOM和自定义元素)的支持,以及对所有最新浏览器版本和移动平台的支持。

测试人员可以轻松地使用TestComplete的记录和回放功能,例如Katalon Studio。他们可以将检查点插入测试步骤以验证结果。作为SmartBear的产品,TestComplete可以轻松地与SmartBear提供的其他产品集成。

网站:https://smartbear.com/product/testcomplete/overview/
许可:每位用户每年2399美元起

5/ SoapUI

6.png

SoapUI不是用于Web或移动应用程序测试的测试自动化工具;但它可以成为测试API和服务的首选工具。它是专门为API测试而设计的无头功能测试工具。

SoapUI支持REST和SOAP服务。API自动化测试人员可以使用开源版本或专业版。专业版具有友好的用户界面和一些高级功能,例如断言向导,表单编辑器和SQL查询生成器。SoapUI是SmartBear提供的ReadyAPI套件的工具。

该工具为API测试提供了非常全面的功能集,其中包含许多高级功能,其中包括:

  • 拖放,点击即可轻松生成测试
  • 使用文件和数据库中的数据进行强大的数据驱动测试
  • 异步测试
  • 脚本可以轻松重用
  • 使用RESTful模拟创建模拟服务

此外,SoapUI最近将SoapUI Pro的API Explorer功能引入了开源版本,从而使开发人员和测试人员可以立即调试其API的响应。

网站:https://www.soapui.org/
许可证:SoapUI打包和分发为两个版本,开源和Pro。后者的起价为每年659美元。

请注意,SoapUI和Postman仅是此列表中几个顶级API测试工具的两个代表。要了解有关这些工具之间比较的更多信息,请参阅这篇文章

6/ IBM Rational Functional Tester(RFT)

7.png

IBM Rational Functional Tester是一个测试自动化工具,旨在测试使用不同语言和技术开发的应用程序,例如Web,.Net,Java,Visual Basic,Siebel,SAP,PowerBuilder,Adobe Flex和Dojo Toolkit。它也是用于功能和回归测试的数据驱动测试平台。

RFT提供了一个称为“故事板测试”的功能,该功能可以使用自然语言和应用程序屏幕截图来可视化和编辑测试。RFT的ScriptAssure功能使测试人员能够生成可适应AUT用户界面变化的测试脚本。RFT还可以与其他IBM应用程序生命周期管理工具集成,例如IBM Rational Team Concert和Rational Quality Manager。

网站:https://en.wikipedia.org/wiki/Rational_Functional_Tester
许可:商业

7/ Tricentis Tosca

8.png

有一些连续的测试平台可提供全面的工具集,以支持大多数(如果不是全部)测试活动,范围从测试设计和测试自动化到测试报告和分析。Tricentis Tosca是其中之一。

该工具具有许多功能,例如仪表板,分析,集成和分布式执行,以支持持续集成和DevOps实践。此外,它提供了友好的用户界面和丰富的功能集,可用于设计,实施,执行,管理,优化API测试。

该工具的其他一些亮点:

  • 可以轻松集成成为DevOps流程的关键部分
  • 可以在浏览器,移动设备和平台上执行API测试
  • 启用了多种协议和标准,包括HTTP JMS,AMQP,Rabbit MQ,TIBCO EMS,SOAP,REST和IBM MQ
  • 一套很好的测试报告和分析功能

Tricentis声称将大大减少回归测试(在数周至数分钟的时间内)。但是,此声明需要由测试团队仔细验证。

网站:https://www.tricentis.com/
许可:商业

8/ Ranorex

9.png

已经存在很多年了,Ranorex为Web,移动,桌面和API测试提供了一套全面而专业的功能。凭借其在基于桌面的测试自动化中的经验,Ranorex具有用于UI元素识别,编辑和管理的高级功能。

与Katalon Studio一样,Ranorex友好而直观的GUI,记录/回放和脚本生成功能使测试人员可以轻松进行自动化测试。
测试人员可以将Ranorex与Selenium Grid集成在一起,以实现分布式测试以及并行测试执行。

网站:https://www.ranorex.com/
许可:附加组件为690欧元,高级许可为2290欧元起

9/ POSTMan

10.png

postman是另一个专为API测试而设计的自动化工具。用户可以将此工具安装为Mac,Linux,Windows上的浏览器扩展程序或桌面应用程序。它不仅在用于API测试自动化的测试人员中流行,而且在使用该工具开发和测试API的开发人员中也很流行。实际上,它是用于开发和测试API的开发环境。
该工具的一些亮点:

  • 用于设计,调试,测试,记录和发布API的综合功能集
  • 友好且易于使用的用户界面
  • 支持自动化和探索性测试
  • 接受Swagger和RAML API格式
  • 请求和应答者可以打包并与团队成员共享

网站:https://www.getpostman.com/
许可:商业

10/ Apache JMeter

11.png

JMeter是设计用于测试负载和性能测量的开源工具-JMeter的两个功能是众所周知的。但是,该工具现在也用于API和服务测试,尤其是API性能。JMeter是第三种最受欢迎​​的测试自动化工具,在“ 测试自动化挑战”调查中,有25%的受访者引用了JMeter的观点。
该工具的重点包括:

  • 轻巧,具有简单易用的用户界面
  • 测试结果可以重播
  • 支持CSV文件来设置API参数的值
  • 支持与CI工具(例如Jenkins)集成。JMeter通常用作CI和DevOps工具链的一部分

网站:https://jmeter.apache.org/
许可证:开源

结语

此处列出的顶级工具并不详尽。但它代表了成熟,流行的最佳工具,并提供了使用AI / ML的功能来解决组织在交付“快速质量”时面临的挑战。此列表还包括仅支持API和服务测试对于成功进行敏捷和DevOps转换至关重要。
您选择的测试工具不仅应满足您当前的需求,而且还应关注潜在的趋势和改进。一个体面的工具应支持基本优化,测试用例和数据生成的自动化,更智能的解决方案以及分析。
随着增长的机会,将引入更多的工具;即使组织中的测试自动化水平较低,也只有14%到18%之间(WQR报告)。此外,看到现有和即将推出的工具如何应用AI / ML来应对未来的挑战将是令人兴奋的。API和服务测试也是一种趋势,将来应该会得到进一步的发展。

参考文献