接口测试及工具

接口测试及工具

接口(API)测试随着REST的流行有个越来越多的应用,而基于测试金字塔理论,偏底层的接口测试是投入产出最高的。

接口测试基本操作:

  • 生成符合协议格式的请求数据
  • 向指定接口发送数据并接受响应
  • 验证响应码并解析响应内容,确保符合预期数据

接口测试的用例分以下两类:

  • 单接口用例: 主要测试不同参数数据组合得到的响应符合期望值
  • 多接口业务用例 : 更偏向业务的实际应用场景,尽量提高覆盖

通常情况下,接口测试自动化实现会基于单元测试框架作为测试脚本的运行驱动, 为减少数据依赖通常会引入Mock数据. 最终部署形式通常与CI系统(Jenkins)整合.

以下为接口测试的相关工具/框架:

基础库

Java的生态相对成熟丰富, 牵涉到几个常用库:

  • rest-assured: 更友好的DSL测试语法
  • Hamcrest : 灵活的匹配表达式(matchers),新版JUnit已内置;支持多语言
  • WireMock: HTTP服务Mock工具

流行工具

Diffy : Twitter开源的回归测试工具, 通过代理的形式比较响应内容,验证新代码是否引入缺陷

扩展阅读

相关链接

其他

有些项目已不再维护,供学习参考。

  • WeTest:微博开源的基于JUnit4的轻量级接口自动化测试框架
  • zato-apitest: python实现,略显繁琐

发表评论

电子邮件地址不会被公开。 必填项已用*标注