如何编写接口测试用例

作为测试人,我们经常要对项目中的接口进行接口测试,那么在做接口测试的时候,如何写接口测试用例呢?

什么是接口测试

首先我们要了解一下,什么是接口测试?

那么首先要搞清楚,我们一般说的接口到底是什么?一般狭义上说的都是web项目中的接口测试,当然app也一样,都是指前后端交互的接口,我们通过各种工具对后端给前端提供的接口做模拟测试,验证后端提供的接口是否满足要求。主要是满足功能需求,还有一些非功能需求,比如稳定性,可靠性等性能要求,响应正常,那么响应时间是否符合要求,持续的请求是否也可以符合响应时间的要求。

那么,一般我们做接口测试时,都是依照开发提供的接口文档为依据,在一个接口文档中,我们都需要得到哪些信息呢?

这些内容直接影响你写出的用例是否是优秀的。

一般在接口文档中,都会提供以下内容:1:请求信息 2:响应信息

请求中我们要得到哪些信息呢?主要是请求的连接地址,请求方式,请求参数,是否有其他要求,比如cookie,token等。这些都至关重要。

响应中都要什么信息呢?主要是响应的响应码,响应头信息,响应体,响应的方式。

当你得到了以上信息,就可以进行接口测试用例的编写了

如何编写接口测试用例

首先我们要理解,一个好的测试用例要包含的内容有哪些?

  • 用例编号
  • 所属模块
  • 前置条件
  • 测试标题
  • 测试步骤
  • 测试数据
  • 预期结果
  • 实际结果

请求和响应

那么对于一个接口测试的测试用例,我们还要添加哪些东西呢?在接口测试用例中,其实要体现的内容主要是请求和响应的内容,所以在测试步骤中,一定要注明你这个接口中,如何做这个请求,在预期结果中体现出对响应的要求,这才是接口测试用例的核心。

也就是说在接口测试用例中,我们要写清楚,如何做这次请求,请求的地址,请求的方式,请求的参数及参数类型,是否有cookie和token及其他要求。

预期中对应每种请求的预期结果响应内容到底如何要求,响应时间是否有具体要求,这些都决定了这次接口测试是否通过。

除了正向验证外,我们也要设计对应的反向用例,比如故意设计不符合要求的参数个数,参数类型,请求方式等,要求包含设计中却未包含,这些都是很重要的,一个用例的好坏,主要是看其是否覆盖了所有的可能性。

请求参数

除了以上这些,还有一个很重要的方面,就是测试数据。对于一个接口来说,数据的设计可以说是重中之重,因为数据才是接口测试的核心,一旦数据发生改变,结果就会有很大的差异,数据是否符合要求,数据是否是有效数据,这些都要在用例中体现,比如你设计的数据是否来源于真实的数据库,是否是有效数据。对于接口测试来说,请求参数就是我们对于数据的地方,所以对请求参数的分析要彻底,要到位。

一个接口测试用例,只要包含了以上所说的内容,就可以说是一个完整的接口测试用例了,如果你的数据设计合理,预期结果设计对应每次请求都有详细的要求,那么这个接口测试用例一定是满足要求的,一定是一份优秀的接口测试用例。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

uniapp开发一个交流社区小程序

uniapp开发一个交流社区小程序 假期的时候简单学了一下uniapp,想开发一款类似百度贴吧的交流社区来练练手。本篇文章主要记录开发过程,文末附上项目地址。 主要需要开发以下几个页面。 信息页面热榜页面用户主页用户信息页 信息页面 该页面的功能主要…

【Android】RxJava系列01-基本概述和基本用法

少年啊,要永远相信美好的事情即将发生 【Android】RxJava系列01-基本概述和基本用法 1.RxJava的概述2.RxJava的作用3.观察者和被观察者4.背压5.RxJava的基本用法步骤一,创建Observer(观察者)步骤二,创建Observable&…

华为nova12系列:图片HDR显示,让你的照片全面升级!

你是不是也想给自己的照片加点料,让它们看起来更真实、捕捉到更多的细节和光影?不用愁,华为nova12系列就为你量身打造了图片HDR显示技术,让你的照片从此焕发绚丽光芒! 回忆一下,在节日的夜晚想拍下绚丽的灯…

免费ai绘画软件选择哪个?

对于免费AI绘画软件的选择,因为每个软件都有其独特的优点和适用场景,可以根据个人的需求和技能水平来决定。以下是被广泛认可的AI绘画软件: 1、建e网AI-一款为建筑室内设计师提供AI绘图的智能工具,具有文字生图,方案优…

值得收藏的上千个涉及各个领域各个方面的免费的API接口服务,全网盘点并统计了网上诸多的免费API

值得收藏的上千个涉及各个领域各个方面的免费的API接口服务,全网盘点并统计了网上诸多的免费API。 一位开发者在GitHub上维护的免费API文档,不定期收录了互联网上开放的各种API接口。这些接口有些是来自第三方服务,你只需要在第三方注册成为会…

如何使用 FOFA 搜索引擎保姆级教程(附链接)

一、介绍 FOFA(Fingerprinting Organizations with Advanced Tools)是一家总部位于中国的网络安全公司提供的一款网络搜索引擎,专注于帮助用户收集和分析互联网上的设备和服务信息。FOFA 的主要特点包括: 设备指纹识别&#xff1…

面试150 颠倒二进制位 位运算分治 逻辑右移

Problem: 190. 颠倒二进制位 文章目录 思路复杂度位运算分治法 思路 👨‍🏫 参考题解 >>>:逻辑右移(符号位一起移动,高位补零) 复杂度 时间复杂度: O ( log ⁡ n ) O(\log{n}) O(logn) 空间…

Win10系统搭建个人hMailServer邮件服务结合内网穿透远程发邮件

文章目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpola…

计算机网络_1.6.1 常见的三种计算机网络体系结构

1.6.1 常见的三种计算机网络体系结构 1、OSI(七层协议)标准失败的原因2、TCP/IP参考模型3、三种网络体系结构对比 笔记来源: B站 《深入浅出计算机网络》课程 1、OSI(七层协议)标准失败的原因 (1&#xf…

Django的web框架Django Rest_Framework精讲(四)

文章目录 1.DRF认证组件Authentication2.权限Permissions3.限流Throttling4.过滤Filtering5.排序6.分页Pagination7.异常处理 Exceptions8.自动生成接口文档 大家好,我是景天,今天我们继续DRF的最后一讲,Django的web框架Django Rest_Framewor…

STM32--揭秘中断(简易土货版)

抢占优先级响应优先级 视频学习--中断​​​​​​​

正则表达式可视化工具regex-vis

什么是正则表达式 ? 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。【百度百科】 正则表达式用简短…

【图论】基环树

基环树其实并不是树,是指有n个点n条边的图,我们知道n个点n-1条边的连通图是树,再加一条边就会形成一个环,所以基环树中一定有一个环,长下面这样: 由基环树可以引申出基环内向树和基环外向树 基环内向树如…

【新书推荐】5.2 位运算符

本节必须掌握的知识点: 位运算 示例十七 代码分析 汇编解析 5.2.1 位运算 位运算符如表5-2所示: 运算符 作用 示例 & 按位与 两个操作数同时为1,结果为1; | 按位或 两个操作数只要有一个为1,结果就为1&a…

【lesson38】让minishell支持重定向

文章目录 minishell支持重定向minishell完整代码 minishell支持重定向 支持重定向的核心逻辑: 1.分析字符串是否含有重定向的符号,并且提取文件名。 #define INPUT_REDIR 0 //输入重定向 #define OUTPUT_REDIR 1 //输出重定向 #define APPEND_REDIR…

电脑上常见的绘图软件有哪些?

现在在电脑上绘图很流行,不仅可以随时更改,还可以提高绘图效率,绘图软件中有很多工具。市场上的计算机绘图软件种类繁多。包括艺术设计、工业绘图和3D绘图。那么每个绘图软件都有自己的特点。那么,哪个更适合计算机绘画软件呢&…

路由器、路由器的构成、交换结构

目录 1 路由器 1.1 路由器的结构 “转发”和“路由选择”的区别 1.1.1 输入端口对线路上收到的分组的处理 1.1.2 输出端口将交换结构传送来的分组发送到线路 2.2 交换结构 2.2.1 通过存储器 2.2.2 通过总线 2.2.3 通过纵横交换结构 (crossbar switch fabric) 1 路由器…

算法练习-环形链表(思路+流程图+代码)

难度参考 难度:中等 分类:链表 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。且所在课程未提供测试平台,故实现代码主要为自行测试的那种,以下内容均为个人笔记,旨在…

用Jmeter进行接口测试

web接口测试工具: 手工测试的话可以用postman ,自动化测试多是用到 Jmeter(开源)、soupUI(开源&商业版)。 下面将对前一篇Postman做接口测试中的接口用Jmeter来实现。 一、Jmeter 的使用步骤 打开Jme…

SpringCloud Gateway(4.1.0) 返回503:原因分析与解决方案

文章目录 一、环境版本二、原因分析三、解决方案 一、环境版本 Versionspring-cloud-dependencies2023.0.0spring-cloud-starter-gateway4.1.0Nacosv2.3.0 二、原因分析 在 Spring Cloud Gateway 的早期版本中,Ribbon 被用作默认的负载均衡器。随着Spring Cloud的…