接口测试概念
接口
- 不同单元或模块之间进行通信的管道,统一的标准和规范
- 分类:
- 硬件的接口:usb接口,网线接口,HDMI接口
- 软件的接口:实现不同模块的数据交互的管道,以统一的标准(接口规范)
- 接口规范的意义
- 更易于团队磨合
- 缩短研发周期
- 扩展性更强
- 前后端剥离,可以使用各自熟悉的技术,保证产出符合规范即可
- API(Application Programming Interface)文档:预定义的接口规则落实到文档 (API文档编写规范---Restful 架构风格)
接口测试
- 概念:跨过前端(模拟客户端),直接测试后端是否符合接口规范
- 作用:
- 更精准的定位bug
- 发现程序中的安全隐患(sql注入)
- 提高测试效率(接口测试可以比较早介入)
- 测试流程
- 定位接口资源
- 提交测试数据
- 查看响应结果
- 分类
- web接口测试(BS架构项目)
- 服务器接口测试
- 外部接口测试(第三方接口测试)
- 模块接口测试(CS接口测试)
- web接口测试(BS架构项目)
API文档编写规范(Restful 风格)
- 定义:Restful架构是一种接口设计的风格,约束了接口实现的规范
- 作用:可以保证API文档的编写风格,提高文档的易读性
- 接口三要素
- 定位接口资源
- URL(统一资源定位符) 协议(http/ftp/ftps/https...)+地址+端口号(外网 http默认80,https 443)+资源路径
- 请求方式
GET,POST,PUT,DELETE...
- GET VS POST
- 提交方式不同(GET提交的数据显示在地址栏,POST数据在请求体)
- 可提交的数据量不同(GET提交的数据量有限,POST无限制)
- 执行效率不同(GET执行效率比POST稍高)
- GET VS POST
- 提交测试数据(提交参数)
- 参数格式1:键值对格式
- 参数格式2:JSON格式
- 响应结果
- 状态码
1xx:请求正常,无响应,测试环境使用 2xx:请求正常,响应正常 3xx:以其他方式获取响应,302 重定向 304 取本地缓存 4xx:浏览器异常 404 资源路径异常 5xx:服务器异常 500 服务器运行异常 - 响应体
- 响应html文本
- 响应JSON数据
- 状态码
- 定位接口资源