1.0-接口测试--概念篇总结
接口及接口测试概念
1.接口的定义
- 接口:是指系统或组件之间的交互点,通过这些交互点可以实现数据的交互。(数据交互的通道)
2.接口测试定义
- 接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依 赖关系。
3.接口测试原理
模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。
HTTP协议
1. HTTP协议介绍
- HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。
2. URL
- URL:(Uniform Resource Locator)统一资源定位符,是互联网上标准资源的地址。HTTP使用URL来建立连接和传输数据。
URL格式:
http://www.itcast.cn:8080/news/index.html?uid=123&page=1
-
协议部分:“http”,常见的协议有HTTP,HTTPS、FTP等
-
域名部分:“www.itcast.cn”,也可以使用IP地址作为域名使用
-
端口部分:“8080”,端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
-
资源路径部分:“/news/index.html”
-
查询参数部分:“uid=123&page=1”,可以允许有多个参数,多个之间用“&”作为分隔符
3. HTTP请求
http请求由三部分组成,分别是:请求行、请求头、请求体
POST http://demo.zentao.net/user-login.html
HTTP/1.1 Host: demo.zentao.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://demo.zentao.net/user-login.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
Connection: keep-alive
Upgrade-Insecure-Requests: 1
// 该空行表示请求头数据已经结束
account=demo&password=efc4a3b32e48054865e5a8321cfda3e4
请求行
- 请求行用来说明请求方法、要访问的资源以及所使用的协议版本
常用请求方法:
- GET:从服务器获取资源(一项或多项)
- POST:在服务器新建一个资源
- PUT:在服务器更新资源(客户端提供改变后的完整资源)
- DELETE:从服务器删除资源
请求头
请求头紧接着请求行,请求头部由键值对组成,每行一对。 请求头部通知服务器有关于客户端请求的信息,典型
的请求头有:
-
User-Agent:产生请求的浏览器类型
-
Accept:客户端可识别的内容类型列表
-
Content-Type:请求体数据的类型,常见的类型有:
text/html: HTML格式
text/plain:纯文本格式
image/jpeg:jpg图片格式
application/json: JSON数据格式
application/x-www-form-urlencoded: form表单数据被编码为key/value格式发送到服务器(表单默认的提
交数据格式)
multipart/form-data: 在表单中进行文件上传时使用
请求体
-
请求体不在GET方法中使用,经常在POST、PUT方法中使用
-
请求体的数据可以是:表单数据、文本、XML、JSON
-
与请求数据相关的最常使用的请求头是Content-Type和Content-Length
-
请求参数 :
- 请求头(hearders):Content-Type
- 请求体(body):参数名称、参数类型、是否必填、描述、示例等(常用的数据格式就是json)
4. HTTP响应
- HTTP响应也由三个部分组成,分别是:状态行、响应头、响应体
HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8
<html>
<head></head>
<body>...</body>
</html>
状态行
状态行由协议版本号、状态码、状态消息三部分组成
状态码有三位数字组成,第一个数字定义了响应的类别:
- 1xx:指示信息--表示请求已接收,继续处理
- 2xx:成功--表示请求已被成功接收、理解、接受
- 3xx:重定向--要完成请求必须进行更进一步的操作
- 4xx:客户端错误--请求有语法错误或请求无法实现
- 5xx:服务器端错误--服务器未能实现合法的请求
响应头
响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理
响应数据
响应体
响应体就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源码
5.http和https协议的区别
1,http信息是明文传输的,https是具有安全性的加密传输
2,http的端口号是80 https的端口号是443
3,http无需证书,而https需要认证证书
4,http页面响应速度比https快
5,https更消耗服务器资源
接口测试流程
-
- 需求分析
- 主要依据需求文档
- 需求分析
-
- 接口文档解析
- 一般是由开发人员编写接口文档(API文档)
- 接口文档解析
-
- 设计测试用例
-
- 执行测试
- 使用接口测试工具实现
- 通过编写代码实现
- 执行测试
-
- 接口缺陷管理与跟踪
-
- 生成测试报告
-
- 接口自动化持续集成(可选)
接口用例设计(重点)
1、接口测试测试点
-
功能测试(当前阶段的核心重点)
-
单接口测试
-
正向功能:(通过性测试)
- 仅必填参数
- 全部参数(必填+非必填)
- 参数组合 (必填+部分非必填)
-
反向测试:(异常测试)
- 参数异常:无参、少参、多参、错误参数
- 数据异常:数据为空、长度不符、类型不符、错误数据
- 业务异常:结合业务功能考虑输出的各种异常返回情况 (测试关注点:各种异常状态码试)
-
-
多接口测试:将多个业务场景涉及的接口进行组合测试(站在用户角度考虑常用的使用场景)
- 注意:接口调用的先后顺序即可
-
-
性能测试(jmeter单独做性能)
-
安全测试
-
敏感数据是否加密
- 敏感数据是否遮挡
- 敏感数据是否可以被复制
- 敏感数据是需要加密的
- 敏感数据加密需要一定的难度(不容易被暴力破解)
-
SQL注入
-
其他
-
2、接口测试用例设计
2.1 单接口用例设计——IHRM登录接口
针对人力资源管理系统的登录接口进行测试
- 模板
2.2 多接口用例设计——IHRM员工管理
登录系统后,对员工进行增删改查的操作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?