news 2026/2/23 2:43:28

接口测试用例设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
接口测试用例设计

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

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

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

2、接口测试思路

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

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

(1)基本功能流程测试

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

(2)基于输入域的测试

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

  • 边界值测试

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

  • 特殊字符校验

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

  • 参数类型校验

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

  • 必选参数校验

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

  • 组合参数校验

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

  • 排重逻辑

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

  • 接口幂等性

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

(3)线性安全测试

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

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

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

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

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

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

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

(4)故障注入法

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

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

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

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

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

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 16:47:08

java_ssm3Web的篮球CBA联赛信息管理系统

目录具体实现截图篮球CBA联赛信息管理系统摘要系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 篮球CBA联赛信息管理系统摘要 该系统基于Java SSM(SpringSpringMVCMyBatis&#xff09…

作者头像 李华
网站建设 2026/2/11 10:39:52

621-0010-AR模拟输出模块

621-0010-AR 模拟输出模块 621-0010-AR 是工业控制系统中的 高级模拟输出模块,主要功能是将控制器或逻辑单元发出的数字信号转换成精确的模拟电流或电压信号,驱动现场执行器设备,实现连续过程控制。 核心作用 数字信号转换:把控…

作者头像 李华
网站建设 2026/2/18 17:06:30

621-0022-AR隔离分析输入模块

621-0022-AR 隔离分析输入模块621-0022-AR 是工业控制系统中的 隔离分析输入模块,主要用于采集现场的模拟信号,并通过隔离技术保护控制系统,同时保证数据的准确性和稳定性。它适用于需要高精度测量和信号保护的工业应用场景。核心作用信号采集…

作者头像 李华
网站建设 2026/2/5 12:09:52

DeepSeek+LangChain+DeepDiff:智能测试数据自动对比工具

在日常的测试工作中,我们在测试数据对比时经常会遇到以下难题: 对比的差异结果缺少清晰的可视化呈现; 两个表处于不同的数据库中,增加了对比难度; 源表和目标表字段数量众多,业务逻辑复杂,手动…

作者头像 李华
网站建设 2026/2/13 5:42:47

中国城市极端天气占比(2009-2024)

1924中国城市极端天气占比(2009-2024)数据简介当前研究充分证实,气候极端化趋势对经济社会发展的威胁日趋严峻。气象灾害频发不仅直接冲击区域民生与经济运行基础,更对国家整体安全格局构成深层挑战。在宏观经济维度,此…

作者头像 李华