接口自动化测试测试用例设计

author author     2023-03-18     175

关键词:

参考技术A 浅谈接口自动化测试测试用例设计

一、   前言   

很多中台项目,大部分为接口测试。为了使新入职的测试同事尽快融入项目,以及迭代开发中方便管理测试用例。完成该总结。

二、   测试用例设计思路   

1、 接口类型概述及优先级  

1) 提供给第三方调用的接口  

2) 内部系统使用,核心功能接口  

3) 内部系统使用,非核心功能接口  

基本按照1)2)3)的顺序进行测试,特别情况除外

2、 单接口测试优先级  

1) 优先测试正向测试用例,保证基本功能实现  

2) 设计逆向测试用例,确保接口的健壮性  

3) 满足前提条件的测试用例  

4) 默认参数是否满足  

5) 参数校验  

6) 参数间联动关系

7)多参数错误处理的优先顺序校验

三、   设计分析   

1、 满足前提条件的测试用例  

测试目标接口需要满足前置条件才能成功获取数据。

例如:需要登录token,通过传入参数获取下游接口数据

2、 携带默认参数的测试用例  

携带默认参数的测试用例仅需要设计一条,所有默认参数的字段都不填写,其他字段输入正常。

[if !supportLists]3、 [endif]参数校验  

参数校验包含如下几方面:

[if !supportLists]1)[endif]输入参数是否为必须输入项

[if !supportLists]2)[endif]输入参数的类型

[if !supportLists]3)[endif]输入参数的枚举值校验

[if !supportLists]4)[endif]输入参数长度校验

以上测试用例最好根据字段一一校验,排除互相干扰

[if !supportLists]4、 [endif]参数间联动  

有些参数见存在彼此制约的关系,根据实际情况设计测试用例

例如:A字段为1时,B字段一定为空。否则报错。

那么测试用例设计时应为:A字段为1时,B字段为空;A字段为1时,B字段不为空;A字段不为1时,B字段为空;A字段不为1时,B字段不为空;四条测试用例

这样基本覆盖所有分支流程。

[if !supportLists]四、 [endif] 测试用例实践操作

接口测试用例样例:

多条件查询接口

测试方法:使用robotFramework测试doubbo接口

协议请求方式:post

接口协议:JSON

消息请求列表

字段名数据类型默认值必须项备注

IDint 是长度为2

Tokenstring 是设备令牌

Statusstring 是1:正常

2:异常

typeint  Status为1时,为必须输入项

sizestring  默认值

消息返回列表

字段名数据类型必须项备注

Codeint是正常:20000

异常:20001

Messagestring是 

typeMessageint Status=1的所有ID

 

用例设计

 

NO. 测试内容 前置条件 输入参数 输出参数 用例属性

1目标数据为一条预置一条符合条件的数据Status=1,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

正向测试用例

2目标数据为多条预置多条符合条件的数据Status=1,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

正向测试用例

3 Token必须项检查 预置多条符合条件的数据Status=1,token输入为空,其他参数输入正常返回code=20001

typeMessage中返回为空

满足前提条件

4 Token正确性检查 预置多条符合条件的数据Status=1,token输入错误,其他参数输入正常返回code=20001

typeMessage中返回为空

满足前提条件

5 Status 必须项检查 预置多条符合条件的数据Status为空,其他参数输入正常返回code=20001

typeMessage中返回为空

参数校验

6 Status枚举预置多条符合条件的数据Status为1,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

参数校验

7 Status枚举预置多条符合条件的数据Status为2,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

参数校验

8 Status枚举预置多条符合条件的数据Status为3,其他参数输入正常返回code=20001

typeMessage中返回null

参数校验

9 Status=1,时联动校验预置多条符合条件的数据Status为1,type为空;其他参数输入正常返回code=20001

typeMessage中返回null

联动校验

10 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type为空;其他参数输入正常返回code=20000

typeMessage中返回对应ID

联动校验

11 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type不为空;其他参数输入正常返回code=20000

typeMessage中返回对应ID

联动校验

12 Size默认值输入校验预置多条符合条件的数据Size输入为空,其他参数输入正常返回code=20000

typeMessage中返回对应ID

默认值校验

13 Size默认值输入校验预置多条符合条件的数据Size输入不为空,其他参数输入正常返回code=20000

typeMessage中返回对应ID

默认值校验

14 ID 必须项检查 预置多条符合条件的数据ID为空,其他参数输入正常返回code=20001

typeMessage中返回为空

参数校验

15 ID 长度检查 预置多条符合条件的数据ID长度大于2,其他参数输入正常返回code=20001

typeMessage中返回为空

参数校验

16 破坏性测试预置多条符合条件的数据输入的参数类型错误请求未接收,返回404 稳定性测试

17 破坏性测试预置多条符合条件的数据输入的参数与提供的参数名称不一致请求未接收,返回404 稳定性测试

18 破坏性测试预置多条符合条件的数据输入的参数与提供的参数数量不一致请求未接收,返回404 稳定性测试

19 破坏性测试预置多条符合条件的数据输入的参数与提供的参数格式不一致请求未接收,返回404 稳定性测试

 

总结:自动化测试过程中会有一条自动化测试用例覆盖多种情况的可能(例如:正向测试用例与联动性验证的 Status=1,type输入不为空的测试用例重复,所以选择一条用例验证 。 ),以上的测试用例满足自动化的要求,手动测试过程中需要增加部分验证性的测试用例。且由于使用的测试工具特殊性,无需检查输入参数的类型。

接口自动化的设计

...测试工作中,接口测试是相当重要的部分,也是最好实施自动化的。一个完整的接口自动化测试框架,大概需要完成以下几个步骤:1.用例编写。2.获取用例。3.执行用例,我们可以通过Jenkins自动执行,也可以手动执行。4.生成测... 查看详情

接口自动化框架模型设计

一、分层设计的思想公共方法目录:common测试用例类模块目录:testcases测试数据目录:data测试报告存放目录:reports配置文件存放目录:conf日志文件存放目录:logs项目启动文件:run_test.py二、数据驱动思想(ddt)以用例数据来生... 查看详情

接口自动化之pytest——用例设计原则及执行顺序

一、用例设计原则pytest是如何查找测试用例的?总的来说,寻找测试用例遵循以下原则: 总结:—文件名是test_开头或者_test结尾。—测试类必须是Test开头。—测试函数、测试方法以test_开头。 二、用例执行顺... 查看详情

疫情期间的学习与收获

...高测试覆盖度(广度、深度)的方法思考与梳理2、接口自动化测试知识学习内容:(1)结合互联网资料及目前公司的接口自动化测试框架,学习接口自动化测试技术,测试用例设计等(2)可外网下载robot工具进行练习;(常见... 查看详情

面面俱到的java接口自动化测试实战

第1章接口自动化测试整体认知了解什么是接口和为什么要做接口测试。并且知道接口自动化测试应该学习哪些技术以及接口自动化测试的落地过程。1-1导学章节1-2什么是接口1-3为什么要做接口测试试看1-4接口自动化测试开发技... 查看详情

如何做好接口测试?

参考技术Asgbtmy:基于selenium的自动化框架开发,我主要是想问一下,你的框架除了前台的自动化,后台的数据的测试是否集成在你的测试框架中?小刀:你好,个人理解的你所说的后台的数据的测试是指的是对数据的校验,不知... 查看详情

api接口自动化测试框架搭建-设计excel自动化用例数据case_excel.xlsx

(八)-设计excel自动化用例数据case_excel.xlsx1设计目的2预期效果3Excel用例字段说明4设计过程4.1创建excel用例目录4.2创建excel用例5设计Excel中用例数据6目前框架结构本节开始,我们正式进入API接口自动化测试框架搭建的主题内容,... 查看详情

自动化测试之-测试用例设计方法总结

黑盒、白盒、接口测试一系列用例设计方法。黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。(一)等价类划分法定义:等价类划分... 查看详情

如何基于yaml设计接口自动化测试框架?看完秒会(代码片段)

在设计自动化测试框架的时候,我们会经常将测试数据保存在外部的文件(如Excel、YAML、CSV)或者数据库中,实现脚本与数据解耦,方便后期维护。目前非常多的自动化测试框架采用通过Excel或者YAML文件直接... 查看详情

接口自动化测试怎么做的

...python语言的话,应用pytest,构建接口测试用例,完成接口自动化测试。以上两种,伟大的internet上都有很多教程,简单的学习基本就可以上手了~加油~ 查看详情

接口自动化测试实践指导(中):接口测试场景有哪些

在第一篇文章接口自动化测试实践指导(上):接口自动化需要做哪些准备工作中详细给小伙伴们讲解了一下接口自动化需要做哪些准备工作,准备工作中最后一步接口测试用例设计是非常重要的一个环节,... 查看详情

分层自动化测试模型深入研究

分层自动化测试模型的发展分层自动化测试模型最早是由MikeCohn在2009年出版的《SucceedingwithAgile》书中的第十六章进行阐述的,他说“测试金字塔是分层测试的一种最佳实践“。金字塔自动化测试模型如上图A所示,从下往上分为... 查看详情

分层自动化测试模型深入研究

分层自动化测试模型的发展分层自动化测试模型最早是由MikeCohn在2009年出版的《SucceedingwithAgile》书中的第十六章进行阐述的,他说“测试金字塔是分层测试的一种最佳实践“。金字塔自动化测试模型如上图A所示,从下往上分为... 查看详情

接口自动化测试,完整入门篇(代码片段)

...层服务集成测试范畴。相比UI层(主要是WEB或APP)自动化测试而言,接口自动化测试收益更大,且容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。下面我们以一个HT... 查看详情

api接口自动化测试框架搭建-详细设计&框架设计

...细分析,主要有下:功能说明使用Unittest框架开源自动化测试框架,直接使用批量或指定用例运行Unitt 查看详情

自动化测试用例设计

一、了解自动化测试的目的和作用  自动化测试是为了让测试人员从繁琐重复的机械式测试过程中解脱出来,把时间和精力投入到更有价值的地方,从而挖掘更多的产品缺陷。目前自动化测试更多的是定位在冒烟测试和回归测... 查看详情

自动化测试用例设计

一、了解自动化测试的目的和作用  自动化测试是为了让测试人员从繁琐重复的机械式测试过程中解脱出来,把时间和精力投入到更有价值的地方,从而挖掘更多的产品缺陷。目前自动化测试更多的是定位在冒烟测试和回归测... 查看详情

jmeter接口测试自动化(数据驱动测试)

本文转载至http://www.cnblogs.com/chengtch/p/6105532.html 当我研究要通过用例优先级控制用例是否执行时,我发现了用"如果(if)控制器"就可以很好的控制用例执行,再搭配“循环控制器”,就能很好的读csv了。   1、设计了... 查看详情