HTTP接口测试用例设计

HTTP接口自动化测试的原则

最近在做接口的自动化测试,关于如何设计接口自动化用例,有一些自己的想法,在此记录一下。

理解

测试金字塔
众所周知,测试中存在金字塔模型。测试工作也是分层的,单元/API/GUI每一层测试的重点不同,方法也不近相同。
个人觉得,即使在API测试内部,也存在分层的概念:

  1. 接口参数的测试。包括各个参数的必填/非必填、边界、错误类型、为空、为null、超长等等。
  2. 接口内部逻辑。类似于白盒或者说单元测试。根据接口的内部逻辑设计测试用例,覆盖内部各种分支,尤其是错误和异常。
  3. 业务测试,或者说功能测试。接口能够满足所提供的功能,供其他系统调用。包括正常业务场景和异常业务场景的测试。
  4. 性能。并发量、响应时间、系统资源消耗等。
  5. 安全测试。

实施

就我们项目目前的情况来看,可以从一下接方面入手:

  1. 接口参数测试。这个不依赖于需求/测试用例等外部资源,只要有接口文档就可以,因此适合最早开始。
  2. 业务测试。这个可以考虑从现有的手工测试用例直接转化来。

内部逻辑,目前测试没有参与到这个阶段,没有条件去做。
性能和安全,目前不是关注的重点,可暂时不做。

欢迎打赏!