Hi!请登陆

目前市场上六种优秀的API测试工具

2020-11-25 35 11/25


原标题:目前市场上六种优秀的API测试工具
不可否认,API测试是成功实现持续集成,并保持DeOp实践的重要组成部分。根据Google的一项趋势分析,开发人员对于Web和API服务的测试兴趣,在过去几十年中呈逐渐增长的趋势。同时,根据SmaBea在2019年对3372名软件专业人员进行的API测试调查显示,有91%的参与者目前、或将要制定正式的API测试流程。而大约有45%的API测试人员认为,他们的公司已经自动化了50%以上的测试项目。此外,有超过75%的跨行业公司认为API质量是测试中的重点。

总的说来,API测试是一个过程,它主要关注的是已开发的API是否满足安全性、可靠性、性能、以及功能性的预期值。随着API逐渐成为软件开发中的关键元素,对于程序员和开发人员来说,他们需要使用先进且合适的API测试工具。
API测试时需要考虑的要点

API的使用者或目标受众
正常运行状态下的测试
可能用到的API环境
针对异常情况的测试

为什么要执行API测试?
随着越来越多的公司转向持续部署(CD)、持续集成(CI)、以及DeOp,他们对测试反馈的要求比以往任何时候都更加迅速。同时,开发人员已逐渐从单一的应用程序,移为采用微服务技术进行软件开发。其中,API正是此类微服务软件开发的基础。因此,越来越多的团队需要借助自动化测试工具,来开展全面、及时的测试。
市面上六大API测试工具
1.KaaloSudio
KaaloSudio是一个开源、全面且健壮的测试自动化工具,可用于测试API、Web应用、桌面端、以及移动应用程序。使用KaaloSudio的主要好处是:它能够测试运行在多个操作系统(如:MacOS、Liux和Widow)上的业务级别(如:API、Web服务)和UI。KaaloSudio支持带有DELETE、PUT、POST等多种命令,以及参数化的RESTul和SOAP请求。
为了方便部署,KaaloSudio将所有插件、ALM集成和框架打入了一个包。除了免费开源,Kaalo也为企业和小型团队提供了付费的支持服务。
主要特点:

通过DELETE、PUT、GET、POST等多种命令类型,支持SOAP和RESTul请求,并具有参数化的能力。
具有结合API和用户界面验证的能力。
提供许多用于创建测试用例的内置关键字。
支持数据驱动的方法。
支持最具影响力的断言库--AeJ,可用于创建具有行为数据驱动风格的流畅断言。
可用于自动化的试探性测试。
为非技术人员、专家、以及初学者同时提供了脚本和手动模式。
提供可定制和预构建的代码模板。
具有代码的自动完成、自动格式化、以及检查功能。

缺点

不支持分布式测试。

官方网站:hp://www.kaalo.com/
2.Poma

这是一个应用程序编程接口的开发协作平台。作为最流行的API客户端之一,Poma使用户能够计划、构建、共享、分配、测试、以及记录API。最初,Poma只是GoogleChome的一个插件。如今,它对现有的Mac和Widow进行了扩展。
如果您不想编写代码的话,那么可以选择Poma进行API测试。也就是说,对于那些不想在IDE(集成开发环境)中,使用与软件开发人员类似的语言,来编写代码的初学者来说,Poma是他们进行API测试的最佳选择之一。从2020年发布的高级版本7.3开始,该工具可使用最新首选项,从API模式进行创建,进而帮助用户更好地管理各种集合和API元素(如:监视器、模拟服务器、测试和文档等)。2020年8月发布的针对Liux、Widow和Mac应用的7.31.1版,也修复了过往版本的一些细微缺陷。
主要特点:

适用于Widow、MacOS、Liux、以及Chome应用程序。
支持与Newma的持续集成和持续交付服务。
提供易用的REST客户端。
支持运行、测试、记录和监视功能。
提供丰富且易用的界面。
可用于自动化和试探性的测试。
支持RAML和Swagge格式。
用户无需学习新的语言。
允许用户便捷地汇总各种请求和可能的响应,并共享和发送给其他团队成员。

缺点

尽管其企业版易于安装和使用,但是在请求数量上有所限制。
商业版的定价过高。

官方网站:hp://www.poma.com/
3.SoapUI

SoapUI是针对REST和SOAPAPI的最佳自动化测试工具。在API测试中,它更适合于复杂的测试场景,可以让开发人员轻松地测试SOAP、REST、以及Web服务。作为一个headle功能性的测试工具,它为用户提供了一个完整的源框架。
在2020年7月份发布的5.6更新版中,SoapUI升级了第三方库--JUi、commologgig、og.apache.hpcompoe和commocodec,也删除了未使用的第三方库KeeIO和Jacko。为了提高测试的安全性,此工具目前禁用了加载,以及在默认情况下保存的各种项目脚本。
主要特点:

提供开源包。
可通过拖放和点击,来快捷地生成测试。
通过测试脚本的可重用性,来启用负载测试。
可为所有API测试创建可执行的安全扫描。
提供高级尊享套餐。
支持数据驱动测试(可从excel、数据库和文件处加载数据),进而模仿客户机与API的交互。
支持原生的异步测试,以及与CI/CD的集成。
在非项目的情况下,能够协助终端客户的资源管理器对话框,发送一个试探性的请求和检查反应。
支持扩展性的HTTP方式,其中包括PURGE、LOCK、COPY、PROPFIND和UNLOCK。

缺点

虽然执行起来比较简单,但是缺少文档。

官方网站:hp://www.oapui.og/
4.TiceiToca

如果您正在为DeOp和敏捷开发寻找一个持续的测试平台,那么TiceiToca恰好能够帮助您完成API测试。作为一种全面的自动化测试方法,它无需代码,可以使用脚本来加速测试。TiceiToca可以覆盖包括移动应用、Web应用、桌面应用以及API在内的多种应用程序。目前,该工具被Gae誉为自动化测试领域的领先者。
主要特点:

支持DeOp和敏捷周期。
支持诸如SOAP、HTTP()JMS、RabbiMQ、REST、TIBCOEMS、AMQP、ecp、以及IBMMQ等各种协议。
通过基于模型的自动化测试,最大限度地提高可维护性和可重用性。
API测试可以横跨打包应用、浏览器、移动设备。
可实现持续性的自动化测试。
可缩短回归测试的时间。
其交互式测试可运行各种手动测试,并在无需设置Toca环境的状态下,收集结果。
支持API连接管理器中的Web服务安全配置。
用户可以使用签名安全替代方案,对消息的多个部分进行签名。
QA工程师可以在API引擎中连接一个文件,从而实现有效的文件读写。

缺点

其开箱即用的功能有时并不尽人意。

官方网站:hp://www.icei.com/owae-eig-ool/
5.JMee

作为一个自由软件工具,JMee工作在协议层,且支持跨平台,因此它既可以执行性能和负载测试,又可以凭借着其附加功能与特性,被广泛地用于功能性API测试。开发人员可以将JMee用作测试JDBC数据库连接的单元级测试工具,并基于其插件架构生成测试数据。此外,它的协助命令行模式,对于那些兼容Jaa的操作系统来说,非常实用。JMee于2019年11月发布了最新的5.2版。它不但包含JMESPah提取器、新协议、HTTPSample、SigoFile、JDBC增强等新特性,也修复了一些显著的缺陷,并且给用户带来更佳的体验。
主要特点:

允许用户使用多种编程语言。
支持测试结果的重放。
支持团队通过CSV文件,为API测试快速创建异常的数据(或参数值)。
通过与Jeki的整合,用户可以在CI管道中启用API测试。
可用于动态和静态资源的性能测试。
可以对许多不同应用、协议、以及服务器开展性能和负载的测试。
既支持每个线程的cookie,又支持各种变量断言和参数化。

缺点

虽然鼓励用户实施较重的负载,但是在可视化测试报告方面却比较浪费内存。

官方网站:hp://jmee.apache.og/dowload_jmee.cgi
6.Re-Aued
由于重点针对的是Jaa领域的语言,因此Re-Aued能够让那些针对HTTP的REST服务测试变得更加简单。它通过REST-Aued-API来支持JSON和XML方式的请求与响应。由于这款免费且开源的工具集成了多种基于Jaa的自动化框架,因此您根本不需成为HTTP方面的专家。
同时,REST-Aued通过提供一种类似于BDD(behaio-diedeelopme,行为驱动开发)的准确域语言(domai-pecielaguage),使得在Jaa中生成API测试变得非常容易。而且,用户可以直接使用其大量内置的功能,而不需从头开始编写代码。REST-Aued至少需要Jaa8、ApacheJohzo的额外帮助、以及初始的OSGi支持,来修复各种测试中可能发现的问题。
主要特点:
支持任何一种HTTP方法,以及各种命令,其中包括:DELETE、PUT、POST、GET、OPTIONS、HEAD、PATCH、以及各种head、参数、正文和cookie等声明与验证。

用户既不需要从头开始编写代码,又不必精通HTTP。
能够与Seeiy自动化测试框架相整合。
能够产生精美的报告。
能够与持续集成/持续交付工具相整合。
支持BDD的The、Whe、Gie等语法。

缺点

仅支持Jaa编程语言

官方网站:hp://e-aued.io/
小结
上述所罗列的六种API测试工具,只是当前众多可用工具中最常用的一些。鉴于各个企业需求的不同,以及团队手头项目的差异性,您需要在仔细了解工具细节的基础上,选用最适合自己业务的一款工具。

相关推荐