深入理解接口测试:实用指南与最佳实践(三)API文档解析及编写测试用例

在这里插## 标题入图片描述

您好,我是程序员小羊!

前言

这一阶段是接口测试的学习,我们接下来的讲解都是使用Postman这款工具,当然呢Postman是现在一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会 经常使用。这节课是Postman分析的请求和响应数据,完成ihrm系统指定接口的API文档解析掌握接口测试用例设计方法,能独立完成ihrm系统登录/员工管理相关接口用例设计,后期讲解大概分三部分进行讲解:
1、根据接口API文档编写接口测试用例
2、使用Postman工具进行接口测试,并能够对大量接口用例进行管理、对接口响应结果进行断言、处理多接口的依赖及生成测试报告
3、使用Python+Requests封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告

先进入正题之前,我们先了解接口测试的相关的知识,如测试流程…

一、接口测试流程


  1. 需求分析(产品经理的需求文档)
  2. 接口文档解析(开发编写的 接口API文档)
  3. 设计 接口测试用例(编写 Excel 表格形式的⽤例)
  4. 准备接口测试脚本 (设计测试用例)
    postman 工具 生成脚本
    python 代码 编写脚本
  5. 执行测试用例,跟踪缺陷
  6. 生成 接口测试报告
  7. 接口自动化持续集成(可选)

在这里插入图片描述

二、什么是接口文档?

接口文档:又称为API文档,一般是由后端开发人员所编写的,用来描述系统所提供接口信息的文档。 大家都根据这个接口文档进行开发,并需要一直维护和遵守。
作用:
协同:团队⼈员⼯作协同配合
约束:项目更新修改同步维护

三、为什么要写接口文档?

  1. 能够让前端开发与后台开发人员更好的配合,提高工作效率。(有一个统一参考的文件)
  2. 项目迭代或者项目人员更迭时,方便后期人员查看和维护
  3. 方便测试人员进行接口测试

四、为什么要解析接口文档

通过分析接口文档,熟悉接口信息。
通过接口文档获取,接口测试所使用的 请求数据预期结果

解析的核心目标:

  1. 请求报文关键数据 请求方法、URL、请求数据(请求头、请求体)
  2. 响应报文关键数据 响应状态码、响应数据(响应体)

四、接口文档内容

一个规范的接口文档,要包含以下信息:
基本信息 :接口名称、请求方法、请求路径、接口描述
请求参数:请求头请求体(包含具体的请求参数名称、参数类型、是否必须、示例、备注)
返回数据:不同情况的响应状态码响应数据(包含具体的响应数据名称、类型、是否必须、默认值、示例、备注)

案例如下:
在这里插入图片描述

五、接口测试用例设计

在这里插入图片描述

六、接口用例设计的方法与思路(关注接口的功能测试)

功能测试:验证接口功能是否按照接口文档实现(输入+处理+输出)

单接口测试:

正向功能:(通过性测试)

  • 仅必填参数
  • 全部参数
  • 参数组合

反向测试:(异常测试)

  • 参数异常:无参、少参、多参、错误参数
  • 数据异常:数据为空、长度不符、类型不符、错误数据
  • 业务数据异常:结合业务功能考虑输出的各种异常返回情况

多接口测试:业务场景功能测试(站在用户角度考虑常用的使用场景)

接口之间数据依赖

七、单接口测试:

针对人力资源管理系统的员工管理接口进行测试
在这里插入图片描述

八、场景测试:

登录系统后,对员工进行增删改查的操作
在这里插入图片描述

今天这篇文章就到这里了,文底会有一些小练习大家可以抽空做下,在下篇文章的时候会把答案放在最后,大厦之成,非一木之材也;大海之阔,非一流之归也,希望大家能持续关注下,文章从浅入深,也欢迎大佬们的随时指导!!!

在这里插入图片描述

作业:

1、关于接口测试点设计,以下描述正确的有:

A:接口测试可以对单接口以及多个接口关联的业务场景进行测试。
B:接口测试可以对性能,安全等测试点进行测试。
C:接口测试用例需要对接口的请求参数进行设计,测试全部参数、组合参数、必填参数的正向测试;以及反向的多参、少参、无参、错误参数测试;
D:设计的接口测试用例,有部分会与手工测试用例重复。

2、关于接口用例的设计思路,以下描述正确的有:

A:可以对接口的参数进行测试,包括了异常的多参、少参、无参、错误参数和正向的必填参数,组合参数,全部参数。
B:可以对接口的数据进行测试,包括正确的数据和异常的数据。设计登陆接口的登陆成功案例和用户名中有特殊字符等案例。
C:可以对接口的依赖关系进行测试,如:业务系统需求设计为需要先登陆才能添加员工,那么我们可以设计正向的和反向的用例,分别测试登陆后添加员工和没有登陆时添加员工。
D:我们必须测试接口的域名错误场景,模拟域名不正确时,是否能正确调用接口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/392423.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pxe自动安装linux

实验环境 1.rhel7主机 2开启主机图形(本人最小化安装,先下载) 3配置网络 4关闭VMware dhcp功能 5能够自动安装系统 完成rhedhat7图形,kickstart,启动图形化制作工具 安装kickstart 启动图形化制作工具 在ks.cfg可以添加安装时下载的包 …

算法学习day29

一、乘法表中第k小的数(和有序矩阵中第k小的数类似) 题意: 乘法表是大小为 m x n 的一个整数矩阵,其中 mat[i][j] i * j(下标从 1 开始)。 给你三个整数 m、n 和 k,请你在大小为 m x n 的乘法表中,找出…

可视化图表与源代码显示的动态调整

可视化图表与源代码显示的动态调整 页面效果描述:本篇代码实现了通过拖动一个可调整大小的分隔符,用户可以动态地调整图表显示区域和源代码显示区域的大小。通过监听鼠标事件,当用户拖动分隔符时,会动态计算并更新两个区域的大小 …

Vue项目学习(1)

1、进入cmd命令行——> vue ui ——>等等操作 2、 3、src目录下 4、vue项目的启动 (1) (2) 5、如何更改前端vue项目的端口号?——>去vue.config.js里配置应一个对象

mprpc框架的应用示例

一、注册 有一个本地服务,我想把它发布成远程服务,首先在user.proto中定义rpc方法的描述,定义参数和响应的消息类型 然后在userservice.cc文件中通过继承UserServiceRpc这个类,重写一下响应的方法(打四个动作&#xf…

shell函数的基本知识

文章目录 shell函数定义函数调用函数函数参数返回值 Shell 输入/输出重定向输入重定向输出重定向 Shell 函数是 Shell 脚本编程中的一个非常有用的特性,它允许你将一段代码封装起来,给它一个名字(函数名),然后在脚本的…

低代码: 开发难点分析,核心技术架构设计

开发难点分析 1 )怎样实现组件 核心问题:编辑器 和 页面其实整个就是一系列元素构成的这些元素的自然应该抽象成组件,这些组件的属性应该怎样设计在不同的项目中怎样做到统一的使用 2 )跨项目使用 在不同的项目中怎样做到统一的…

【Linux】线程互斥

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…

C# Unity 面向对象补全计划 七大原则 之 依赖倒置原则 (DIP)难度:☆☆ 总结:多抽象,多接口,少耦合

本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本系列作为七大原则和设计模式的进阶知识,看不懂没关系 请看专栏:http://t.csdnimg.cn/mIitr,查漏补缺 1.依赖倒置原则 (DIP) 这…

「队列」实现FIFO队列(先进先出队列|queue)的功能 / 手撕数据结构(C++)

概述 队列,是一种基本的数据结构,也是一种数据适配器。它在底层上以链表方法实现。 队列的显著特点是他的添加元素与删除元素操作:先加入的元素总是被先弹出。 一个队列应该应该是这样的: --------------QUEUE-------------——…

骨传导耳机哪个牌子好?五款业界高性能机型推荐,让你选购不迷茫!

骨传导耳机哪个牌子好?哪款耳机值得入手?作为一名资深的数码设备测评师,我极力推荐大家尝试下骨传导耳机,它无需直接堵塞耳道,既能起到保护听力的作用,又能在使用中保持对外界的环境感知。然而,…

OD C卷 - 园区参观路径

园区参观路径(100) 有一个矩形园区,从左上角走到右下角,只能向右、向下走;共有多少条不同的参观路径; 输入描述: 第一行输入长度、宽度 后续每一行表示 对应位置是否可以参观,0可…

poetry配置镜像

1.简介 poetry 是一个包管理和打包的工具。 在 Python 中,对于初学者来说,打包系统和依赖管理是非常复杂和难懂的。即使对于经验丰富的开发者,一个项目总是要同时创建多个文件: setup.py ,requirements.txt,setup.cfg , MANIFES…

【数据结构与算法】十大经典排序算法深度解析:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、桶排序、基数排序

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 ​ 目录 引言 一、排序算法概述 排序算法简介 排序算法的分类 性能指标 二、十大排序算法…

Unity Rigidbody 踩坑记录

1:两个带有刚体的物体碰撞会一直不停的弹 把被动受力的刚提的 Freeze Position 的勾选 去掉(碰到过一次,有一种受力无法释放又返回给目标的 所以一直弹跳的感觉) 2:子物体 和父物体 都有刚体的情况下 子物体 Freeze R…

zdpy+vue3+onlyoffice文档系统实战上课笔记 20240805

上次 上次计划 1、最近文档表格完善 2、实现登录功能 3、新建文件,复制文件,删除文件 4、其他 目前任务:最近文档表格完善 1、在名称前面,渲染这个文档的图标 2、大小的基本的单位是kb,超过1024kb则换成mb&#xff0…

Java | Leetcode Java题解之第318题最大单词长度乘积

题目&#xff1a; 题解&#xff1a; class Solution {public int maxProduct(String[] words) {Map<Integer, Integer> map new HashMap<Integer, Integer>();int length words.length;for (int i 0; i < length; i) {int mask 0;String word words[i];in…

Mysql中事务的读一致性问题,以及如何用MVCC解决

事务四大特性的实现&#xff1a; 原子性事务具有回滚的能力&#xff0c;InnoDB引擎使用undo log日志表来进行回滚操作。 持久性InnoDB引擎使用redo log日志表来保证数据的持久性。 事务的隔离性产生的问题&#xff1a; 脏读&#xff1a;一个事务读取到了另一个事务未提交的数…

Linux系统驱动(五)

文章目录 一、实现机制二、字符设备驱动分布实现流程三、添加自己的系统调用函数1. 找到系统调用文件2. 找到 一、实现机制 应用层 vfs层 驱动层 字符设备按照字节流顺序访问&#xff0c;但是实际它提供了无序访问的功能 vi -t sys_open 内核中通过inode号可以唯一的找到一…

请转告HPC计算AI计算单位,选对存储事半功倍

U.2 NVMe全闪混合统一存储GS 5000U是Infortrend产品中一款高性能机型。得益于搭载强劲的第五代IntelXeon处理器&#xff0c;以及支持PCIe 5.0、NVMe-oF、100GbE等多种特点&#xff0c;GS 5000U单台块级性能可达50 GB/s的读、20 GB/s的写&#xff0c;以及1300K的IOPS&#xff1b…