如今,API日渐成为应用程序开发的核心。无可厚非,API测试是成功实现持续集成,并保持DevOps实践的重要组成部分。数据显示开发人员对于Web和API服务的测试兴趣,在过去几十年中呈逐渐增长的趋势。
API测试是一个过程,它主要关注的是已开发的API是否满足安全性、可靠性、性能等等。在产品上线前,通过API测试可以提高软件质量,降低重大安全风险。伴随更多的公司转向持续部署(CD)、持续集成(CI)、以及DevOps,他们对测试反馈的要求比以往更加高速。所以越来越多的团队需要通过自动化测试工具,来开展全面、及时的测试。以下推荐几款好用的API测试工具。
1、Apache JMeter
这是一个进行负载测试和衡量性能的优秀工具。起初它是为了测试Web应用程序而设计的,现在已有其他测试功能。你可以使用它来测试 SOAP,REST,FTP,数据库,LDAP,TCP等等,也可以进行持续集成。它还有一些其他功能,比如能够负载测试许多不同的应用程序/服务器/协议类型,随时可以呈现完整的动态 HTML 报告,从常见的响应格式中提取数据。
2.Katalon Studio
Katalon Studio是一个开源、全面的测试自动化工具,可用于测试API、Web应用、桌面端、以及移动应用程序。它能够测试运行在多个操作系统(如:Mac OS、Linux和Windows)上的业务级别(如:API、Web服务)和UI。除了免费开源,也有为了企业提供付费的支持服务。它支持数据驱动的方法,具有结合API和用户界面验证的能力。还支持很具影响力的断言库--AssertJ,可以创建具有行为数据驱动风格的流畅断言。同时提供了脚本和手动模式,可定制和预构建的代码模板。
2.Postman
这是一个应用程序编程接口的开发协作平台。虽然它的企业版易于安装和使用,但是在请求数量上有所限制并且商业版定价过高。
如果你不想编写代码的话,那么可以选择它进行API测试。对于那些不想在集成开发环境中,使用与软件开发人员类似的语言,来编写代码的初学者来说,Postman进行API测试的好选择之一。它适用于很多系统,支持与Newman的持续集成和持续交付服务。还有丰富易用的界面,运行、测试、记录和监视功能。你无需学习新的语言就能使用它。
3.SoapU
SoapUI是针对REST和SOAP API的优秀自动化测试工具。虽然执行起来比较简单,但是缺少文档。在API测试中,它更适合于复杂的测试场景,可以让开发人员轻松地测试SOAP、REST、以及Web服务。它为用户提供了一个完整的源框架,提供开源包。可以快捷地生成测试并且为所有API测试创建可执行的安全扫描。支持数据驱动测试,进而模仿客户机与API的交互。
4.Tricentis Tosca
假如你需要为DevOps和敏捷开发找一个持续的测试平台,那Tricentis Tosca正好符合你的需求。它是一种全面的自动化测试方法,无需代码,用脚本来加速测试。它可以覆盖包括移动应用、Web应用、桌面应用以及API在内的多种应用程序。它是自动化测试领域的佼佼者。主要支持DevOps和敏捷周期,以及如SOAP、HTTP(s)JMS、Rabbit MQ、REST、等各种协议。经过基于模型的自动化测试,很大限度地提高可维护性和可重用性。
API测试可以横跨打包应用、浏览器、移动设备。可以缩短回归测试的时间。交互式测试可以运行手动测试,在无需设置Tosca环境的状态下收集结果。
最后
上述这些工具只是众多可用工具中常用的几款。当然了没有最好的工具,只有更好的,鉴于各个企业需求不同,以及各种差异性,你也可以自己去发现一些更适合自己的工具。