教你该如何设计接口测试用例方法!

news2024/11/26 23:40:05

目录

前言:

一、用例设计过程:

二、接口测试用例构思结构:

三、测试过程验证点:


前言:

接口测试用例设计方法是进行接口测试的重要步骤。设计有效的测试用例可以帮助我们发现软件中可能存在的问题和缺陷,从而提高软件系统的质量和可靠性

一、用例设计过程:

罗马不是一天建成的,用例不是一次完成的;书写测试用例本身和完善代码一样,也是一个循序渐进的过程。

首先,必须熟读需求说明书和接口设计文档,了解每个接口具体的使用场景,明白软件的性能指标。

其次,设计接口测试用例:开始在编码阶段,测试人员根据需求说明书和接口设计文档设计接口测试用例。

然后,codereview:开发完成编码后,在时间充裕的条件下,要进行?codereview,一方面是检查开发的代码功能逻辑是否正确,另一方面通过review开发的代码来补充接口测试用例。

最后,完成用例后,随着对系统了解的增多,不断提高用例精度,对测试用例需要进行定期review,一旦测试需求发生变化,测试用例必须重新维护。

二、接口测试用例构思结构:

阶段一:开发在编码,测试拿到需求文档和接口设计文档:

1、基本功能测试(业务测试):

根据需求文档和接口设计文档的转译,需要清楚业务流程规则和每个接口的使用场景方式,设计符合业务逻辑和接口使用场景的用例。

2、边界分析测试:

在基本功能的基础上,开始考虑接口输入输出参数的影响。主要采用等价类划分、边界值分析方法等。

  • 覆盖所有的必选参数

  • 组合可选参数

  • 参数有无、或为null

  • 参数的顺序、个数、类型

  • 参数类型数值大小、输入的数值的范围

  • 参数字串长短,Null-max-max+1

  • 参数包含特殊字符

3、参数组合测试:

在边界分析的基础上,考虑输入条件的各种组合、输入条件之间的相互制约关系。主要使用因果图法进行用例设计。

4、异常情况测试:

接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理,比如:某个接口需要先登录获取?sesssion,如果直接调用该接口应该给出相应提示。

5、幂等级测试:

简单说就时针对连续重复提交的情况的进行测试,特别是涉及到交易金额的场景,需要验证软件是如何处理的。

6、并发测试:

两个以上用户同时操作使用同一场景时,可能引导争夺资源,死锁等现象。

7、事务性测试:

一个业务流程包含多个操作步骤,如果某个操作失败,那么整个操作需要回滚。或者调用前一个步骤的逆向接口进行操作取消。

8、大数据量时测试

数据库里数据量较大时(百万级),测试对DB进行增删改查操作的效率。

9、环境异常测试

关联系统出现宕机、超时或者无响应的状态时,接口返回提示正确,业务逻辑正确,不可存在事务性不一致的情况

阶段二:开发完成编码,测试时间充裕的条件下,需要对开发的代码进行codereview

1、review开发的代码实际业务逻辑是否正确

2、隐含条件测试:

进行codereview,检查代码中是否有隐含的默认条件。例如:F项目中的getRecommendArticleList接口,代码中默认查询返回4条记录(如下图),但在接口文档中并未提到,如果不reviewcode而开发也不告诉我们的话,这种情况肯定会漏测。

3、SQL测试:

针对需要进行数据库操作的接口,查看相关sql,对sql的正确性进行验证。如下图,一般sql的过滤条件都会比开发告诉我们的要多,所以查看sql进行验证是最保险的方式,特别需要设计组合条件的场景进行验证:

三、测试过程验证点:

1、接口返回数据

  • 返回json数据的层次关系是否与文档一致;

  • 数值类型数据:?特别是金额,负数、小数转为json输出是否正确;

  • 接口返回数据与接口文档一致;

  • 接口返回数据和数据库一致;

  • 接口返回数据符合业务逻辑(比如转账功能,从一个账户扣款,另一个要增加相应金额);

  • 对于列表,应该根据请求参数,也应该验证列表的长度是否与期望值一致;

  • 负面测试用例,应验证ERRORINFO是否与实际相匹配。

2、数据库

  • 接口传入数据与插入DB的数据一致性;

  • 前端某个操作涉及后台DB多张表时,每张表都要检验数据正确性。

3、安全层面:

  1. 后端接口返回给前端的数据包含敏感信息(如:姓名、身份证号、卡号、手机号、加密后的密码等)时,不能明文传输,需要加密。

  2. 后台打日志要求对于敏感信息不能打出,或者进行加星号脱敏后打出,具体有:

  • 身份证号,用户密码(含加密后),用户手机号码,用户姓名,银行卡号

  • 身份证号码脱敏字段为生日时,生日在日志中不能打出

4、性能层面:

  • 接口响应时间:接口处理数据的时间也是测试需要关注的一个点。牵扯到内部就是算法与代码的优化

  • 接口数据包大小:接口传递的数据包大小也需要关注,特别是返回给前端的接口,要把不同接口数据包大小需要做限制。

  • 并发承载能力:多用户并发时接口可以承载合同中的并发量。

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

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

相关文章

有了IP地址,还需要MAC地址嘛?二选一可否?

概要 在计算机网络中,IP地址和MAC地址是两个最基本的概念。IP地址在互联网中是用于标识主机的逻辑地址,而MAC地址则是用于标识网卡的物理地址。虽然它们都是用于标识一个设备的地址,但是它们的作用和使用场景是不同的。 IP地址是在网络层&am…

Xilinx原语——IDDR与ODDR的使用(Ultrascale系列)

Xilinx原语——IDDR与ODDR的使用(Ultrascale系列) 一、IDDR1.1 OPPOSITE_EDGE1.2 SAME_EDGE1.3 SAME_EDGE_PIPELINED1.4 三种模式异同 二、ODDR三、IDDR与ODDR仿真3.1 IDDR仿真3.1.1 IDDR顶层3.1.2 TestBench3.1.3 仿真结果 3.2 ODDR仿真3.2.1 ODDR顶层文…

5.2.9 无分类编址和CIDR

5.2.9 无分类编址和CIDR 前面我们知道,为了更加合理的使用IP地址,采用了子网划分的方法,事实证明子网划分这种网络编址,能够节省IP网络地址,但是到了1993年的时候因特网的增长速度还是让人们感觉到了这些技术它无法阻…

移动信道的多普勒扩展及相干时间

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 移动信道的多普勒扩…

深眸科技专注机器视觉的研发与创新,开启工业自动化、智能化进程

在智能制造、工业效能提升的社会背景之下,中国制造2025战略持续落实,工业制造业转型升级加速,作为人工智能领域重要技术之一的机器视觉,凭借着高精度、高准确度等优势检测能力,不断渗透进工业领域,并呈现出…

全网最全,性能测试-全链路压测问题总结,一篇概全...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 全链路压测可以给…

JavaEE(系列21) -- 传输层协议UDP 和 TCP

目录 1. 应用层和传输层的联系 2. UDP协议 2.1 UDP简介 2.2 UDP格式 2.2.1 目的端口和源端口 2.2.2 报文长度 2.2.3 校验和 3. TCP协议 3.1 TCP简介 3.2 TCP格式 3.2.1 数据偏移和选项(option) 3.2.2 保留项 3.2.3 6位控制位 3.2.4 32位序号和32位确认序号…

华为OD机试真题 Java 实现【滑动窗口】【2023 B卷 100分】,附详细解题思路

一、题目描述 有一个N个整数的数组,和一个长度为M的窗口,窗口从数组内的第一个数开始滑动直到窗口不能滑动为止,每次窗口滑动产生一个窗口和(窗口内所有数和和),求窗口滑动产生的所有窗口和的最大值。 二、输入描述 第一行输入一个正整数N,表示整数个数。(0<N<…

WebGPU 纹理与纹理类型基础 (D3D对纹理的描述比较详细)

纹理与纹理类型&#xff0c;D3D 官方文档描述的比较详细&#xff1a; 介绍 Direct3D 11 纹理 纹理资源是一个结构化的数据集合&#xff0c;用纹素的形式存储。纹素texel代表纹理的最小单位&#xff0c;可以被管线读写。与缓冲区不同&#xff0c;纹理可以在着色器中被纹理采…

中国电源管理芯片上市企业研发投入占比超10%,上海贝岭产品品类持续增加

近年来&#xff0c;中国电源管理芯片市场规模一直保持增长趋势&#xff0c;尽管中国电源管理芯片厂商起步较晚&#xff0c;但是在政策扶持背景下&#xff0c;集成电路国产产品对进口产品的替代效应明显&#xff0c;中国集成电路产品的品质和市场认可度日渐提升&#xff0c;部分…

而立之年——回顾我的渗透测试之路

为什么要转行 因为混得不好。 在成为渗透测试工程师之前&#xff0c;我干过很多工作。由于上学的时候天天打没戏摸鱼啥也不会&#xff0c;我的工作基本上都是体力活。包括但不限于&#xff1a;工厂普工、销售&#xff08;没有干销售的才能&#xff09;、搬运工、摆地摊等&…

JMeter性能测试系列一初识JMeter

1.JMeter介绍 Apache组织的Stefano Mazzocchi是JMeter项目的创始人。编写JMeter最初的目的是为了测试server的性能(后期被Tomcat替代)。随后&#xff0c;JMeter在Apache组织内部开始被其他项目所使用&#xff0c;并最终推广出来&#xff0c;成为独立的软件项目并不断更新&…

sa-token多端登陆实现,PC,APP登陆分别设置token过期时间

sa-token多端登陆实现&#xff0c;PC&#xff0c;APP登陆分别设置token过期时间 Sa-Token 介绍 Sa-Token 是一个轻量级 Java 权限认证框架&#xff0c;主要解决&#xff1a;登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。…

hive on spark亲自编译,详细教程

hive on spark 进行编译操作 软件 hive 2.3.6 spark 2.0.0版本 hadoop-2.7.6版本 操作流程&#xff1a; hadoop-2.7.6 1、安装hadoop不说了。简单。 spark-2.0.0 2、下载spark-2.0.0的源码. https://archive.apache.org/dist/spark/spark-2.1.0/ 这个下载spark各个版本…

Logback自定义DBAppender保存系统日志到数据库

在系统中采用了spring boot logback&#xff0b;slf4j的日志框架&#xff0c;将系统日志记录到数据库。 相关参考来源&#xff1a; 官方文档-DBAppender Logback输出日志到自定义MySQL数据库&#xff08;重写DBAppender&#xff09; logback日志框架中filter的使用 1. 添加依…

【新版】系统架构设计师 - 系统配置与性能评价

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 系统配置与性能评价考点摘要系统性能概述性能指标性能调整阿姆达尔解决方案性能评价方法 架构 - 系统配置与性能评价 考点摘要 性能指标&#xff08;★★&#xff09;阿姆达尔解决方案&#xff…

java SSM 教师管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教师管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和 数据库&#xff0c;系统主要采用B…

工业深度学习软件 从标注 训练 到测试 再到现场部署

工业深度学习软件 从标注 训练 到测试 再到现场部署 M7000技术规格表 Producer Specification 影像系统 Imaging Sys 适配相机 supported cameras 支持海康&#xff0c;迈德威视&#xff0c;度申2D相机&#xff08;可根据需求增加适配其他厂家相机&#xff09; Support for Hi…

22AP30 H.265 编解码处理器

22AP30 H.265 编解码处理器 主要特点 SVP&#xff08;Smart Vision Processing&#xff09;  图像分析工具推理引擎&#xff08;NNIE&#xff09; − 支持多种图像分析工具 − 1.2Tops运算性能 处理器内核  ARM Cortex A53 四核1.15GHz − 32KB L1 I-Cache&#xff0c;32KB…

小程序页面事件与wxs脚本

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 小程序 也可获取。 文章目录 小程序视图与逻辑页面导航声明式导航编程式导航导航传参 页面事件下拉刷新事件上拉触底事件上拉触底案例 自定义编…