学习目录:
- 1.接口基础知识
- 2.接口测试的价值
- 3.接口行为观测与分析
- 4.接口用例编写与管理
- 5.接口用例运行与维护
1.接口定义
应用程序接口(API:Application Programming Interface):又称为应用编程接口,就是软件系统不同组成部分衔接的约定。
API的应用开发需要按照API发布者提供的规范进行开发。
API网关
接口测试的重要性
UI自动化天生缺陷
- 测试执行效率低下
- 测试构建成功率低
- 测试覆盖能力有限
- 测试用例维护困难
接口测试的必要性
- 行业成熟方案
- 更早发现问题
- 更快质量反馈
接口测试的优缺点总结:
优点:
- 接口测试执行效率高、较低的维护成本
- 接口自动化实现成本低
- 相比UI自动化更高效和稳定
缺点:
- 接口测试无法覆盖客户端的质量,仍然需要客户端的测试人员配合
- 接口测试无法实现代码逻辑的100%覆盖,需要与单元测试配合使用
协议是指计算机通信网络中两台计算机进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端
HTTP是一个应用层协议,有请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。
请求:请求方法、请求地址、请求头、请求体
响应:状态吗、响应头、响应体
响应码:
1xx:指示信息--标识请求已接收,继续处理
100:continue,客户端应继续其请求
2xx:陈工---表示请求已被成功接收、理解、接受
200:请求成功
3xx:重定向--要完成请求必须更进一步的操作
302:请求重定向,新的URL会在Response中的Location中返回,浏览器将会使用新的URL发出新的Request
4xx:客户端错误--请求有语法错误或请求无法实现
400:客户端请求与语法错误,不能被服务器所理解
404:请求资源不存在
5xx:服务器端错误--服务器未能实现合法的请求与请求header类似
500:服务器发生了不可预期的错误
协议分析工具:
网络嗅探:
- WireShark
- TcpDump
Proxy: - fiddle[仅Windows]、AnyProxy[全平台]
- 推荐工具:Charles[全平台]、burpsuite[全平台Java]
分析工具与协议客户端工具: - curl Postman
- Chrome DevTool、PostMan
curl
问题
1.性能和压力测试最核心的部分是脚本编写吗?
性能和压力测试最核心的东西不是脚本的编写,压力的建模和后面的分析才是压力或性能测试最重要的。也不在工具本身,Jmeter、Loadrunner、postman都可以