当前位置:网站首页>如何设计好接口测试用例?教你几个小技巧,轻松稿定
如何设计好接口测试用例?教你几个小技巧,轻松稿定
2022-07-06 18:48:00 【小梧敲代码】
接口测试是项目测试的一部分,正如其名,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。
接口测试一条请求,不同参数组合,可能就变成几十条用例,一不小心写几个接口,用例数就上百了,再没完没了的写下去就恶心了。怎么办?
在设计测试用例时候我们可以根据项目业务功能情况进行主次分析后,划分优先级,先正向思路,再反向,进行归类划分,最后有时间再考虑是否要编写那些优先级比较低的用例,必要的时候可以画下思维导图,思路清晰了再进行编写。
在执行的时候也按优先级情况进行执行,整个层次就分明了,用例的管理及维护也变得轻松起来。
1.测试用例的等级划分
下面是我在实际测试过程中总结的等级顺序:
1) 主体业务功能接口正常典型值用例的优先级为1(用于冒烟测试的用例)
2) 各模块主功能的正常典型值用例的优先级为2
3) 除了的正常典型值用例之外的正用例及所有异常用例的优先级为3
4) 可用性测试以及入参默认值以及开发做了限制处理的参数类型、开发自测容易发现的错误等测试的优先级为5,最低优先级
当然以上写下来你会发现还是好多啊,这时候应该思考下你设计的这些部分用例是否是真的有实际意义?有没有考虑到实际用户使用场景、需要?是否有可能会出现这种场景?程序员对于这些字段有没有做了限制,他们是不是保证不会犯这样那样的错误,如果他们已经做了控制保证不会出现你设计的哪几种异常情况,你还何必多此一举?四不四?
这时候你可能说,不对啊,测试的时候,我的上级就跟我说要根据测试方法组合一下,各种情况都测一下,你那是UI层测试吧。接口测试用例的设计不是业务层,不能纯根据数学的排列组合,还要根据实际情况做一下减法。
2.测试用例的筛选
So…我们需要对用例做一次筛选,接口测试属于更底层一点的测试,当然所有手工测试方法都用的上,但接口参数数据需对每个参数根据测试接口的实际的功能进行分析,需要符合业务逻辑的情况下进行逻辑组合排列,有些情况,本身通过代码的设计,做了些限制,错误是不会出现在UI层滴
根据测试方法以及上一篇博客写的关于数据设计写出用例,做一下如下筛选:
1) 剔除不重要的接口
2) 异常系用例根据是接口本身兼容异常情况还是有前端控制进行去留
3) 根据接口文档,实际业务情况,场景,接口要实现的功能进行选择
4) 开发协助再筛选一遍
3.测试原则
1) 基础配置,如域名,环境配置等,单独文件配置,方便不同环境测试,脚本维护
2) 明确接口实现什么样的功能,实际需要什么样的功能。是否一致
3) 接口测试数据太多,用数据驱动模式更有层次,且易维护
4) 要众多用例中选出冒烟测试用例及可用于性能测试的用例
5) 先单接口测试,在多接口业务测试
6) 测试完成后,需要清理脏数据
如何设计接口测试用例?
首先,明确出发点。和所有的测试一样,接口测试出发点是你要证明所测的程序是错误的。以这个出发点为导向,你的设计行为就会尽量朝这个方向发展,更易发现问题,不会出现大方向的偏差。
其次,选择好测试对象。对于一个系统做接口测试选择好的测试对象是接口测试关键。一个系统有无数的接口,每个接口如果分别测试,那将是很痛苦的一件事情,不光繁琐浪费,而且任何一个内部接口的变动,都将导致我们用例的不可用。
这里推荐把整个系统作为一个整体,选择整个系统提供给外部使用、交互的最外层接口作为你的测试对象,以此为测试对象的用例将有很好的健壮性,并且更高效。
另外,根据数据的流向,又可将这些最外层的接口分为两类:一类是数据进入系统的接口;一类是数据流出系统的接口。
进入系统的接口实际是我们用例的执行调用的接口。可通过变化参数对这些接口进行调用,模拟外部的使用;而流出的接口则是我们用例真正该验证的点。
数据从哪里流出,流出时的状态如何,此时系统又是什么状态都是我们所应该验证的。
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
| 点击文末小卡片领取 |
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行软件测试:自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
边栏推荐
- Detailed explanation of line segment tree (including tested code implementation)
- Lidar: introduction and usage of ouster OS
- Web开发小妙招:巧用ThreadLocal规避层层传值
- argo workflows源码解析
- New generation cloud native message queue (I)
- Chang'an chain learning notes - certificate model of certificate research
- Tiflash source code reading (IV) design and implementation analysis of tiflash DDL module
- 安全交付工程师
- 1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
- Zhang Ping'an: accelerate cloud digital innovation and jointly build an industrial smart ecosystem
猜你喜欢

Use of fiddler

Apifox,你的API接口文档卷成这样了吗?

Station B's June ranking list - feigua data up main growth ranking list (BiliBili platform) is released!

张平安:加快云上数字创新,共建产业智慧生态

UC伯克利助理教授Jacob Steinhardt预测AI基准性能:AI在数学等领域的进展比预想要快,但鲁棒性基准性能进展较慢

猿桌派第三季开播在即,打开出海浪潮下的开发者新视野

如何从0到1构建32Core树莓派集群

Word wrap when flex exceeds width
![[paper reading | deep reading] dngr:deep neural networks for learning graph representations](/img/8e/41a80131c6ec7a7cdffe4a77012fed.png)
[paper reading | deep reading] dngr:deep neural networks for learning graph representations

强化学习如何用于医学影像?埃默里大学最新《强化学习医学影像分析》综述,阐述最新RL医学影像分析概念、应用、挑战与未来方向
随机推荐
New generation cloud native message queue (I)
[unity] upgraded version · Excel data analysis, automatically create corresponding C classes, automatically create scriptableobject generation classes, and automatically serialize asset files
MySQL
3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp
大咖云集|NextArch基金会云开发Meetup来啦!
Draco - glTF模型压缩利器
3D laser slam: time synchronization of livox lidar hardware
阿里云易立:云原生如何破解企业降本提效难题?
Infrared camera: juge infrared mag32 product introduction
企业中台建设新路径——低代码平台
Station B's June ranking list - feigua data up main growth ranking list (BiliBili platform) is released!
Stm32f4 --- PWM output
C#/VB.NET 删除Word文档中的水印
STM32项目 -- 选题分享(部分)
【服务器数据恢复】raid损坏导致戴尔某型号服务器崩溃的数据恢复案例
Chang'an chain learning notes - certificate model of certificate research
纽约大学 CITIES 研究中心招聘理学硕士和博士后
Introduction to RC oscillator and crystal oscillator
企业中台建设新路径——低代码平台
The mega version model of dall-e MINI has been released and is open for download