前言
在当今的软件开发过程中,接口测试变得越来越重要。随着系统架构的日益复杂,前后端分离开发模式的广泛应用,接口作为不同系统或模块之间交互的桥梁,其稳定性和正确性直接影响到整个软件系统的质量。通过有效的接口测试,可以在早期发现系统中的潜在问题,减少后期的维护成本和风险。本笔记将系统地介绍接口测试的相关知识,包括其重要性、基本概念、测试流程、用例编写方法以及实践步骤等内容,帮助掌握接口测试技术。
一、接口测试的重要性
- 接口测试是直接对后端服务的测试,是服务端性能测试的基础,也是测试工程师的必备技能。
二、接口测试的概念
- 接口测试:校验接口响应数据与预期数据是否一致。
三、接口信息解析
(一)接口测试流程
- 需求评审
- 接口文档解析
- 设计测试用例
- 进行接口测试
- 缺陷的管理与跟踪
- 生成测试报告
(二)优先查看接口文档
- 又称为 API 文档,由后端开发编写,用来描述接口信息。
- 接口请求(HTTP 请求报文):从浏览器发送到服务器。
- 接口响应(HTTP 响应报文):从服务器返回给浏览器,包含状态码和响应体。
(三)抓包步骤(当接口文档不完整时)
- 打开需要抓包的网页。
- 打开浏览器的开发者工具。
- 选择 Network。
- 操作网页执行动作。
- 查看接口的请求报文和响应报文。
注意:通常还是要开发提供接口文档,若确实没有再自行抓包。
四、接口用例的编写
(一)单接口测试
- 登录接口示例
- 正向测试(正确测试) - 登录成功(P0)
- 必填参数组合(P0)
- 填写正确的用户名和密码,确保用户名和密码匹配,登录成功。
- 必填 + 非必填组合(P1/P2/P3)
- 全部参数组合(P1)
- 填写所有参数(包括必填和非必填),登录成功。
- 其他参数组合(P2/P3)
- 部分非必填参数不填,登录成功。
- 全部参数组合(P1)
- 必填参数组合(P0)
- 反向测试(错误测试) - 登录失败
- 功能异常(覆盖反向需求)(P1)
- 错误的用户名或密码,登录失败。
- 数据异常(P2)
- 数据类型错误
- 如手机号输入非数字字符。
- 数据长度错误
- 用户名或密码长度不符合要求。
- 数据类型错误
- 参数异常(P3)
- 多参(多一个参数)
- 增加不必要的参数,登录失败。
- 少参(少一个参数)
- 缺少必填参数,登录失败。
- 无参(没有参数)
- 不填写任何参数,登录失败。
- 多参(多一个参数)
- 功能异常(覆盖反向需求)(P1)
- 正向测试(正确测试) - 登录成功(P0)
(二)多接口 - 业务场景测试
- 从功能业务用例转化 P0
- 针对业务功能用例中的操作步骤,分析对应的接口请求。
- 优先级:P0 > P1 > P2 > P3
- 根据测试用例的重要性和优先级进行排序。
(三)接口测试实践步骤
- 配置请求方式
- 在测试工具中选择合适的请求方式,如 POST、GET 等。例如,在登录接口测试中,可能会使用 POST 方法提交用户登录信息。
- 输入 URL
- 将接口文档中的接口地址(URL)填写到测试工具的相应位置。例如
http://hrm - test.itheima.net/api/sys/login
。
- 将接口文档中的接口地址(URL)填写到测试工具的相应位置。例如
- 设置请求体(如果有)
- 对于 POST 等需要请求体的请求方式,需要在测试工具中设置请求体内容。
- 一般以 JSON 格式或表单格式填写请求参数。例如登录接口可能需要用户名和密码参数:
{"mobile":"13800000002","password":"123456"}
。
- 发送请求
- 在测试工具中点击发送按钮(如 Postman 中的 Send 按钮),将请求发送到服务器。
- 查看响应状态码
- 发送请求后,查看服务器返回的响应状态码。
- 常见的状态码有:
200 OK
:表示请求成功,服务器正常处理并返回数据。400 Bad Request
:表示客户端请求有语法错误,服务器无法理解。401 Unauthorized
:表示请求要求用户的身份认证。404 Not Found
:表示服务器无法找到请求的资源。500 Internal Server Error
:表示服务器内部错误,无法完成请求。
- 分析响应体
- 查看服务器返回的响应体内容,检查是否与预期结果一致。
- 例如登录接口成功的响应可能是
{"success":true,"code":10000,"message":"操作成功!","data":"4529db94 - a285 - 4c6c - ae5 - c24fdc0aff2"}
,需要检查success
字段是否为true
,以及其他相关数据是否正确。
(四)接口测试重要性和步骤总结
- 接口测试必不可少
- 对于拿到更高薪资的 offer 和职业发展很重要。
- 接口测试主要的三步
- 接口文档解析
- 理解接口的请求和响应参数。
- 接口用例编写
- 根据正向和反向测试思路编写测试用例。
- 使用工具执行接口测试用例
- 利用工具发送请求并检查响应。
- 接口文档解析
- 接口测试进阶 - 接口自动化测试
- 进一步提升接口测试效率。
鸣谢:本文取材于黑马教育,优化整理成笔记。