接口测试用例图解(接口测试的测试用例)

网友投稿 252 2023-03-23


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

本文目录一览:

如何做接口测试?

对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了,其次,自己去读开发的代码。

然后,根据该接口功能及代码写测试用例:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果,根据该接口中的逻辑,测试该接口实现代码的逻辑,进行容错及健壮性测试,静态检测代码,看是否有内存泄露、或永远走不到的分支、代码规范及逻辑是否合理,对于一些接口,需要进行多线程测试。

接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统。

主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。接口测试在淘宝的应用是一个自下而上的发展过程。

如何做接口测试

1、可以使用postman软件进行接口测试接口测试用例图解,这里以较复杂的上传图片的接口为例进行测试接口测试用例图解,首先打开postman软件选择Post方式,输入后台接口调用地址。

2、然后填写Headers,注意这里的Headers部分不要写任何东西,如果之前是有Content-Type头信息, 那么就会上传失败。

3、接着填写Body,选择form-data,填写Key后台规定的接收文件的名称参数,格式选择为File,此时value会自动变成选择文件。

4、最后点击Send,可以发现下方返回了接口的响应,说明上传图片是成功的,这样简单的图片上传的接口测试就完成了。

各种测试用例简要模板

0 .  文档介绍

提示:请用户根据项目的实际测试状况,裁剪本测试用例模板。

0.1 文档目的

 

0.2 文档范围

 

0.3 读者对象

 

0.4 参考文献

提示: 列出本文档的所有参考文献(可以是非正式出版物),格式如下:

[ 标识符 ]  作者,文献名称,出版单位(或归属单位),日期

例如:

[ AAA ]   作者,《立项建议书》,机构名称,日期

 [ SPP-PROC-ST ]   SEPG,系统测试规范,机构名称,日期

0.5 术语与缩写解释

缩写、术语 解 释

SPP精简并行过程,Simplified Parallel Process



1 .  接口-路径测试用例

1 .1  被测试对象(单元)的介绍
1.2 测试范围与目的
1 . 3 测试环境与测试辅助工具的描述
1.4 测试驱动程序的设计
1.5 接口测试用例
接口A的函数原型

输入/动作期望的输出/相应实际情况

典型值…

边界值…

异常值…

接口B的函数原型

输入/动作期望的输出/相应实际情况

典型值…

边界值…

异常值…


1.6 路径测试的检查表

检查项 结论

数据类型问题

(1)变量的数据类型有错误吗?

(2)存在不同数据类型的赋值吗?

(3)存在不同数据类型的比较吗?

变量值问题

(1)变量的初始化或缺省值有错误吗?

(2)变量发生上溢或下溢吗?

(3)变量的精度不够吗?

逻辑判断问题

(1)由于精度原因导致比较无效吗?

(2)表达式中的优先级有误吗?

(3)逻辑判断结果颠倒吗?

循环问题

(1)循环终止条件不正确吗?

(2)无法正常终止(死循环)吗?

(3)错误地修改循环变量吗?

(4)存在误差累积吗?

内存问题

(1)内存没有被正确地初始化却被使用吗?

(2)内存被释放后却继续被使用吗?

(3)内存泄漏吗?

(4)内存越界吗?

(5)出现野指针吗?

文件I/O问题

(1)对不存在的或者错误的文件进行操作吗?

(2)文件以不正确的方式打开吗?

(3)文件结束判断不正确吗?

(4)没有正确地关闭文件吗?

错误处理问题

(1)忘记进行错误处理吗?

(2)错误处理程序块一直没有机会被运行?

(3)错误处理程序块本身就有毛病吗?如报告的错误与实际错误不一致,处理方式不正确等等。

(4)错误处理程序块是“马后炮”吗?如在被它被调用之前软件已经出错。


2.  功能测试用例

2 .1  被测试对象的介绍
2 .2 测试范围与目的
2. 3 测试环境与测试辅助工具的描述
2 .4 测试驱动程序的设计
2 .5 功能测试用例

功能A描述

用例目的

前提条件

输入/动作期望的输出/相应实际情况

示例:典型值…

示例:边界值…

示例:异常值…

功能B描述

用例目的

前提条件

输入/动作期望的输出/相应实际情况

……
3.  健壮性测试用例

3 .1  被测试对象的介绍
3 .2 测试范围与目的
3. 3 测试环境与测试辅助工具的描述
3 .4 测试驱动程序的设计
3 .5 容错能力 / 恢复能力测试用例

异常输入/动作容错能力/恢复能力造成的危害、损失

示例:错误的数据类型…

示例:定义域外的值…

示例:错误的操作顺序…

示例:异常中断通信…

示例:异常关闭某个功能…

示例:负荷超出了极限…
4 .  性能测试用例

4 .1  被测试对象的介绍
4 .2 测试范围与目的
4. 3 测试环境与测试辅助工具的描述
4 .4 测试驱动程序的设计
4 .5 性能测试用例

性能A描述

用例目的

前提条件

输入数据期望的性能(平均值)实际性能(平均值)

性能B描述

用例目的

前提条件

输入数据期望的性能(平均值)实际性能(平均值)

……
5 .  图形用户界面测试用例

5 .1  被测试对象的介绍
5 .2 测试范围与目的
5. 3 测试环境与测试辅助工具的描述
5 .4 测试驱动程序的设计
5 .5 测试人员分类

类别特征

A类

B类

……
5.6  用户界面测试的检查表

检查项测试人员的类别及其评价

窗口切换、移动、改变大小时正常吗?

各种界面元素的文字正确吗?(如标题、提示等)

各种界面元素的状态正确吗?(如有效、无效、选中等状态)

各种界面元素支持键盘操作吗?

各种界面元素支持鼠标操作吗?

对话框中的缺省焦点正确吗?

数据项能正确回显吗?

对于常用的功能,用户能否不必阅读手册就能使用?

执行有风险的操作时,有“确认”、“放弃”等提示吗?

操作顺序合理吗?

有联机帮助吗?

各种界面元素的布局合理吗?美观吗?

各种界面元素的颜色协调吗?

各种界面元素的形状美观吗?

字体美观吗?

图标直观吗?


6.  信息安全性测试用例

6 .1  被测试对象的介绍
6 .2 测试范围与目的
6. 3 测试环境与测试辅助工具的描述
6 .4 测试驱动程序的设计
6 .5 信息安全性测试用例

假想目标A

前提条件

非法入侵手段是否实现目标代价-利益分析

……

假想目标B

前提条件

非法入侵手段是否实现目标代价-利益分析

……
7.  压力测试用例

7 .1  被测试对象的介绍
7 .2 测试范围与目的
7. 3 测试环境与测试辅助工具的描述
7 .4 测试驱动程序的设计
7 .5 压力测试用例

极限名称A 例如“最大并发用户数量”

前提条件

输入/动作输出/响应是否能正常运行

例如10个用户并发操作

例如20个用户并发操作



极限名称B

前提条件

输入/动作输出/响应是否能正常运行


8.  可靠性测试用例

8 .1  被测试对象的介绍
8 .2 测试范围与目的
8. 3 测试环境与测试辅助工具的描述
8 .4 测试驱动程序的设计
8 . 5 可靠性测试用例

任务A描述

连续运行时间

故障发生的时刻故障描述

……

统计分析

任务A无故障运行的平均时间间隔(CPU小时)

任务A无故障运行的最小时间间隔(CPU小时)

任务A无故障运行的最大时间间隔(CPU小时)

任务B描述

连续运行时间

故障发生的时刻故障描述

……

统计分析

任务B无故障运行的平均时间间隔(CPU小时)

任务B无故障运行的最小时间间隔(CPU小时)

任务B无故障运行的最大时间间隔(CPU小时)
9.  安装 / 反安装测试用例

9 .1  被测试对象的介绍
9 .2 测试范围与目的
9. 3 测试环境与测试辅助工具的描述
9 .4 测试驱动程序的设计
9 . 5 安装 / 反安装测试用例

配置说明

安装选项描述是否正常使用难易程度

全部

部分

升级

其它

反安装选项描述是否正常使用难易程度
附录:评审意见

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

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

一、   前言   

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

二、   测试用例设计思路   

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

接口测试注意的点

接口测试作为集成测试的一部分,通过直接调用被测试的接口来确定系统在功能性、可靠性、安全性和性能方面是否能达到预期,有些情况是功能测试无法覆盖的,所以接口测试是非常必要的。

接口测试分为两种,一种是webservice接口,走soap协议通过http传输,请求报文和返回报文都是xml格式的,测试时通过工具soapUI进行测试。使用情况比较少接口测试用例图解;另一种http api接口,走http传输协议,通过路径来区分调用的方法,最常用的是get和post请求。

get请求和post请求的区别在哪里呢?网上的答案为:

1、get请求可以在浏览器中请求到,post请求的测试需要借助工具

2、get请求使用url和cookie传参,post的数据放在body中

3、post比get更安全,因为传递的参数在url上是看不到的

4、get请求的url会有限制,而post请求的数据可以非常大

5、一般get请求是来获取数据,post请求是传递数据的

其实,对于现在飞速发展的 互联网来说,上面的说法已经不严谨了。首先,post请求的参数也可以写在url里,但是这种情况不多见;其次表面上看起来,post利用body传参,比get的url传参安全,但其实只要用抓包工具(fiddler,Charles等),post的参数也是一览无余;再次,现在的浏览器非常强大,可以输入支持很长的URL,所以也不再有限制一说了。这么说来,种种区别只有最后一条是最根本的了。

 怎么来测试接口呢?根据什么来测呢?这就需要开发提供的接口文档了,接口文档和功能测试的需求说明书的功能是一样的。包括:接口说明、调用的url,请求方式(get or post),请求参数、参数类型、请求参数说明,返回结果说明。这里接口文档生成可以使用apipost接口文档生成工具。有了接口文档后,接口测试用例图解我们就可以设计用例了,一般接口测试的用例分为以下几种:

1、通过性验证,说白了就是传递正确的参数,是否返回正常的结果

2、参数组合,因为参数有必传和非必传,参数的类型和长度,以及传递时可能业务上的一些限制,所以在设计用例时,就要排列组合这些情况,保证所有情况都能覆盖到

3、接口的安全性,这个又分为几种情况:

1)绕过验证,比如提交订单时,在传递商品价格参数时,修改商品价格,就要看后端有没有验证了。或者我支付时,抓个包将订单金额一改,如果能以我改后的金额支付,那这个借口就有问题了。

2)绕过身份验证,就是某个功能只有有特殊权限的用户才能操作,那我传递一个普通的用户,是不是也能操作呢

3)参数是否加密,这个关系到一些账户的安全,比如我们在登录一些网站时,它要将我们的登录信息进行加密,如果不加密我们的信息就会暴露,危害性极大。

4) 密码安全规则,设置密码时复杂程度的校验。

4、根据业务逻辑来设计用例

用例设计完了,用什么来测试接口呢?我们可以借助一些工具,比如apipost和jmeter。apipost使用比较简单,可以在列表中选择请求方式,在输入框中输入URL,如果是get请求,直接点击发送就可以看返回结果了。

如果是post请求,会涉及到几种参数的上传方式和添加请求头、权限验证还有添加cookie等操作。apipost都可以简单实现

还有一种测试接口的工具是jmeter,用途比较广泛,不但能测接口的功能,还能对接口进行性能测试。比如:压力测试、负载测试等。在jmeter中需要创建线程组,如图:

Apipost官方链接: https://console.apipost.cn/register?utm_source=10008

『居善地』接口测试 — 21.Mock功能介绍(二)

当需要调用接口来编写测试用例接口测试用例图解的时候接口测试用例图解,此时该接口并没有被实现接口测试用例图解,这个时候接口测试用例图解我们就可以用Mock框架来模拟一个接口出来。

使用Mock模拟接口以下功能:

编写一个Json文件,接口所有的信息都配置在该json文件中。

把Moco框架的jar包和上面编辑好的Json文件放在同一个文件夹中。

在cmd命令行或者PyCharm的命令行终端执行启动命令。

Moco服务启动后,接口测试用例图解我们可以使用Requests库请求接口,也可以用浏览器接口。

浏览器访问接口:

我们主要是看Json文件怎么写,其他步骤和上面练习一样。

1)、没有参数的get请求

2)、有参数的get请求

说明:请求地址为: api/moco/get/param/demo?name=xiaomingage=18

1)、没有参数的post请求

提示:POST请求就不能用浏览器进行查看了。只能用Request库或者JMeter,Postman等进行查看。(能进行接口调用的工具都可以)

2)、有参数的post请求

调用接口查看结果。

使用的是 request 中的 cookies 属性。

1)、get请求

调用接口查看结果。

2)、post请求

调用接口查看结果。

使用的是 request 中的 headers 属性。

Header 是添加请求头信息,关于请求头信息get请求和post请求都是一样的。

调用接口查看结果。

重定向使用的是和 request 同级的 redirectTo 属性。

使用浏览器进行测试就可以。

Json文件的配置属性说明:

像我们上面练习过的Json文件配置,所有的数据值是固定的,

如: description 、 request 、 response 、 redirectTo 等这些都是固定的,不能修改,修改可能连Moco服务都启动不来。

还有 request 的属性值,如: uri 、 method 、 cookies 、 headers ,也是必须这样写的。

还有GET请求传递参数用 queries 属性,POST请求传递参数用 forms 和 json 属性都可以。(PUT,DELETE请求同Post请求。)

Moco框架原理:

就是把所有接口的数据,包括发送请求的所有数据和返回结果的所有数据,以Json数据格式进行编写。

把这些数据放入Moco框架提供的HTTP或者HTTPS的服务上,就实现了接口数据的模拟。

在使用的时候,我们只要按照json文件中接口配置的信息进行请求即可,如果调用接口传递的数据和Json文件中接口编写要接收的数据不一致,则无法请求成功。

关于接口测试用例图解和接口测试的测试用例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 接口测试用例图解的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口测试的测试用例、接口测试用例图解的信息别忘了在本站进行查找喔。

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

上一篇:Java8使用lambda实现Java的尾递归
下一篇:Eclipse代码格式化设置简单介绍
相关文章

 发表评论

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