接口测试用例设计实践总结

8年测试老鸟总结,接口自动化测试测试用例编写(全覆盖场景) 自动化测试,或者说接口自动化测试,多数人的第一反应是该用什么工具。比如:Python Requests、Java HttpClient、Apifox、MeterSphere、自研的自动化平台等。大家似乎更关注的是哪个工具更优秀,甚至出现“ 做平台的 > 写脚本的 > 用工具的 ”诸如此类的鄙视链,工具并没有高低贵贱之分,只能说哪个更适合,适合当前的业务以及适合当前的团队协作。自动化测试的本质还是测试,自动化只是为了提高测试的效率,而测试的基础是测试用例,因此我们不应该忽略接口自动化测试用例的设计问题。 阅读详情

接口测试用例设计实践总结

by:授客 QQ:1033553122

 

设计思路

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

1、暴露在外面的接口,因为通常该接口会给第三方调用;

2、供系统内部调用的核心功能接口;

3、供系统内部调用非核心功能接口;

 

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

1、正向用例优先测试,逆向用例次之(通常情况,非绝对);

2、是否满足前提条件 > 是否携带默认参值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制 >参数数据类型自身的数据范围值限制

 

 

3)   设计分析

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

1、是否满足前提条件

有些接口需要满足前置条件,才可成功获取数据。常见的,需要登陆Token。

逆向用例:

针对是否满足前置条件(假设为n个条件),设计0~n条用例

 

2、是否携带默认值参数

正向用例:

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

 

3、业务规则、功能需求

这里根据实际情况,结合接口参数说明,可能需要设计n条正向用例和逆向用例

 

5、参数是否必填

逆向用例:

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

 

4、参数之间是否存在关联

有些参数彼此之间存在相互制约的关系

逆向用例:

根据实际情况,可能需要设计0~n条用例

 

5、参数数据类型限制

逆向用例:

针对每个参数都设计1条参数值类型不符的逆向用例

 

6、参数数据类型自身的数据范围值限制

正向用例:

针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例

 

逆向用例:

针对每个参数(假设n个),设计n条每个参数的参数值都超出数据范围最大值的逆向用例

针对每个参数(假设n个),设计n条每个参数的参数值都小于数据范围最小值的逆向用例

 

以上几个方面考虑全的话,基本可以做到如下几个方面的覆盖:

主流程测试用例:正常的主流程功能校验;

分支流测试用例:正常的分支流功能校验。

异常流测试用例:异常容错校验

 

4)   编写描述

尽量逻辑化,这样方便后续的维护

 

5)   实践操作

接口样例

获取订单列表接口(多条件)

获取店铺指定期间的所有订单列表(多种条件组合),默认根据日期倒序排序。

接口方向

客户端 -> 服务端

接口协议

接口地址:$xxx_Home/xxx/鉴权前缀/xxxxx/getAllOrderList

接口协议:JSON

HTTP请求方式:GET

 

消息请求

字段列表如下:

字段名

数据类型

默认值

必填项

备注

shopId

int

 

是

商铺编号

token

string

 

条件

设备令牌。Token鉴权方式必填

dateType

int

1

否

订单查询时间字段。

1:下单时间(order_time)

2:订单完成时间(order_finish_time)

3:结算时间(shop_settle_time)

startDate

date

 

是

查询日期

endDate

Date

 

否

查询结束日期。

orderStatus

String

 

否

订单状态。

不填表示所有状态

多个状态之间以英文逗号分割

0:已预定

1:已开单

2:派送中

3:已完成(原已结帐)

4:退单中

5:已退单

8:自助下单

9:待确认

orderTransactionType

Int

 

否

订单交易状态。

不填表示所有。

1:未完成,

2:已完成(3:已完成, 5:已退单)

payType

int

 

否

支付方式。

不填表示所有。

1:现金

2:POS

3:线上

cashierId

int

 

否

收银员

billerId

int

 

否

导购员

pNo

int

 

否

页码,从第1页开始,默认为1

pSize

int

 

否

每页记录数,默认为10

 

消息请求样例:

?shopId=1111111111&token=123411nmk515155&queryDate=2015-10-10

消息响应

字段元素如下:

字段名

数据类型

默认值

必填项

备注

orderTotalPriceTotal

double

 

是

实收金额合计(已完成的合计)

platformTotalIncomePriceTotal

double

 

是

平台服务费合计

cashPayTotal

double

 

否

现金支付(已完成的合计)

posPayTotal

double

 

否

POS支付(已完成的合计)

onLinePayTotal

double

 

否

线上支付(已完成的合计)

lst

object

 

是

明细列表

 

明细列表对象字段元素定义:

 

字段名

数据类型

默认值

必填项

备注

orderId

string

 

是

订单ID

orderTitle

string

 

是

订单标题

mobile

string

 

否

会员账号,如果是会员则显示手机号,为空时表示“非会员”

settlePrice

double

 

是

交易金额

orderTime

datetime

 

是

下单时间

serviceAmount

double

 

是

平台服务费

Status

Int

 

是

订单状态。

0:已预定

1:已开单

2:派送中

3:已完成(原已结帐)

4:退单中

5:已退单

8:自助下单

9:待确认

cashPay

double

 

否

现金支付

posPay

double

 

否

POS支付

onLinePay

double

 

否

线上支付

 

成功时,返回JSON数据包:

{

    "code": 0,

    "msg": "查询订单列表成功!",

    "data": {

        "pNo": 1,

        "rCount": 5,

        "orderTotalPriceTotal": 23.3,

        "platformTotalIncomePriceTotal": 0,

        "lst": [

            {

                "orderTitle": "kouxiangtang",

                "settlePrice": 15.89,

                "cashTotal": 15.89,

                "posTotal": 0,

                "onLineTotal": 0,

                "orderTime": "2015-09-29 13:44:26",

                "orderId": "12345679282015092913440268141",

                "mobile": "13424183952"

            },

            {

                "orderTitle": "红塔山",

                "settlePrice": 7.5,

                "cashTotal": 7.5,

                "posTotal": 0,

                "onLineTotal": 0,

                "orderTime": "2015-09-29 11:37:58",

                "orderId": "12345679282015092911370588273"

            }

        ]

    }

}

 

 

 

用例设计

 

 

测试思想-测试设计 <wbr>接口测试用例设计实践总结

测试思想-测试设计 <wbr>接口测试用例设计实践总结


测试思想-测试设计 <wbr>接口测试用例设计实践总结

测试思想-测试设计 <wbr>接口测试用例设计实践总结

 

 

存在问题:

如上,还没写完就有40几条用例了,要是接口参数再多点,接口数量再增加点,工作量可想而知,所以,问题来了,咋办呢?

 

个人见解:

1、根据接口的使用对象(外部,系统内部),有选择的去、留部分用例

2、根据接口的是否核心接口,有选择的去、留部分用例

3、根据参数说明,及实际情况,有选择的去、留部分用例

 

实例:

上例这个接口,是供app、商铺后台调用的,且为系统内部调用,所以,以下用例可酌情略去:

test-E-按商铺id查询-商铺id非int型

test-E-按设备token查询-token非string类型

test-E-按订单时间类型查询-时间类型非int型

test-E-按起始日期查询-时间类型非date型

test-E-按结束日期查询-时间类型非date型

test-E-按订单状态查询-订单状态非string类型

test-E-按交易状态查询-交易状态非int型

test-E-按支付方式查询-支付方式非int值

test-E-按收银员查询-收银员id非int值

test-E-按导购员查询-导购员id非int值

test-E-按页码查询-页码非int值

 

理由:

这个接口是给其它开发于系统内部调用的,开发过程中,开发者肯定需要调用这些接口,如果类型错了,他们也就获取不到预期的数据,这些错误,他们肯定可以发现,所以,他们传递的参数值一般能保证类型正确。

 

test-N-按参数类型最大值查询    所有参数

test-E-按商铺id查询-商铺id超过类型范围值

test-E-按订单状态查询-订单状态值超过类型最大值

test-E-按交易状态查询-交易状态值超过int类型最大值

略去的用例部分(参数值超过类型最大值)

 

理由:

1、内部调用,参数值不是外部手动输入的,输入数据长度、值大小可控,当然如果数据一直增长,那再大的类型可能都无法保证不超出,比如自动增长的商铺id

2、部分参数的参数值是自定义的,比如 订单时间类型,就那几种,除非传错了,不然不可能超出范围

 

最后简化后的用例数差不多28条,如果是手工测试,对于正向用例,根据等价类原理,可以制造一条数据,覆盖多条用例,当然,也可以冗余处理,即一条用例一条数据,这样的好处就是每次的验证点比较单一一点,比较有针对性。

 

问题

如果是自动化测试呢,这里是设计一个方法覆盖多条用例呢(如上,一条数据,覆盖多条用例)?还是一个方法覆盖一条用例呢?

 

我个人的答案是一个方法一条用例,你的呢?

VMware虚拟机安装UOS系统详细教程与避坑指南 虚拟化通过硬件抽象和资源隔离,让操作系统在独立环境中运行,从而降低试错成本并提升测试效率。VMware Workstation作为主流桌面虚拟化平台,对Linux客户机支持成熟,结合UOS等国产操作系统镜像,可快速搭建可回滚、可隔离的验证环境。其技术价值在于快照回滚、网络隔离和跨系统文件传输,适合国产化适配测试、软件开发、运维演示等场景。围绕镜像校验、资源分配、分区方案、open-vm-tools增强组件、共享文件夹与端口转发等关键环节,掌握VMware Workstation安装UOS的完整流程,能有效规 阅读详情

相关推荐

接口测试用例设计方法论:从协议到安全的系统化实践

在软件工程中,接口作为系统间交互的契约,其测试是保障软件质量的关键环节。接口测试的核心原理在于对数据契约的符合性、业务逻辑的健壮性及系统边界的安全性进行全方位验证。其技术价值在于,相比UI测试,它能以更高的执行效率和稳定性,实现更深层次的测试覆盖,并易于集成到自动化流水线中,是微服务与前后端分离架构下不可或缺的质量保障手段。应用场景广泛覆盖了从功能验证、异常处理到安全防护和性能基准测试。本文将聚焦于如何系统化地设计接口测试用例,通过“三层六维”分析法,结构化地覆盖协议语法、业务逻辑及系统安全等层面,并结合P

weixin_28842269的博客 264

测试思想-测试设计 接口测试用例设计实践总结

接口测试用例设计实践总结 by:授客 QQ:1033553122 设计思路 1) 优先级--针对所有接口 1、暴露在外面的接口,因为通常该接口会给第三方调用; 2、供系统内部调用的核心功能接口; 3、供系统内部调用非核心功能接口; 2) 优先级--针对单个接口 1、正向用例优先测试,逆向用例次之(通常情况,非绝对); 2、是否满足前提条件 > ...

weixin_30810583的博客 642

接口测试用例设计实践(含详细实例)

从接口测试目的出发,详细分享接口测试用例设计思路。最后以最常用的增删改查接口为实例分享接口测试用例设计全过程。

苏安の博客 3360

常见功能测试思路

常见测试思路

kathleen99的博客 1084

接口测试用例设计实践

本文将介绍一个接口测试用例的设计实践,包括用例ID、模块、接口名称、请求URL、前置条件、请求类型、请求参数类型、请求参数、预期结果、实际结果、备注、是否运行、headers、cookies、status_code和数据库验证等内容。通过学习本篇文章,学员可以了解接口测试用例设计的方法和技巧,提高接口测试的效率和准确性。该接口用于查询指定男女星座的配对指数和建议等信息。以上是接口测试用例的设计,其中包含了接口名称、请求URL、请求参数等信息。三、接口测试用例设计实践案例分析。一、用例ID:xzpd_1。

AI 爪客,专注 AI 智能体与 Skill 研发落地,斩获腾讯云、讯飞、小米等多场 AI 赛事奖项,分享 Agent 实战干货与工程化经验。 1078

C# 实现文件和字符串的AES加密解密

C# 实现文件和字符串的AES128加密解密

m0_72044573的博客 5935

接口重复调用的容错处理

特产接口重复调用的容错处理 (1)需求: 客户下订单,可能会出现重复提交订单的情况,例如客户提交了两次订单, 假如第一次是有效的提交,第二次是无效的订单,如何区别出这两次的提交是同一个订单。 (2)数据库表的需求: 1)每天每个账号只有一条记录,上面的seq改为seqs,空格隔开多个序号 2)数据库设计的表如下: 3)seqs设置为text或者varcha

陈旭媛 1万+

智能座舱语音测试避坑指南:从唤醒率到方言识别,这些场景你测全了吗?

本文深入解析智能座舱语音测试的关键场景与避坑指南,涵盖唤醒率测试、方言识别、多音区交互等复杂场景。通过实战案例与自动化测试方案,帮助开发者全面提升语音系统的可靠性与用户体验,特别关注环境噪声干扰与方言覆盖策略。

weixin_42613501的博客 496

【接口测试用例设计思路】

接口测试用例设计 2.1、接口参数基本校验 2.2、正常功能逻辑校验 2.2.1、入参处理 2.2.2、常用变量类型注意点 2.2.3、实际业务校验点 2.3、异常处理逻辑 2.4、日志检查 2.5、数据一致性 2.6、写接口相关 2.6.1、幂等校验 2.6.2、事务验证 2.7、性能并发问题 2.7.1、线程死锁 2.7.2、DB死锁 一、接口测试用例设计 2.1、接口参数基本校验 一个接口的入参,在不考虑具体的业务逻辑的情况下,我们大致需要注意以下两点:参数类型、参数

m0_55977762的博客 6378

遥感图像融合实战:5分钟搞懂全色与多光谱图像如何提升分辨率(附Python代码)

本文通过实战案例,详细解析了如何利用全色锐化技术融合全色与多光谱遥感图像,以提升图像分辨率。文章深入浅出地介绍了核心概念、环境配置、经典GS融合算法的Python代码实现,并对比了不同算法的优劣,最后提供了效果评估方法与实战陷阱分析,帮助读者快速掌握遥感图像融合的关键技术。

weixin_29041195的博客 394

环境配置 |Jupyter lab/Jupyter Notebook 安装与设置

ipynb使用Jupyterlab/Jupyter Notebook 来编写程序时的文件,在使用时,可以现转换为标准的.py的python文件。

weixin_44649780的博客 5769

测试思想-测试设计 接口测试用例设计实践总结

测试思想-测试设计 接口测试用例设计实践总结转载▼ 接口测试用例设计实践总结设计思路1)  优先级–针对所有接口 1、暴露在外面的接口,因为通常该接口会给第三方调用; 2、供

wangfeng1992的博客 546

Eclipse邂逅Deepseek:本地化部署全攻略

通过前面一系列的步骤,我们成功地在 Eclipse 中完成了 Deepseek 的本地化部署,并且对部署后的功能进行了测试和优化,还解决了可能遇到的一些常见问题。这一过程不仅让我们体验到了将强大的大语言模型与高效的开发环境相结合的魅力,也为我们在软件开发过程中带来了诸多便利。本地化部署 Deepseek 到 Eclipse,使得我们在代码编写过程中能够获得智能的代码补全和精准的问答支持,大大提高了开发效率。同时,本地化部署保障了数据的安全性和隐私性,避免了数据在传输过程中可能面临的风险。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4509

软件接口测试实践方法,接口测试之用例设计实践总结

设计思路1)优先级--针对所有接口1、暴露在外面的接口,因为通常该接口会给第三方调用;2、供系统内部调用的核心功能接口;3、供系统内部调用非核心功能接口;2)优先级--针对单个接口1、正向用例优先测试,逆向用例次之(通常情况,非绝对);2、是否满足前提条件>是否携带默认参值参数>参数是否必填>参数之间是否存在关联>参数数据类型限制>参数数据类型自身的数据范围值限制3)...

weixin_34701481的博客 322

微信群“智”变:扣子机器人无缝接入实战

本文介绍了如何将扣子(Coze)机器人接入微信群实现智能化管理。文章首先阐述了扣子机器人的自然语言处理、自动分类和多模态交互等功能特点,以及其深度学习模型和持续学习能力的技术优势。随后详细讲解了接入步骤:从微信公众号配置、扣子平台机器人创建,到使用Flask框架实现消息转发功能的关键代码。通过电商客服和技术社群两个实际案例,展示了扣子机器人在提升响应效率、优化社群运营方面的显著效果。最后展望了未来在智能推荐、多模态交互等领域的发展潜力,为微信群智能化管理提供了实用解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 828

12、知识图谱数据处理与推理全解析

本文深入解析了知识图谱中的数据处理与推理技术,涵盖SHACL的多种约束类型(如值约束、范围约束、字符串约束、逻辑约束等)及其在数据质量控制中的应用,并介绍了常用的SHACL工具与实际案例。文章对比了SPARQL与SHACL的特点,探讨了RDF(S)的局限性,引出表达能力更强的OWL和OWL2语言及其在语义网和生物医学等领域的应用。此外,还阐述了规则在知识表示中的作用,包括产生式规则和Datalog规则,并总结了知识图谱中推理的重要性与典型流程,为构建高质量、可推理的知识图谱提供了全面的技术指导。

zz67890的博客 135

接口测试用例设计实践总结(一)

简介: 设计思路 1) 优先级--针对所有接口 1、暴露在外面的接口,因为通常该接口会给第三方调用; 2、供系统内部调用的核心功能接口; 3、供系统内部调用非核心功能接口

软件测试技术交流分享 473

ORB-SLAM2算法4之KITTI开源数据集运行ORB-SLAM2生成轨迹并用evo工具评估轨迹

ORB-SLAM2算法1 已成功编译安装ORB-SLAM2到本地,本篇目的是用KITTI开源数据来运行ORB-SLAM2,并生成轨迹,最后用evo评估工具来评估ORB-SLAM2生成的轨迹和真值轨迹。

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 2325

接口测试用例设计与Flutter集成实践:从规范到自动化

接口测试是验证系统间数据交互与业务逻辑正确性的关键技术,其核心在于构建系统化的测试策略。理解HTTP协议、请求/响应结构及状态码等基础概念是设计有效用例的前提。通过运用等价类划分、边界值分析等方法,可以系统性地设计覆盖正常、异常场景的测试用例,其技术价值在于以低成本快速发现接口层的缺陷,保障系统健壮性。在实际应用中,接口测试需要与前端开发深度集成,尤其在Flutter等现代框架中,涉及多环境配置、Mock数据与端到端验证。本文将结合接口测试用例模板与API测试报告体系,探讨如何将测试实践融入Flutter开

weixin_33849215的博客 363

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

接口测试用例设计:从功能到安全的四维模板与自动化实践

接口测试是软件质量保障的核心环节,它通过验证系统模块间的数据交互契约,确保服务稳定与数据准确。其原理在于模拟客户端请求,对服务端响应的状态码、数据结构及业务逻辑进行全方位校验。有效的接口测试能显著提升软件交付质量与开发迭代效率,广泛应用于API驱动架构、微服务及前后端分离项目。本文聚焦接口测试用例的实战设计,深入剖析功能、边界、异常、安全与性能四个核心维度,并结合自动化测试框架,提供一套可落地的模板方案,帮助读者构建高覆盖、易维护的测试资产,从容应对复杂业务场景下的质量挑战。

weixin_30082367的博客 350

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

接口测试用例设计实践总结(转载)

设计思路 1)优先级--针对所有接口 1、暴露在外面的接口,因为通常该接口会给第三方调用; 2、供系统内部调用的核心功能接口; 3、供系统内部调用非核心功能接口; 2)优先级--针对单个接口 1、正向用例优先测试,逆向用例次之(通常情况,非绝对); 2、是否满足前提条件>是否携带默认参值参数>参数是否必填>参数之间是否存在关联...

aff60756的博客 202

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 接口测试用例编写举例
下一篇: 接口测试
lychbeyond
博客等级 码龄22年 168粉丝 12原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值