接口测试 - 接口测试用例设计

文章目录

  • [1. 接口测试流程](#1. 接口测试流程)
  • [2. 接口测试用例设计思路](#2. 接口测试用例设计思路)
  • [3. 接口测试用例要素](#3. 接口测试用例要素)
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1. 接口测试流程

接口测试流程:

需求分析 → 测试设计 → 测试用例评审 → 测试执行 → 验收 → 预发布 → 上线

  • 需求分析:分析需求文档,梳理业务逻辑,接口字段,参数取值要求 + 接口文档(开发提供)
  • 测试设计:设计接口测试用例
  • 测试用例评审:拉上级、开发,开一个小型评审会议,评审设计的接口测试用例是否考虑全面,是否有欠缺,业务是否考虑清楚,复杂用例设计逻辑是否正确,如果有修改完成后,才可执行用例;
  • 测试执行:在开发提测后,执行接口测试用例,验证功能是否符合预期,出现问题进行Bug管理;(接口测试:就是模拟客户端验证接口功能,接口逻辑,接口性能,接口安全等逐个考虑;)
  • 验收:接口验收
  • 预发布:发布的预发布环境,测试通过后再上线。
  • 上线:最后发布到生产环境

2. 接口测试用例设计思路

首先:画业务流程图,考虑每个分支情况,包含:正常情况,异常,如何处理等情况,体现在业务流程图中;

然后进行下面的接口测试用例设计:

  • 基本功能流程测试
    • 1.冒烟测试:正向主业务流程测试
    • 2.正常流程覆盖测试:分支覆盖,路径覆盖,场景覆盖-结合实际业务场景
  • 字段参数测试考虑/输入域
    • 边界值测试:字段是否规定区间范围-边界值
    • 特殊字符校验:参数对特殊字符有校验
    • 参数类型校验:类型要求(int, float)-等价类
    • 必选参数校验:需要考虑设计不传参数的用例,验证必选参数
    • 组合参数校验:选填+必填参数
    • 有效性校验:如验证手机号,手机号位数满足,但不一定是有效手机号,需要查看具体要求-查看需求具体分析
    • 默认值校验:需要考虑设计不传参数的用例,验证默认值
    • 排重逻辑:参数如果有要求,不允许重复,需要考虑参数排重逻辑是否符合,重复请求相同参数,验证后端排重逻辑;
  • 接口幂等性考虑-接口添加唯一参数解决幂等性
    • 多次提交:多次重复参数提交,结果应该一样
  • 故障注入考虑
    • Redis 故障降级测试:后端使用Redis,高速缓存存储token;
      测试方式: 需要开发配合
      • 清空redis缓存场景:先清空redis缓存, 然后请求获取token,验证是否从数据库中获取,redis是否回写缓存;
      • 启动redis恢复数据场景,验证是否可以读取缓存数据;
      • 人为制造redis崩溃场景,验证是否可以读取数据库缓存token;
    • 服务故障转移测试场景
      • 开发配合制造,服务端数据丢失场景,验证是否启动数据丢失策略;
      • 开发配合制造,数据库崩溃场景,验证数据库相关策略是否启动;
    • 接口转移测试场景:
      • 接口服务重启场景:验证请求有无异常
      • 集群崩溃信息场景,验证接口是否返回对应信息,是否有对应应对机制;
  • 线程安全测试考虑
    • 并发测试:高并发(多线程,分布式等手段)
    • 分布式测试:水平和垂直分摊压力-物理层面
      并发相同参数请求,验证1条请求成功,其他失败;
    • 数据库读写安全测试
      • 涉及数据库锁
      • 并发插入,并发删除,查看是否相互影响,验证数据库读写

3. 接口测试用例要素

接口测试用例要素:类似与功能用例设计

【注】加粗必须要包含的

  • 用例名称
  • 接口地址:API
  • 请求方式: GET, POST, DELTE, PUT
  • 前置条件
  • 请求头部
  • 请求参数: url中 ?号后面的参数,或者 请求body中的参数
  • 响应状态码
  • 预期响应结果

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
洛白白2 小时前
升维与时间的魔法:让问题在更高处自然蒸发
经验分享·学习·生活·学习方法
源代码•宸2 小时前
goframe框架签到系统项目开发(分布式 ID 生成器、雪花算法、抽离业务逻辑到service层)
经验分享·分布式·mysql·算法·golang·雪花算法·goframe
么么...2 小时前
SQL 学习指南:从零开始掌握DQL结构化查询语言
数据库·经验分享·笔记·sql
百度测试开发2 小时前
【最细】软件测试面试项目讲解,项目经验,功能到接口到自动化...
自动化测试·软件测试·功能测试·软件测试工程师·接口测试·软件测试项目·软件测试面试
与遨游于天地3 小时前
日志系统 Kafka 积压处理有效方案
经验分享·分布式·kafka
zore_c3 小时前
【数据结构】堆——超详解!!!(包含堆的实现)
c语言·开发语言·数据结构·经验分享·笔记·算法·链表
secondyoung3 小时前
Pandoc转换Word文档:使用Lua过滤器统一调整Pandoc文档中的图片和表格格式
经验分享·junit·word·lua·markdown·pandoc·mermaid
弓乙图18 小时前
弓乙图 宇宙星系的演化本源
经验分享·微信
森诺Alyson19 小时前
前沿技术借鉴研讨-2025.12.23(荟萃分析/信号提取/轻量级模型)
论文阅读·人工智能·经验分享·论文笔记·论文讨论