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

article/2025/9/2 7:23:06

一、用例设计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条每个参数的参数值都小于数据范围最小值的逆向用例

资源分享

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

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….


http://chatgpt.dhexx.cn/article/yA6RjY6k.shtml

相关文章

做接口测试的流程一般是怎么样的?

在讲接口流程测试之前,首先需要给大家申明下:接口测试对于测试人员而言,非常非常重要,懂功能测试接口测试,就能在企业中拿到一份非常不错的薪资。 这么重要的接口测试,一般也是面试笔试必问。为方便大家更…

自动化测试——接口测试怎么做?

目录: 一、什么是接口? 二、接口测试流程 三、接口测试工具 四、接口测试技术点 五、总结 导读: 为什么要做接口测试 接口测试本质上是功能测试的一种,属于后端服务器测试。但是它的影响范围要远广于web,app层面。原因…

接口测试教程(一看就会)

前言 掌握了http协议,就掌握了接口测试 笔者在网络上看过不少接口测试教程,一上来就开始讲怎么操作工具,而不告诉读者为什么要这么操作。读者可能照猫画虎成功了,也可能操作失败了但不知为何出错。 因此,本文作为接口…

接口测试的价值(为什么要做接口测试)

目录 首先了解一下互联网的技术架构: 接口测试的必要性 接口测试不能取代UI的测试 首先了解一下互联网的技术架构: 按照端来划分可以分为两部分:移动端和服务端,各自的内容大概如下图所示 后端(服务端)…

接口测试的原理,什么是接口测试?为什么要做接口测试?如何开展接口测试?

什么是接口? 业内常说的接口一般指两种: API:应用程序编程接口,程序间的接口GUI:图形用户界面,人与程序的接口 软件接口测试中的接口特指API接口接口测试又称API测试 接口实例:系统与系统间…

接口测试到底怎么做,5分钟时间看完这篇文章彻底搞清楚

01、通用的项目架构 02、什么是接口 接口:服务端程序对外提供的一种统一的访问方式,通常采用HTTP协议,通过不同的url,不同的请求类型(GET、POST),不同的参数,来执行不同的业务逻辑。…

手把手教你做接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 简答的说就是通过URL像服务器或者其他模块等&…

接口测试是什么?为什么要做接口测试?

前言 接口测试现在已经成为测试工程师的必备技能 我是常常安利身边的工程师一定要精通接口测试,注意,这里是精通,不是知道或了解。原因很简单,你点开招聘网站上各大公司对于测试工程师的要求,就能看到接口测试已经成为…

如何做接口测试

文章目录 前言一、什么是接口、接口测试1.接口2.接口测试 二、进行接口测试的基本流程1.需求获取2.测试计划编写3.测试用例设计、评审4. 测试执行5.测试报告、评估 三、接口测试思路四、接口测试工具 前言 一、什么是接口、接口测试 首先进行接口测试之前,先了解什…

接口测试需要怎么做?

接口测试需要怎么做? 什么是接口测试?接口测试到底测什么?如何进行接口测试?SSL-Pinning的问题及解决方案接口测试自动化回归测试接口自动化回归测试方案接口测试的更多可能参考文献 关注【郑大钱呀】[公][众][号],回复…

接口测试到底怎么做?

01 通用的项目架构 02 什么是接口 接口:服务端程序对外提供的一种统一的访问方式,通常采用HTTP协议,通过不同的url,不同的请求类型(GET、POST),不同的参数,来执行不同的业务逻辑。 …

一篇文章,教你彻底掌握接口测试!

一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、…

ES7新特性async/await详解

一、async/await的用法 async用于修饰一个函数使函数返回一个Promise 对象。 async function testAsync() {return "hello async"; }const result testAsync(); console.log(result);await必须在用async修饰的函数中使用,await用于修饰一个语句&#x…

Elasticsearch 7新特性

Elasticsearch是一款强悍的分布式搜索和分析引擎,以下简称为ES,通过本文我简单介绍下ES7部分新特性,内容包括: 聚合查询的优化ES7中索引type被移除索引创建默认1个分片优化查询速度hits.total返回对象_flush和_force_merge不再强制…

ES7的新特性

1.新增了includes的数组查找方法 使用场景:确认数组中有我们需要查找的内容 在ES7之前,我们接触到的数组方法可以通过filter或者indexOf 如果使用filter 可以直接筛选之后输出,如果是indexOf则根据返回值来判断是否在当前数组中。 如果返回…

【Spring Cloud Alibaba】(二)微服务调用组件Feign原理+实战

系列目录 【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战 本文目录 系列目录前言什么是RPC?Feign和OpenFeign都是什么?HTTP调用 vs Feign(RPC)调用单独使用Feign实战Feign核心源码解读Feign整体设计架构Spring Cl…

聊聊 Feign 的实现原理

What is Feign Feign 是⼀个 HTTP 请求的轻量级客户端框架。通过 接口 注解的方式发起 HTTP 请求调用,面向接口编程,而不是像 Java 中通过封装 HTTP 请求报文的方式直接调用。服务消费方拿到服务提供方的接⼝,然后像调⽤本地接⼝⽅法⼀样去…

简单谈谈Feign

简单谈谈Feign 文章目录 简单谈谈Feign前言Feign属于RPC嘛? 原理简单图解原理简述Feign.Build动态代理工厂InvocationHandlerFactory动态代理类FeignInvocationHandler方法处理器MethodHandler 总结 本文只是简单粗略的分析一下feign的源码与过程原理 前言 Feign是…

Feign 原理 (图解)

疯狂创客圈 经典图书 : 《Netty Zookeeper Redis 高并发实战》 面试必备 面试必备 面试必备 【博客园总入口 】 疯狂创客圈 经典图书 : 《SpringCloud、Nginx高并发核心编程》 大厂必备 大厂必备 大厂必备 【博客园总入口 】 入大厂涨工资 必备的 …

Feign详解与实例

基本介绍 Feign是一种负载均衡的HTTP客户端, 使用Feign调用API就像调用本地方法一样,从避免了调用目标微服务时,需要不断的解析/封装json 数据的繁琐。Feign集成了Ribbon。Ribboneureka是面向微服务编程,而Feign是面向接口编程。 Fegin是一个…