接口测试 接口概念:web程序之间通过HTTP协议连接的程序获功能
为什么要做接口测试:
必要性:相对多数的应用程序都用HTTP协议,客户端访问服务端的分布式部署是主流,客户端访问服务端的测试及它们的衔接测试成为重要的测试
优势:无需通过UI、效率高、速度快
何时做接口测试:
当服务器程序开发完成(界面未完成时)
接口测试的前提:
(1)最后有接口文档
(2)如果没有接口文档,须掌握抓包
(3)服务端程序开发完成
接口测试的流程:
接口需求分析、接口测试计划、接口测试用例设计、接口测试执行、总结评估
接口文档内容:
(1)协议
(2)URL
(3)发送方法名称
(4)传参
(5)返回值
接口测试原理:
数据传送
客户端->发送数据->服务端->处理数据->客户端
抓包工具原理:
代理:Agent
介于客户端和服务端之间用来捕获发送的数据和处理结果的程序/工具
VPN/DNS
请求request:客户端向服务端发送的数据
响应response:服务端反馈给客户端的数据
HTTP协议:(无状态的协议)
无连接:每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,断开连接,节省传输时间
无状态:对于事物处理没有记忆能力,如果后续处理需要前面的信息,则必须重传,会导致每次连接传送的数据量增大,反之,不需要先前信息, 应答就较快
有多种发送的方法/方式:get/post... Get:明文,结合在URL发送 Post:密文,结合在http协议内部发送 http协议结构: 请求: 请求头: 请求行:方法+URL+协议名称版本号(GET /tinyshop/ HTTP/1.1) 实体头: 键值对:USer-Agent:XXX 请求体: 请求正文:客户端发送的数据 响应: 响应头: 响应行:协议名称版本号 协议状态码 协议状态信息(HTTP/1.1 200 OK) 实体头: 响应体: 键值对:Server:XXX 响应正文:服务端反馈的数据 charles不足: (1)不支持开发语言编程,无人值守的自动化无法完成 (2)用例数据固定 (3)无法实现多接口联调
|