Postman接口测试

前言

在当今的软件开发过程中,接口测试变得越来越重要。随着系统架构的日益复杂,前后端分离开发模式的广泛应用,接口作为不同系统或模块之间交互的桥梁,其稳定性和正确性直接影响到整个软件系统的质量。通过有效的接口测试,可以在早期发现系统中的潜在问题,减少后期的维护成本和风险。本笔记将系统地介绍接口测试的相关知识,包括其重要性、基本概念、测试流程、用例编写方法以及实践步骤等内容,帮助掌握接口测试技术。

一、接口测试的重要性

  • 接口测试是直接对后端服务的测试,是服务端性能测试的基础,也是测试工程师的必备技能。

二、接口测试的概念

  • 接口测试:校验接口响应数据与预期数据是否一致。

三、接口信息解析

(一)接口测试流程

  1. 需求评审
  2. 接口文档解析
  3. 设计测试用例
  4. 进行接口测试
  5. 缺陷的管理与跟踪
  6. 生成测试报告

(二)优先查看接口文档

  • 又称为 API 文档,由后端开发编写,用来描述接口信息。
  • 接口请求(HTTP 请求报文):从浏览器发送到服务器。
  • 接口响应(HTTP 响应报文):从服务器返回给浏览器,包含状态码和响应体。

(三)抓包步骤(当接口文档不完整时)

  1. 打开需要抓包的网页。
  2. 打开浏览器的开发者工具。
  3. 选择 Network。
  4. 操作网页执行动作。
  5. 查看接口的请求报文和响应报文。

注意:通常还是要开发提供接口文档,若确实没有再自行抓包。

四、接口用例的编写

(一)单接口测试

  • 登录接口示例
    • 正向测试(正确测试) - 登录成功(P0)
      • 必填参数组合(P0)
        • 填写正确的用户名和密码,确保用户名和密码匹配,登录成功。
      • 必填 + 非必填组合(P1/P2/P3)
        • 全部参数组合(P1)
          • 填写所有参数(包括必填和非必填),登录成功。
        • 其他参数组合(P2/P3)
          • 部分非必填参数不填,登录成功。
    • 反向测试(错误测试) - 登录失败
      • 功能异常(覆盖反向需求)(P1)
        • 错误的用户名或密码,登录失败。
      • 数据异常(P2)
        • 数据类型错误
          • 如手机号输入非数字字符。
        • 数据长度错误
          • 用户名或密码长度不符合要求。
      • 参数异常(P3)
        • 多参(多一个参数)
          • 增加不必要的参数,登录失败。
        • 少参(少一个参数)
          • 缺少必填参数,登录失败。
        • 无参(没有参数)
          • 不填写任何参数,登录失败。

(二)多接口 - 业务场景测试

  • 从功能业务用例转化 P0
    • 针对业务功能用例中的操作步骤,分析对应的接口请求。
  • 优先级:P0 > P1 > P2 > P3
    • 根据测试用例的重要性和优先级进行排序。

(三)接口测试实践步骤

  1. 配置请求方式
    • 在测试工具中选择合适的请求方式,如 POST、GET 等。例如,在登录接口测试中,可能会使用 POST 方法提交用户登录信息。
  2. 输入 URL
    • 将接口文档中的接口地址(URL)填写到测试工具的相应位置。例如http://hrm - test.itheima.net/api/sys/login
  3. 设置请求体(如果有)
    • 对于 POST 等需要请求体的请求方式,需要在测试工具中设置请求体内容。
    • 一般以 JSON 格式或表单格式填写请求参数。例如登录接口可能需要用户名和密码参数:{"mobile":"13800000002","password":"123456"}
  4. 发送请求
    • 在测试工具中点击发送按钮(如 Postman 中的 Send 按钮),将请求发送到服务器。
  5. 查看响应状态码
    • 发送请求后,查看服务器返回的响应状态码。
    • 常见的状态码有:
      • 200 OK:表示请求成功,服务器正常处理并返回数据。
      • 400 Bad Request:表示客户端请求有语法错误,服务器无法理解。
      • 401 Unauthorized:表示请求要求用户的身份认证。
      • 404 Not Found:表示服务器无法找到请求的资源。
      • 500 Internal Server Error:表示服务器内部错误,无法完成请求。
  6. 分析响应体
    • 查看服务器返回的响应体内容,检查是否与预期结果一致。
    • 例如登录接口成功的响应可能是{"success":true,"code":10000,"message":"操作成功!","data":"4529db94 - a285 - 4c6c - ae5 - c24fdc0aff2"},需要检查success字段是否为true,以及其他相关数据是否正确。

(四)接口测试重要性和步骤总结

  • 接口测试必不可少
    • 对于拿到更高薪资的 offer 和职业发展很重要。
  • 接口测试主要的三步
    • 接口文档解析
      • 理解接口的请求和响应参数。
    • 接口用例编写
      • 根据正向和反向测试思路编写测试用例。
    • 使用工具执行接口测试用例
      • 利用工具发送请求并检查响应。
  • 接口测试进阶 - 接口自动化测试
    • 进一步提升接口测试效率。

鸣谢:本文取材于黑马教育,优化整理成笔记。

相关推荐
测试老哥14 小时前
Jmeter的三种参数化方式
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
勤奋的小王同学~14 小时前
(UI自动化测试)第一章 web自动化测试 能够针对(web和app)UI界面进行自动化测试以及回归测试 元素定位
测试工具·ui
测试杂货铺1 天前
接口自动化框架详解(Pytest+request+Allure)
自动化测试·软件测试·python·功能测试·测试工具·测试用例·pytest
测试老哥1 天前
如何写出优秀的单元测试?
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
传而习乎1 天前
【Postman】 如何配置 host?全局变量?
测试工具·postman
milaiyiqi2 天前
果冻杯密封性能检测仪
功能测试·测试工具
香菜的开发日记2 天前
自己总结:selenium高阶知识
selenium·测试工具
qq_433716952 天前
【接口自动化测试】一文从3000字从0到1详解接口测试用例设计
自动化测试·软件测试·功能测试·selenium·测试工具·测试用例·postman
川石课堂软件测试2 天前
实用|金融银行项目测试业务流分析+常问面试题
功能测试·测试工具·金融·appium·自动化·压力测试