如何选择API测试工具,看这篇就够了

本文开始逐步的降低公众号更文频率,提升文章质量,帮忙多点点文章末右下角的“好看”支持下,也可以将本文分享到朋友圈或你身边的朋友,谢谢

随着越来越多的企业开启DevOps实践、进行持续集成(CI)和持续交付(CD),对于测试的反馈要求越来越快,以往只关注UI级自动化测试,已经难以满足效率改进的需要,那如何进一步改进测试效率呢?

当我们的服务已经准备好发布时,API级的自动化测试应当立即启动验证,快速的获取到接口级业务流的测试反馈结果。

市面上有各式各样的API测试工具,但如何去选择呢?

下面我们就几个笔者以为最能帮助你的五个API测试工具进行介绍,选择其中一个或多个可以帮助更好的完成API测试工作。

REST-Assured

在使用Java时,Rest-Assured是我们实现API自动化测试的首选,下面我们看下REST-Assured介绍:

REST Assured是一个可以简化HTTP Builder顶层 基于REST服务的测试过程的Java DSL(针对某一领域,具有受限表达性的一种计算机程序设计语言)。它支持发起POST,GET,PUT,DELETE,OPTIONS,PATCH和HEAD请求,并且可以用来验证和校对这些请求的响应信息。

REST Assured提供了类似行为驱动开发(BDD)方式来创建API测试,内置了许多的功能。

官方手册:https://github.com/rest-assured/rest-assured/wiki/Usage

Postman

很多情况下,测试人员并不具备编程开发能力,对于他们而言Postman是 一个很好的选择,可以快速入手进行API测试,并且不需要担心有太大的技术学习成本的投入,如果你愿意,那么你可以基于Postman创建更多的API集成测试方案。

Postman是一个易于使用的REST客户端,你可以快速的利用它的Chrome插件开始使用,当然也可以使用其客户端版本(支持windows、linux和mac)。

官方手册:https://learning.getpostman.com/docs/postman/launching_postman/installation_and_updates/

  • 可用于自动化测试或探索性测试
  • 可以在 Mac、Windows、Linux 和 Chrome 中运行
  • 拥有不少集成工具,比如 Swagger 和 RAML 格式
  • 可以运行、测试,并拥有文档和监控功能
  • 不需要学习新的语言

SoapUI

SoapUI已经存在一段时间了,如果你的团队只进行API测试,并且主要由测试工程师而不是开发人员组成的话,那么SoapUI可能是一个最佳选择。

SoapUI是一个专门用于API测试的全功能测试工具。API不需要从头开始创建解决方案,而是一个有严格规则限制的API测试工具。

同时SoapUI为了增强自定义工作流或功能,支持直接编写Groovy,以提升SoapUI的扩展能力,从而也无缝链接java相关技术了。

如果您的团队有复杂的API测试场景,并且倾向于QA/测试工程师,那么SoapUI是一个很好的工具。

官方手册:https://www.soapui.org/soapui-projects/soapui-projects.html

  • 使用 Groovy 很容易创建自己的代码
  • 通过拖放创建测试
  • 构建复杂的场景
  • 异步测试
  • SoapUI 的 Mock Service(模拟服务) 可以让你在 Web 服务尚未实现之前先进行模拟

JMeter

尽管JMeter是为负载测试而生的,但在实践中我们依旧将它用于功能性的API测试。

JMeter包含测试API所需的所有功能,以及一些可以用于增强API测试的额外功能。

例如Jmeter可以自动处理csv文件实现API测试的参数关联,它还可以与Jenkins集成,这意味着可以在CI管道中集成API测试。

如果你期望在创建性能测试时也能利用到API测试功能,那么JMeter是你的首选。

官方手册:http://jmeter.apache.org/

Jenkins

上述已经介绍了几款常用的API测试工具,但却缺乏一个基础设施,那就是持续集成的基础,而Jenkins作为国内大家所熟知的工具,这里推荐将Jenkins作为CI/CD的基础设施,可以与上述任一工具进行集成,将你的API测试与日常的测试相结合,从而逐步构建起人工与自动化测试的协作策略,进一步改善日常测试工作。

官方地址:https://jenkins.io/

API测试工具有了,API测试集成基础设施也有了,是不是发现还少点什么呢?

对的了,还缺少一项基本的工具:抓包分析工具。

在实际工作当中,软件测试人员很多情况下获取不到API文档,或是获取到的是残缺的API文档,这个时候就需要软件测试人员自己动手抓包分析了。

就国内企业而言,笔者推荐软件测试人员根据测试需要,自己去抓包分析,形成API测试用的API文档,一是结合用户加深对API级业务的理解,二是直接提升自己的协议分析能力,下面我们推荐一款基本的抓包工具,当然你也可以根据你的需要选择其他的。

Fiddler

Fiddler是一个允许监控、操作和重用HTTP请求的工具,允许你调试网站,并且有许多特色的插件。

其中之一的APITest插件,可以帮助我们在抓包分析时,验证api的行为。

官方手册:https://www.telerik.com/fiddler

小结

没有完美的工具,只有根据你的团队需要来选择合适的工具。因为实际上几个API测试工具都可以完成我们在企业中API测试实践的需要,并且都是很好的选项,就看你的选择了。

原文发布于微信公众号 - 开源优测(DeepTest)

原文发表时间:2019-02-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券