怎么做API功能测试
  API功能测试的主要手段是使用工具/软件调用待测API,然后验证是否返回期望的output。这个output通常可能是:
  * 返回成功或者失败的status
  * 是一段数据或者information
  * 或者是跳转到其他API
  工具
  市面上常见的API测试工具我知道的可以分成几大类:
  1、开源纯代码类,比如基于nodeJS的supertest,基于Java的rest-assured等,这类工具易于学习,易于和CI集成,但是需要使用者有一定的编码能力。
  2、商用工具,比如SoapUI,功能强大操作简单,还提供免费社区办可以试用。
  3、各类插件工具,比如Chrome插件Postman,也有收费版可以玩儿。
  工具的选择见仁见智,根据不同的环境选择不同的工具。
  测试
  在正式开始测试之前,你得先搞清楚几个问题:
  · 待测API的目的是什么,谁是使用者
  · 待测API会在什么环境下使用
  · 待测API在异常环境下会不会有非期望响应
  · 这个测试需要测什么功能点
  · 各个功能点的测试优先级
  · 如何定义期望返回的结果是成功还是失败
  · 待测API会不会和其他系统有交互(修改代码后影响其他系统)
  这些问题会影响到你的测试结果是否符合客户需求,或者说这些潜在的风险会影响到这个项目是否成功。
  如果你选的是必须得自己写点儿代码的工具,那么接下来得根据选择的工具和项目代码,去setup测试环境,让工具能够成功跑起来。
  接着是设计你的测试框架,好是要满足可复用性强,高内聚低内聚什么的原则,记得要有输出测试报告的模块。
  然后是用例,上面你已经想好了需要测哪些功能点,针对这些点我们用脑图之类的工具把需要测试的场景记录下来。
  后是脚本设计和测试数据设计,脚本和数据好可以分开,这样的话可以复用测试脚本,用不同的测试数据输入去获取不同的期望结果。
  验证的过程大致包含下面这些:
  1、检查API是不是根据你输入的数据返回期望的结果
  2、验证API是不是不返回结果或者返回异常结果
  3、验证API是不是正确触发其他event或者正确调了其他API
  4、验证API是不是正确更新了数据等等
  完了是输出测试报告了,好的测试报告可以帮助你轻松定位到出错的地方,使修复流程更加顺畅。
  后的后,强烈推荐把测试集成到CI中去,加速异常反馈,创建墙有力的质量体系。