近期在做项目接口测试,参考网上资料和之前的项目经验对接口测试需注意的事项进行整理,以便后面查找。如有错误的地方,也欢迎指正。
感谢如下原创文章的帮助,牛人很多,收获很多,发现自己不会的东西真的太多了……
重点参考:https://blog.csdn.net/nikita1995/article/details/82494416
1 概述
1.1 什么是接口测试
简单来说接口测试就是对接口协议的一种测试,本质也是对发送和接收数据的测试。
考虑到至少如下原因,需要做接口测试:
- 开发前后端工作进不一致,需提前安排测试。
- 与第三方系统对接,需对接口是否满足要求进行验证。
- 从安全层面考虑,不能只依赖于前端处理,需从接口层面进行验证后端是否有相关验证及限制。
- 验证敏感信息是否进行加密传输。
通常优先针对两种类型的接口进行测试:
- 数据进入系统接口(调用外部系统的参数为本系统使用)
- 数据流出系统接口(验证系统处理后的数据是否正常)
此外,优先选择面向用户/客户的接口进行测试。
1.2 接口测试流程
需求评审-->编写用例-->准备数据-->执行测试
说明:为方便测试,在整理用例、准备数据、工具及脚本使用方面,尽量往方便转化为自动化的方式进行操作。
1.3 接口测试常用方式
通过工具模拟客户端向服务端发送请求并接受服务器返回的数据来对接口的功能、逻辑业务、异常、性能、安全等进行测试。
功能测试:测试接口的功能是否实现,是否按照接口文档完成开发。
逻辑业务:主要指逻辑业务依赖关系,包含系统内部的业务依赖、与外系统的业务依赖。
异常测试:通常需考虑参数异常、数据异常。参数异常如:关键字错误、参数为空、参数个数等;数据异常如:数据错误、数据为空、数据长度等。
1.4 接口测试常用工具
对基于http协议的接口,主要是通过工具或代码模拟http请求的发送与接收。
抓取请求常用工具:fiddler。
测试请求常用工具:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等,也可用代码实现。