HTTP接口自动化测试的原则
最近在做接口的自动化测试,关于如何设计接口自动化用例,有一些自己的想法,在此记录一下。
理解
众所周知,测试中存在金字塔模型。测试工作也是分层的,单元/API/GUI每一层测试的重点不同,方法也不近相同。
个人觉得,即使在API测试内部,也存在分层的概念:
- 接口参数的测试。包括各个参数的必填/非必填、边界、错误类型、为空、为null、超长等等。
- 接口内部逻辑。类似于白盒或者说单元测试。根据接口的内部逻辑设计测试用例,覆盖内部各种分支,尤其是错误和异常。
- 业务测试,或者说功能测试。接口能够满足所提供的功能,供其他系统调用。包括正常业务场景和异常业务场景的测试。
- 性能。并发量、响应时间、系统资源消耗等。
- 安全测试。
实施
就我们项目目前的情况来看,可以从一下接方面入手:
- 接口参数测试。这个不依赖于需求/测试用例等外部资源,只要有接口文档就可以,因此适合最早开始。
- 业务测试。这个可以考虑从现有的手工测试用例直接转化来。
内部逻辑,目前测试没有参与到这个阶段,没有条件去做。
性能和安全,目前不是关注的重点,可暂时不做。