接口测试用例设计详解

news2024/11/25 3:20:17

1.接口测试用例设计简介

我们对系统的需求分析完成之后,即可设计对应的接口测试用例,然后用接口测试用例进行接口测试。接口测试用例的设计也需要用到黑盒测试方法,其与功能测试用例设计的方法类似,接口测试用例设计中还需要增加与接口特性相关的测试用例。

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

Python自动化测试开发教程天花板,27天速成,从入门到就业,比你盲目自学好多了,允许白嫖!

2.接口测试思路

正式设计接口测试用例之前,需要梳理一下接口测试的思路,思维导图如图6-32所示。

接下来,介绍几个思维导图中需要关注的点。

(1)基本功能流程测试

基本功能流程测试首先需要执行冒烟测试,把系统最基本的功能“走通”。冒烟测试决定系统的“提测”是否成功,如果系统通过冒烟测试,才会进入到详细的测试阶段;如果冒烟测试不通过,需要把系统程序退回给开发人员,开发人员修改程序之后重新“提测”。冒烟测试通过之后,对系统进行正常流程的覆盖测试,测试的粒度会比冒烟测试更细一些,覆盖系统的一些业务逻辑分支。

 (2)基于输入域的测试

因为发出接口请求需要带请求参数,所以测试人员会涉及关于请求参数的各种接口测试用例设计。关于请求参数的接口测试用例的设计需要考虑下面这些方面。

  • 边界值测试

对于有范围要求的参数,需要综合等价类和边界值的方法设计接口测试用例。边界值选择上点和离点即可,要覆盖到有效等价类和无效等价类。

  • 特殊字符校验

很多请求参数会要求不能包含特殊字符,对于有这类要求的参数字段,需要单独设计包含特殊字符的接口测试用例。

  • 参数类型校验

有一些参数还会对传参值的类型有要求,例如,只能包含英文、数字,或者只能包含整数类型等。对于这种类型有要求的参数字段,也要单独设计接口测试用例,或设计一些反向接口测试用例。

  • 必选参数校验

在接口中有必填的参数,也有选填的参数,对于每一个必填参数,都要设计一个参数为空的接口测试用例来验证参数的必填性。

  • 组合参数校验

对于有选填参数的接口来说,需要对各种参数的不同组合场景进行验证。例如,值传递选填参数,或者对于必填参数和不同数量的选填参数做组合,对于这些选项参数的情况可以使用判定表的方法进行接口测试用例的设计。

  • 排重逻辑

在接口测试中,如果接口中有的参数字段要求不能重复,那么需要对它进行排重测试,用重复请求相同的参数进行测试,验证服务端的处理逻辑是不是正确。

  • 接口幂等性

幂等是指任意多次执行接口测试所产生的影响均与一次执行接口测试产生的影响相同。保证接口的幂等性是非常重要的,尤其是涉及资金的系统,如银行、电商等,在这些系统中,对用户重复提交请求,或者网络重发,系统重试等场景,都需要设计接口测试用例来验证接口的幂等性。

(3)线性安全测试

线程安全测试包含了并发测试和分布式测试。

分布式是为了解决单个物理服务器容量和性能瓶颈问题而采用的一种优化手段。分布式的实现有两种形式。

  • 水平扩展:当一台服务器 “扛” 不住大的网络流量时,就通过添加服务器的方式,将流量平分到所有服务器上,所有机器都可以提供用户的请求服务。
  • 垂直拆分:前端用户有多重查询需求时,一台服务器 “扛” 不住用户大的请求,解决这个问题的方式是,可以将不同的需求分发到不同的服务器上。

相对于分布式测试,并发测试在解决的问题上会集中一些,它的测试重点是测试系统同时有多少用户量,比如在线直播服务时有上万人观看。

并发测试可以通过分布式技术来实现,将并发流量分到不同的物理服务器上。但除此之外,还可以有很多其他优化并发的手段,比如使用缓存系统,还可以使用多线程技术将一台服务器的服务能力最大化。

并发场景的测试中,测试的是同一个接口,参数值全部一样。同时发送请求多次,结果只有一条请求成功,其他请求失败。

分布式场景的测试中,测试的是不同机器,针对的是同一个接口,参数值全部一样。同时发送请求多次,结果只有一条请求成功,其他请求失败。

(4)故障注入法

故障注入测试需要测试人员故意针对系统制造有故障的场景,用以测试系统的健壮性。

如果产品中用到了Redis,就需要对Redis做一些故障降级测试。Resis一般会放在数据库前面,用来做高速缓存。

我们进行Redis故障注入测试时需要开发人员配合先清空Redis数据,然后向系统发送请求,“击穿” Redis,从DB(数据库)中获取正常的数据(并能回写到Redis中)。然后开发人员配合启动制造Redis数据恢复功能,测试人员可以从Redis中获取正确的数据。其中还需要开发人员配合制造Redis崩溃场景,在Redis崩溃场景下测试人员向系统发送请求,看是否能从DB中获取到正常的数据。

除了对Redis测试之外,我们还需要进行系统服务故障转移测试,如数据库故障测试与接口故障测试。

在进行数据库故障时,开发人员配合制造数据库数据丢失场景,启动数据恢复策略,测试人员测试系统在规定时间内数据是否可以恢复;开发人员配合制造数据库崩溃场景,测试人员测试数据库多活策略是否启动,保证系统功能不收影响。

在进行接口故障测试时,开发人员配合接口服务重启,测试人员测试集群负载是否自动重启实例、所有请求无异常;开发人员配合制造集群崩溃场景,测试人员测试系统是否返回对应的错误信息,系统内部服务是否有重试机制。

3.写在最后

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

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

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

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

相关文章

MATLAB和S7-1200PLC OPC通信(激活S7-1200PLC OPCUA服务器)

MATLAB和SMART PLC OPC通信请参考下面文章博客: MATLAB和西门子SMART PLC OPC通信-CSDN博客文章浏览阅读123次。西门子S7-200SMART PLC OPC软件的下载和使用,请查看下面文章Smart 200PLC PC Access SMART OPC通信_基于pc access smart的opc通信_RXXW_Dor的博客-CSDN博客OPC是…

软考网络规划师复习第六章:基础网络实验

正文共:10086 字 120 图,预估阅读时间:11 分钟 目录 软考网络规划师复习第一章:Windows系统中的网络 0、序言 1、Windows系统中的网络1.1、桌面中的网卡1.2、命令行中的网卡1.3、路由表1.4、家用路由器 软考网络规划师复习第二章&…

Python词云生成工具3:定制更多参数

文章目录 添加整型参数布尔型参数背景颜色词云生成逻辑源代码 Python打造一个词云软件显示分词结果 添加整型参数 我们所有的设置都放在了wcDct中,所以若想用更多的参数来定制词云,那么只需在wcDct中添加内容,例如下面这些整型参数 其次&a…

【Linux】进程概念III --fork函数解析

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法…感兴趣就关注我吧!你定不会失望。 本篇导航 0. 创建进程1. 认识fork函数2.使用Fork函数3.关于fork的为什么3.1 一个函数如何返回两次?fork究竟在干什么?3.2 为什么要给子…

0-1矩阵列互斥问题——回溯法 Python实现

三、 0-1 矩阵的列集互斥问题。给定一个 m n m \times n mn 的 0-1 矩阵 A \mathrm{A} A 。定义列互斥为: 对于矩阵 A A A 中的任意两列 i i i 和 j j j, 如果在对应的每一行上, i i i 和 j j j 不存在同时为 1 的情况, 则称列 i \mathrm{i} i 和 j \mathrm{j} j 互斥…

Redis-命令操作Redis->redis简介,redis的安装(Linux版本windows版本),redis的命令

redis简介redis的安装(Linux版本&windows版本)redis的命令 1.redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它支持字符串、哈…

零基础入门Python,主要该学些什么?一文详解。

文章目录 前言一、Python开发基础二、Python高级编程和数据库开发三、前端开发四、WEB框架开发五、爬虫开发六、全栈项目实战七、数据分析八、人工智能九、自动化运维&开发十、高并发语言GO开发关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精…

Nginx的location优先级和重定向

Nginx的location有优先级级和匹配方式: 在http模块有server,在server模块才有location,location匹配的是uri /test /image 在一个server当中有多个location,如何来确定匹配哪个location。 Nginx的正则表达式: ^:字符串的起始位置 $:字符串的结束位…

推荐彩虹知识商城源码

彩虹知识商城7.0.3小森升级版新增供货商开心学习版,新增邮件提醒功能,支持给用户发订单、结算等邮件通知,支持给管理员发送提现、域名审核等邮件通知,支持设置手续费最低扣除金额,修复了其他一些已知问题。 演示地址&…

工作数字化的中国历程 | 从 OA 到 BPM 到数字流程自动化

业务流程是由“活动”(或称“工作任务”)构成的,在企业里的所有工作是不是都叫流程,或者属于流程的一部分,这个概念很绕,我觉得没有必要去做学究气的辨析。我曾经提出过一个从工作的两个特性(产…

x86保护模式笔记

多任务 调用门权级规则 合法调用门g1定义: 门g1.DPL 贱于或等于 门g1.目标段.DPL若 代码段p1.CPL 优于或等于 门g1.DPL 则 p1 正常 call g1TSS 权级规则 权级规则4. p代码段CPL d数据段DPL: 判定p访问d 若 p代码段CPL < d数据段DPL, 则p能访问d …

听听ChatGPT对IT行业的发展和就业前景的看法

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:PYTHON学习系列专栏&#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 (1)判断素数 写法1: 写法2: (2)计算1-100的偶数之和 写法1: 写法2: (3)计算1-100的奇数之和 (4)多层循环 IT行业哪个方向比较…

腾讯云双十一云服务器活动:88元1年的云服务器难道不香吗?

腾讯云双十一活动中&#xff0c;有三款轻量应用服务器可享受特惠优惠。这三款服务器分别是2核2G、2核4G和4核8G&#xff0c;价格分别为88元/年、166.6元/年和529元/15个月。对于需要低成本而又高性能的服务器需求&#xff0c;轻量应用服务器是一个理想的选择。 轻量应用服务器特…

Linux常用命令——chattr命令

在线Linux命令查询工具 chattr 用来改变文件属性 补充说明 chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性&#xff0c;这些属性共有以下8种模式&#xff1a; 语法 chattr(选项)选项 a&#xff1a;让文件或目录仅供附加用途&#xff…

某某盾-滑块验证-自动获取validate值-(逆向js+python)

我是标题 1.从get&#xff1f;网站获取滑块图片以及token1.1获取fp值1.2 获取cb值1.3 模拟发包 2.获取滑块移动距离3.发包获取最终的validate值3.1轨迹生成3.2 check网站发包3.3 获取data值 4.结论 本实验是根据某某盾示例网站 主要分为两个部分 1.从get&#xff1f;网站获取滑…

TypeScript 第一站概念篇

前言 &#x1f52e; 好长一段时间没有写文章了&#xff0c;原因是经历了一次工作变动&#xff0c;加入了一个有一定规模的开发团队&#xff0c;前端算上我有四个人&#xff0c;很欣慰&#xff0c;体验一下团队配合的感觉&#xff0c;在我之上有一个组长&#xff0c;比我年长四…

Portraiture4.0介绍与插件安装包下载

相信有很多需要经常进行图像处理的小伙伴的电脑上都有一款PS软件吧&#xff0c;PS的功能非常强大&#xff0c;各种细节处理都非常细致&#xff0c;但还是需要一些插件来帮我们快速处理图片&#xff0c;能够省去很多时间和精力。今天给大家介绍一款PS磨皮插件&#xff0c;能够快…

【Linux】进程等待

文章目录 进程等待进程等待必要性实验(见见猪跑)进程等待的方法wait方法waitpid**方法**宏的使用方法获取子进程status 阻塞VS非阻塞概念对比非阻塞有什么好处 具体代码实现进程的阻塞等待方式:进程的非阻塞等待方式:让父进程做其他任务 进程等待 进程等待必要性 之前讲过&am…

2023腾讯云双11优惠3年轻量2核2G4M服务器366.6元,三年价哦!

腾讯云3年轻量应用服务器配置为2核2G4M带宽、50GB SSD系统盘双11优惠价格366.6元三年、108元一年&#xff0c;只是限制月流量&#xff0c;套餐自带300GB月流量。腾讯云百科txybk.com分享2023腾讯云双11优惠活动3年轻量2核2G4M带宽优惠价格、购买条件&#xff1a; 3年轻量2核2G…

大模型的“成本瘦身”运动

数据大、参数量大、算力大&#xff0c;大模型的某些能力才会“涌现”&#xff0c;这一点在科技圈广为流传。 做大模型的主流思想是&#xff1a;不要轻易说模型“不行”&#xff0c;如果“它还没行”&#xff0c;那就做得更大一点。 所以&#xff0c;不到一年的时间&#xff0c;…