接口自动化测试用例(接口自动化测试用例设计原则)

网友投稿 284 2023-04-22


本篇文章给大家谈谈接口自动化测试用例,以及接口自动化测试用例设计原则对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享接口自动化测试用例的知识,其中也会对接口自动化测试用例设计原则进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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

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

一、   前言   

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

二、   测试用例设计思路   

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输入不为空的测试用例重复,所以选择一条用例验证 。 ),以上的测试用例满足自动化的要求,手动测试过程中需要增加部分验证性的测试用例。且由于使用的测试工具特殊性,无需检查输入参数的类型。

Apifox写接口自动化测试用例总结-2

下面从以下几个方面来进行总结:
1.设置环境
2.设置变量
3.自定义脚本写法
4.python脚本调用

在界面的右上角,是 环境管理 的入口,选择管理环境后进入。

可以在左侧新建或删除环境,右侧可以对某个环境进行编辑。

如果在系统测试时需要多个系统来测试,可以在添加默认服务的基础上,再添加其他系统的URL,在编写对应的接口时,手动选择对应服务信息。

根据需要,可以在页面右上角,快速切换为你所需要的环境。

打开环境管理(软件右上角设置形状的按钮),选择全局变量 tab。

1.添加一个名为my_variable的变量,将本地值设置值为hello,点击保存。
2.打开一个接口,在运行 tab (或接口用例)的参数值里输入{{my_variable}}即可引用该变量。
3.点击运行按钮,发送请求,实际运行的时候系统会将{{my_variable}}替换为hello,然后发出请求。

本地值和远程值的区别:
1.所有使用到变量的地方,实际运行的时候都是读写本地值,而不会读写远程值。
2.本地值仅存放在本地,不会同步到云端,团队成员之间也不会相互同步,适合存放token、账号、密码之类的敏感数据。
3.远程值会同步到云端,主要用来团队成员之间共享数据值。
4.注意:由于本地值仅存放在本地,使用一些清理软件清理 Apifox 文件缓存会导致本地值被清空,请务必注意。
变量类型:
1.环境变量是最常用的变量,同一个变量可以在不同的环境设置不同的值,变量值会跟随环境切换而改变。环境变量在环境管理模块设置
2.全局变量 使用方法类环境变量类似,但全局变量不会跟随环境切换而改变。
3.临时变量 仅在单次运行接口用例或测试管理里的测试用例或测试套件过程中有效,不会持久化保存。

使用方式:
以下两个环节可添加脚本:
在将请求发送到服务器之前,使用前置脚本。
收到响应后,使用 后置脚本(断言测试)。

接口请求的执行流程如下:
[全局前置脚本] - [分组前置脚本] - [接口前置脚本] - [发送接口请求] - [返回接口结果] - [全局后置脚本] - [分组后置脚本] - [接口后置脚本]
调试脚本:
调试脚本可以在 前置脚本 和 后置脚本里编写,使用console.log('hello')方式将调试信息写入控制台,打开 控制台 即可查看。

使用python进行前置脚本编写:

第三步:python环境变量配置完成后重启电脑和apifox
第四步:前置脚本编写

Apifox写接口自动化测试用例总结-1

最近决定用Apifox写接口自动化测试用例,于是研究了这个工具的具体实践,下面把最近实践过程中遇到的问题和解决方案进行总结,方便回看。

Apifox它是集:接口文档管理、接口调试、Mock、接口自动化测试于一体的全流程集成工具,覆盖从开发-测试-管理等环节,等同于 Postman + Swagger + Mock + JMeter几款工具功能累加。

下面从以下几个方面来进行总结:
1json path语法及使用
2.参数化使用
3.结果验证

JsonPath语法要点:
$ 表示文档的根元素
@ 表示文档的当前元素
.node_name 或 ['node_name'] 匹配下级节点
[index] 检索数组中的元素
[start:end:step] 支持数组切片语法
** 作为通配符,匹配所有成员**
.. 子递归通配符,匹配成员的所有子元素
(<expr) 使用表达式
?(<boolean expr)进行数据筛选

直接从返回结果中获取第一个元素

从返回结果中获取iata=3Q的子节点中的id号

1.用两个{}的形式来传参,如{{flightId}}
2.如果提取变量是列表形式,可以取其中某一个,如{{flightId[0]}}
3.可以选择右侧的“魔法棒”动态值来选择变量/常量或动态变量

python接口自动化测试中如何调用指定case

在 Python 接口自动化测试中,可以使用 unittest 框架来调用指定的测试用例。具体步骤如下:
1. 在测试文件中导入 unittest 模块,并定义测试类和测试方法。
2. 执行测试脚本时,可以通过命令行参数或其他方式来指定要执行的测试用例。
例如,假设我们有一个名为 tests.py 的测试文件,其中包含多个测试用例和测试方法。如果要执行名为 test_login 的测试用例,则可以在命令行中输入以下命令:
```
python tests.py TestClass.test_login
```
这里的 TestClass 表示测试类的名称,test_login 则表示要执行的测试方法名称。需要注意的是,测试用例名称和测试方法名称之间应该用“.”分隔开。
如果要执行多个测试用例,可以将它们逐一列出,用空格分隔开即可,例如:
```
python tests.py TestClass.test_login TestClass.test_logout
```
这样就可以只执行指定的测试用例,而不是全部执行。
需要注意的是,unittest 框架并不支持直接调用单个测试用例,因为每个测试用例都是在测试类的 setUp 方法和 tearDown 方法之间运行的,这些方法可能会对测试结果产生影响。因此,在调用测试用例时,最好也同时执行其所属的测试类和相关的 setUp 和 tearDown 方法,以确保测试结果的正确性和可靠性。

如何简单设计接口测试用例

接口测试是项目测试的一部分 ,它测试的主要对象是接口 ,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。 如何设计接口测试用例?首先,明确出发点,和所有的测试一样 ,接口测试出发点是你要证明所测的程序是错误的。以这个出发点为导向 ,你的设计行为就会尽量朝这个方向,更易发现问题 其次,选择好测试对象。对于一个系统做接口测试选择好的测试对象是接口测试关键。一个系统有无数的接口 ,每个接口如果分别测试 ,那将是很痛苦的一件事情,而且任何一个内部接口的变动 ,都将导致我们用例的不可用。 可将这些最外层的接口分为两类:一类是数据进入系统的接口;一类是数据流出系统的接口。进入系统的接口实际是我们用例的执行调用的接口。可通过变化参数对这些接口进行调用 ,模拟外部的使用;而流出的接口则是我们用例真正该验证的点。数据从哪里流出,流出时的状态如何 ,此时系统又是什么状态都是我们所应该验证的。 然后,确认完整的测试对象的功能:确认外部接口提供给使用这些接口的外部用户什么样的功能,外部用户真正需要什么样的功能。此两个功能一定要准确详细,用例的设计要严格按照测试对象功能设计才是正确的用例。 最后当出发点、对象、功能都确定了,就可以真正设计用例了。下面详细介绍下如何去设计一个结构好、可读性高、渗透性强的接口测试用例。 接口测试用例设计和测试用例设计一样,用例设计的内容应该包括:主要测试功能点、测试环境、测试数据、执行操作以及预期结果。 1)接口测试环境分为两种:一种是程序内部的环境;一种是程序的所调用外部接口的环境。 2)接口测试测试数据分为接口参数数据和用例执行所需系统数据。数据的设计、准备测试用例的数据上需要花费更多的心思。要通过好的测试数据使用例查找问题。接口参数数据需对每个参数根据测试接口的实际的功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列 ,不要遗漏了某些边界值和错误点的数据。每个用例执行所需系统数据和接口参数数据尽可能的采用不一样的数据 ,使用例更容易发现问题。 3)测试功能点,如果一个接口功能复杂时推荐对接口用例进行结构划分 ,这样子用例具有更好的可读性和维护性。接口划分原则为以接口提供的功能点的不同进行合适粒度的划分。同一功能点的用例又可根据测试环境的不同、数据的不同进行用例的填充。 4)接口测试用例执行操作非常简单,就是所测接口的调用。 5)预期结果验证,这也是接口用例设计的很关键的一步 ,应该细而不冗余。每个用例均需验证 ,避免一个用例中重复做相同的验证 ,提高测试用例的效率。 如何设计接口测试用例小例子: 简单划分可以按照2个基本组成要素进行划分:1. 参数 2. 业务 以下为最简单的一种划分用例的方法,可能涵盖不全,但只为说明一种划分接口用例的方法方式以及需要考虑的测试用例的测试点 为何要如此设计,是为了更好的将用例分类为程序规定型以及业务限制型,尽量的保证覆盖,尽量细化到点的划分形式来保证工作时间的预估和计划。 所有的自动化接口的测试用例 都基本围绕三部曲进行,传数据,执行,校验返回的数据和期望数据是否一致来构成每个简单的测试用例。 有清晰的线路和清晰的思维,才能做好整体测试的掌控。

接口自动化测试流程是什么?

了解了接口测试是什么之后,怎么做接口测试呢?接口测试的流程其实和功能测试流程类似:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证;
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境 关于接口自动化测试用例和接口自动化测试用例设计原则的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 接口自动化测试用例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口自动化测试用例设计原则、接口自动化测试用例的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mock工具模版(mock application)
下一篇:php调用dubbo接口测试(php调用接口api的方法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~