接口测试用例怎么写?一文1600字教你写一个优秀的接口测试的测试用例

news2025/1/11 18:47:09

一、用例设计1

1、接口测试概念

接口测试:测试系统间接口的一种测试,测试的对象主要是接口,主要是测试外部系统与所测系统之间以及内部系统之间的交互点

2、接口测试方法

a、可以通过开发脚本代码进行测试
b、可以通过开源免费的接口调用调试工具测试,如:Postman等。
c、可以通过App手动测试,结合抓包工具分析,如:Fillder/Charles等

3、接口测试范围

接口范围包括:
一、被测项目中同层之间的接口(如DAO层、Service层),一个接口调用了其他的接口。
二、外部系统与系统之间的交互点(如一个App调用了第三方支付宝的API)
三、各个子系统之间的交互点(如App客户端调用了服务端的Http接口)

被测接口范围:
通常接口会很多,接口测试范围的筛选,参考测试人力资源、项目特点、接口重要性与优先级来进行。其中第一种属内部接口,构造测试稍复杂需开发配合实施,通常优先覆盖第二、三种接口
接口测试的重点测试范围:
优先测试覆盖核心业务,复杂业务的接口


4、如何设计接口测试用例

接口测试出发点是被测接口逻辑存在错误,参考这个为出发点,更容易发现问题
设计接口测试用例,我们可简单的考虑两个基本要素,即:入参、出参,正确/错误的入参,逻辑判断后,接口是否做出正确的处理,返回正确的出参

接口测试用例有3类(逻辑测试,异常测试,路径测试):
1)逻辑测试:主要是根据开发提供的接口文档来设计测试用例,接口文档包含的要素(前提条件,输入参数,参数类型,业务逻辑,返回输出描述等),此类主要测试在正常输入的情况下,是否能得出正确的输出结果。主要使用的用例设计方法是等价类划分,边界值等

2)异常测试:接口逻辑的测试中主要测试接口正常逻辑,即对外提供的接口服务是基本可用的,但仅逻辑测试不能保证数据的安全及程序接口在异常情况下的逻辑处理的正确性
(a) 空值,null;
(b) 参数属性(如:未赋值的参数)
(c) 异常业务参数(如:构造不满足业务异常业务参数)
(d) 参数个数、参数类型错误(如:接口文档中定义必填参数2个int,输入参数仅1个,类型非int)
3)路径测试:当被测接口的实现方法中,判断逻辑复杂分支多,且判断中又调用了其他的接口,此时必须要进行路径覆盖测试

5、接口测试关注点

6、接口自动化测试工具
1)Java(HttpClient) + Junit/TestNG;
2)Jmeter
3)SoapUI
4)Python requests/urllib 库;
......

二、用例设计2

1、优先级--针对所有接口

1.暴露在外面的接口,因为通常该接口会给第三方调用
2.供系统内部调用的核心功能接口
3.供系统内部调用非核心功能接口

2、优先级--针对单个接口

1.正向用例优先测试,逆向用例次之(通常情况,非绝对)
2.是否满足前提条件 > 是否携带默认参值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制 > 参数数据类型自身的数据范围值限制

3、设计分析

通常,设计接口测试用例需要考虑以下几个方面:

1.是否满足前提条件
有些接口需要满足前置条件,才可成功获取数据。常见的,需要登陆Token;
逆向用例:针对是否满足前置条件(假设为n个条件),设计0~n条用例

2.是否携带默认值参数
正向用例:带默认值的参数都不填写、不传参,必填参数都填写正确且存在的“常规”值,其它不填写,设计1条用例

3.业务规则、功能需求
这里根据实际情况,结合接口参数说明,可能需要设计n条正向用例和逆向用例

4.参数是否必填
逆向用例:针对每个必填参数,都设计1条参数值为空的逆向用例

5.参数之间是否存在关联
有些参数彼此之间存在相互制约的关系;
逆向用例:根据实际情况,可能需要设计0~n条用例

6.参数数据类型限制
逆向用例:针对每个参数都设计1条参数值类型不符的逆向用例

7.参数数据类型自身的数据范围值限制
正向用例:针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例
逆向用例:针对每个参数(假设n个),设计n条每个参数的参数值都超出数据范围最大值的逆向用例;针对每个参数(假设n个),设计n条每个参数的参数值都小于数据范围最小值的逆向用例

END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃèÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃèÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÿÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃéÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃæÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃþÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃçÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃæÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃèÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÿÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃð

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

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

相关文章

使用HHDBCS的SSH通道登陆数据库

传统远程登录或文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全隐患。 随着人们对网络安全的重视,SSH协议已经越来越被用户所青睐。 SSH协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了…

Spring Cloud Alibaba 快速上手搭建公司项目(三)GateWay

Gateway是Spring Cloud生态系统中的一个组件,它是一个基于Spring Cloud Gateway的API网关。它提供了一种简单、快速和可扩展的方式来管理微服务之间的请求流量。 它是一个轻量级的API网关,它可以轻松地与Spring Cloud集成,并提供了一些高级功…

你是外包,麻烦不要偷吃零食,注意素质..

我自己没经历过外包,靠自己的所见所闻可能写出来的东西会很主观,所幸我有不少外包的读者,还有几个在外包工作或工作过的朋友,在跟她们深度交流之后,这这里聊一下我自己的一些看法。 注:本文不代表所有外包公…

libtorch教程(一)开发环境搭建:VS+libtorch和Qt+libtorch

前言 事实上,在前面的pytorch部署博客和libtorch的QT部署中笔者已经分享了自己搭建libtorch开发环境的记录。其余并无太多要赘述的。 本教程禁止转载。同时,本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习。 Transformer、目…

苹果CMS仿T5资源站影视资源分享网站模板

简介: 苹果cms仿T5资源站影视资源分享网站模板,包括首页、详情页、留言页、和播放弹窗!适合拿去做资源站! 云盘地址: http://zijieyunpan.cn/eF3crCQyWVO 演示:

Android Input子系统 - PhoneWindowManager

基本概念 PhoneWindowManager也是运行于systemserver线程中,在Event事件分发之前处理,比如电源键。Event事件分发后,仅有包含Activity的apk线程才可以处理,如果apk中没有activity但是想处理Event事件怎么办呢?可以在PhoneWindowManager做做文章了。 在SystemServer中, inputM…

数影周报:免费VPN泄露3.6亿条数据,句子互动获数百万美融资

本周看点:免费VPN泄露3.6亿条用户数据;推特信任与安全主管宣布辞职;宣亚国际宣布推出OrangeGPT;亚马逊日本将在关东地区开设两个新物流中心;句子互动完成数百万美元Pre-A轮融资...... 数据安全那些事 免费VPN泄露3.6亿…

黑客松必备|Bear Necessities Hackathon赞助商Workshop汇总

由Moonbeam和AWS Startups联合主办的Bear Necessities Hackathon黑客松启动仪式于5月30日举行。本次黑客松将历时约1个月的时间,包含6个挑战,分别由Moonbeam基金会、Chainlink、StellaSwap、SubQuery、Biconomy提供赞助,总奖池超过5万美金。了…

requests做接口测试

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它…

【linux 脚本篇】流程控制语句-case

目录 🍁案例一:菜单选项 🍂if语句执行 🍂case语句执行 🍁案例二:rsync服务脚本 🍂if语句执行 🍂case语句执行 🍁案例三:nginx服务脚本 🍁案例四&a…

【收藏】FP独立站建站安心收款经验分享

前几天有个客户咨询我,跟我说了他的疑问。他是在阿里巴巴国际站上面做鞋服,但看到同行在独立站上铺fp,所以他想问问:怎么建立一个独立站并在上面成功推出fp呢?今天,我就来跟有类似诉求的朋友们分享一下&…

企业邮箱保密性评测揭晓:哪个流行的企业邮箱保密性更高?

大多数流行的电子邮件提供商都没有为您的电子邮件提供足够的保护,这已不是什么秘密。在这里我们将了解流行的电子邮件提供商使用的不同类型的加密,以及您如何选择满足您的隐私需求的企业邮箱最佳提供商。 一、谷歌邮箱 默认情况下,Gmail使用T…

element-ui更改单元格字体颜色

作者创建的项目为vue3ts,写法上有些需要注意的点: 如果script 标签使用了 setup,这个时候 export 是没有必要的,也就是使用了setup 后,就不要再写 export 了,不然会报错“A default export must be at the…

(通用0bug)纯原生实现一个类似浏览器搜索功能(ctrl + f)

如果可以实现记得点赞分享,谢谢老铁~ 一、问题的描述 由于公司业务需要在搜索框中,模拟Ctrl F 的搜索功能,支持自选可搜索区域范围,且支持回车查看下一个,上下查看,自动滚动定位,…

OpenAI新作,直指DeepMind格局小了!大模型复杂推理应逐步验证

作者 | Python、Zenmoore 谷歌旗下的DeepMind,因AlphaGo而名声大振;而推出ChatGPT的OpenAI,近日更是如日中天。 然而,OpenAI公开了一篇论文[1],结论同DeepMind去年11月的工作[2]完全相反。在对比差异时,论…

【AI】dragonGPT - 单机部署、极速便捷

dragonGPT 从数据私有化,到prompt向量库匹配,再到查询,一条龙服务,单机部署,极简操作 pre a.需要下载gpt4all model到本地. ggml Model Download Link 然后将存放model的地址写入.env MODEL_PATH your pathb.…

安卓系统远程控制电脑方法

要从安卓设备远程控制计算机,您可以使用专门为此目的设计的远程桌面软件或应用程序。 以下是使用安卓设备远程控制计算机的一般方法: 选择一个远程桌面应用程序:比如 Splashtop 远程控制软件。 在计算机上安装远程桌面软件:要实…

【map和set的封装】

文章目录 前言1 大致框架2 迭代器3 map和set的封装 前言 上篇博客已经讲解了红黑树插入的模拟实现,这篇文章的目的是利用上节课讲解的底层实现来封装map和set.参考代码借鉴的是STL SGI版本3.0 1 大致框架 首先我们来看看源码里面怎么定义的: 从源码中我们不难发现m…

什么是分布式事务?

什么是分布式事务? 分布式对应的是单体架构,互联网早起单体架构是非常流行的,好像是一个家族企业,大家在一个家里劳作,单体架构如下图: 但是随着业务的复杂度提高,大家族人手不够,…

Redis中的哈希结构(Dict)

前言 哈希结构是一个在计算机中非常常见的结构。哈希结构可以让我们在O(1)时间复杂度查找元素并且对其操作,并且增删改查性能并不会随着数据量的增多而改变。反而数据量的增大,会出现两个关键问题,一个是哈希冲突,另一个是rehash…