本文首发于微信公众号: 【软测小生】欢迎关注,有很多资料哦
推荐几个测试值得关注的技术公众号:【点击这里查看测试公众号】
接上一篇文章: API测试工具Top10你都用过吗?
对更快地交付高质量软件或 “Quality at Speed” 的需求要求组织在敏捷、持续集成 (CI) 和 DevOps 方法中搜索解决方案。测试自动化是这些方面的重要组成部分。最新的世界质量报告 2018-2019 表明,测试自动化是实现 “Quality at Speed” 的最大瓶颈,因为它是成功实施敏捷和DevOps的推动者。
如果没有好的工具,测试自动化就无法实现; 因为它们决定了自动化的执行方式以及自动化的好处是否可以实现。测试自动化工具是 DevOps 工具链中的重要组成部分。应用人工智能和机器学习 (AI/ML) 为测试优化、智能测试生成、执行和报告提供高级功能的当前测试自动化趋势有所增加。了解哪些工具最适合利用这些趋势是值得的。
以下是被认为最能解决未来几年自动化挑战的顶级测试自动化工具。此列表中包含的工具是从以下标准中选择的:
- 支持 API 和服务测试
- 提供一些 AI/ML 和分析功能
- 流行和成熟
1. Selenium
在测试自动化方面,Selenium是家喻户晓的。它被认为是 Web 应用程序用户界面自动化测试的行业标准。根据对测试自动化挑战的调查,几乎90%的测试人员正在或曾经在他们的项目中使用Selenium。
对于在编程和脚本编写方面有经验和技能的开发人员和测试人员来说,Selenium 提供了许多其他测试自动化工具和框架中看不到的灵活性。用户可写测试脚本的很多型动物的语言 (如 Java 、Groovy、Python、 C#、 PHP,Ruby,Perl) 可以在多个系统环境(Windows、Mac、Linux)和浏览器(Chrome、Firefox、IE和无头浏览器)上运行。
Selenium最近在 2019年4月发布了它的第一个 alpha 版本的Selenium。Selenium 4 正式版的发布还没有确定; 但是你可以期待它的发布会带来许多改进和丰富的功能。
为了有效地使用Selenium,用户必须具备高级编程技能,并且需要花费大量时间来构建自动化所需的自动化框架和库。这是Selenium的一个主要缺点,它在像Katlon Studio这样的集成工具中得到解决。
网站: http://www.seleniumhq.org/
许可证: Open-source
2. Katalon Studio
Katalon Studio 是一个功能强大、全面的自动化解决方案,用于测试 API 、 Web 和移动应用程序。它为这些类型的测试提供了丰富的功能集,并支持包括 Windows 、 macOS 和 Linux 在内的多种平台。
利用Selenium和Appium引擎,Katalon Studio为那些在集成和部署不同框架和库以使用Selenium和Appium时遇到困难的测试人员,以及那些已经熟悉这些引擎的测试人员,提供了一个独特的集成环境。
Katalon Studio 被评为 2019年3月 Gartner Peer Insights 客户对软件测试自动化的选择,获得了 450 多条好评,这再次表明该工具现在是市场上最大的参与者之一。
该工具的亮点包括:
- API / Web 服务、 Web 和移动应用程序(APP)测试自动化的完整功能集合。
- 支持 API 和服务测试的 SOA协议P 和 RESTful规范
- 用于创建测试用例的数百个内置关键字
- 支持 BDD Cucumber对测试场景的自然语言
- 可用于自动化测试和探索性测试
- 测试功能可以通过 Katlon Store 上的插件扩展,可以深入查看关于 Katlon 分析的报告
许可证: Free
3. UFT
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
许可证: From $3,200 per year(每年 3,200 美元)。
4. TestComplete
TestComplete因其强大而全面的Web、移动和桌面应用程序测试功能而继续在今年的榜单中。测试人员可以使用JavaScript、VBScript、Python或c++脚本来编写测试脚本。
与UFT类似,TestComplete也有一个对象识别引擎,可以准确地检测动态用户界面元素。此引擎在具有动态且经常更改用户界面的应用程序中特别有用。
最新的TestComplete 14.0版本包括与Jenkins的本地集成,以加速CI/CD管道,支持web测试组件(如Shadow DOM和自定义元素),以及支持所有最新的浏览器版本和移动平台。
测试人员可以很容易地使用TestComplete的记录和回放功能,比如Katalon Studio。他们可以在测试步骤中插入检查点来验证结果。TestComplete作为SmartBear的一个产品,可以很容易地与SmartBear提供的其他产品集成。
网站: https://smartbear.com/product/testcomplete/overview/
许可证: From $2,399 per user per year(每年2399 美元)。
5. SoapUI
SoapUI不是用于Web或移动应用程序测试的测试自动化工具;但是它可以作为测试API和服务的工具。它是专门为API测试而设计的无头功能测试工具。
SoapUI同时支持REST和SOAP服务。API自动化测试人员可以使用开源或专业版本。pro edition具有用户友好的界面和一些高级功能,如断言向导、表单编辑器和SQL查询生成器。SoapUI是SmartBear提供的ReadyAPI套件工具。
该工具为API测试提供了相当全面的功能集,具有许多高级功能,包括:
- 使用拖放、点击可以轻松生成测试
- 使用来自文件和数据库的数据进行强大的数据驱动测试
- 异步测试
- 可以轻松重用脚本
- 使用RESTful mock创建模拟服务
此外,SoapUI最近将SoapUI Pro的API Explorer特性引入了开源版本,允许开发人员和测试人员立即调试API的响应。
许可证: SoapUI被打包并发布在两个版本中,开源版和专业版。后者起价为每年659美元。
请注意,SoapUI 和 Postman 只是这个列表中几个顶级 API 测试工具的两个代表。要了解更多关于这些工具之间的比较,请参考这篇文章。
6. IBM Rational Functional Tester (RFT)
IBM Rational Functional Tester是一个测试自动化工具,用于测试使用不同的语言和技术(如Web、. net、Java、Visual Basic、Siebel、SAP、PowerBuilder、Adobe Flex和Dojo Toolkit)开发的应用程序。它也是一个功能测试和回归测试的数据驱动测试平台。
IBM Rational Functional Tester是一个测试自动化工具,用于测试使用不同的语言和技术(如Web、.net、Java、Visual Basic、Siebel、SAP、PowerBuilder、Adobe Flex和Dojo Toolkit)开发的应用程序。它也是一个功能测试和回归测试的数据驱动测试平台
网站: https://en.wikipedia.org/wiki/Rational_Functional_Tester
许可证: 商业
7. Tricentis Tosca
有一些持续的测试平台提供了全面的工具集来支持大多数(如果不是全部的话)测试活动,从测试设计和测试自动化到测试报告和分析。Tricentis Tosca是其中之一。
该工具具有许多特性,例如仪表板、分析、集成和分布式执行,以支持持续集成和DevOps实践。此外,它还提供了友好的用户界面和丰富的功能集,用于设计、实现、执行、管理和优化API测试。
该工具的其他一些亮点:
- 可以轻松地集成到 DevOps 流程的关键部分
- API测试可以跨浏览器、移动设备和平台执行
- 支持多种协议和标准,包括HTTP(s) JMS、AMQP、Rabbit MQ、TIBCO EMS、SOAP、REST和IBM MQ
- 一套良好的测试报告和分析能力
Tricentis声称显著减少回归测试(从几周到几分钟)。然而,这种说法需要测试团队仔细验证。
网站: https://www.tricentis.com/
许可证: 商业
8. Ranorex
Ranorex已经存在多年,为Web、移动、桌面和API测试提供了一套全面和专业的特性。利用其在基于桌面的测试自动化方面的经验,Ranorex具有高级的UI元素识别、编辑和管理功能。
与Katalon Studio一样,Ranorex通过友好直观的GUI、记录/回放和脚本生成,使测试人员能够轻松地进行自动化测试。
测试人员可以将 Ranorex 与 Selenium Grid 集成,以支持分布式测试和并行测试执行。
许可证: 附加费用为 690 欧元,高级许可证为 2,290 欧元。
9. Postman
Postman是另一个为API测试而设计的自动化工具。用户可以将此工具作为浏览器扩展或桌面应用程序安装在Mac、Linux和Windows上。它不仅在API测试自动化测试人员中流行,而且在使用该工具开发和测试API的开发人员中也很流行。实际上,它是一个开发和测试api的开发环境。
工具的一些亮点:
- 用于设计、调试、测试、记录和发布api的全面特性集
- 友好和易于使用的用户界面
- 支持自动化和探索性测试
- 接受Swagger和RAML API格式
- 请求和返回信息可以打包并与团队成员共享
网站: https://www.getpostman.com/
许可证: 商业
10. Apache JMeter
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和服务测试也是未来应该进一步发展的趋势。