接口测试笔记一
1.什么是接口测试
包含了单元测试、接口测试、界面测试等一系列质量保障活动的测试工作
由于开发工程师很少写单元测试,接口测试的工作投入比重,来弥补单元测试的不足,演变为
这样做的好处:
接口测试更容易和其他自动化系统相结合
相对于界面测试,接口测试可以更早开始,也可以测试一些界面测试无法测试的范围
接口测试还可以保障系统的鲁棒性,使得被测系统更健壮
接口就是有特定输入和特定输出的一套逻辑处理单元,而它不用知道自身的内部实现逻辑,这也可以叫做接口的黑盒处理逻辑
接口分为
内部接口
外部接口
接口测试是通过设计输入和预期输出来完成测试验证的
接口测试是一个技术知识和业务知识相结合的工作,可以更好地提升你自己的技术实力
接口测试也是功能测试
2.如何开始接口测试
理想的提测项目,在提测的过程中应该既包含前期参与的产品需求、原型设计,这些是由产品经理来提供的;也包含后端接口文档、代码单元测试脚本,这些是由开发工程师提供来的
拿到SUT(System Under Test,被测系统),如果没有有拿到价值的文档
(1)工具辅助
借助一些工具的辅助来完成接口分析,如Fiddler
(2)分析问题
通过工具截获一些接口信息
浏览器访问掘金,Fiddler 截获了很多消息
在右侧上方 Inspectors 的标签页下,可以看到
Request
HOST,指定访问的服务器域名
Connection 的值为 keep-alive,表示需要持久连接
Accept,表示客户端可以接受的内容类型为 application/json, text/plain, /
User-Agent,说明请求是从什么浏览器发出去的
Accept-Encoding 设置为 gzip、deflate、br,这表示可以支持的 Web 服务器返回内容压缩编码类型
Accept-Language,它表示接受的语言
Response
(3)询问解惑
通过分析接口的访问方式、参数等信息整理出一些问题,和研发工程沟通,主要询问:
参数的含义及来源
参数的作用域
返回值的含义——每一个 JSON 的 Key 所对应的含义
制作一个流程中所有接口的接口信息表,理清每一个流程的数据流程(数据流程驱动了业务流处理),这样才能开始业务逻辑的接口测试
3.接口测试的关键
单接口测试
通过单接口测试,可以更加接近于单元测试,如代码异常、代码边界等
业务流程接口测试
通过业务流的接口测试,可以更加接近于界面所承载的交互中的业务流验证
持续集成测试,Newman
总结:
先从单个接口的测试开始,保障单个接口的正确性和健壮性,然后通过单个接口的测试完成多个接口的业务逻辑串联,站在业务逻辑的角度完成业务逻辑的正确性检测