IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 接口测试用例的设计和执行 -> 正文阅读

[开发测试]接口测试用例的设计和执行

接口用例前的准备工作

本次负责测试的是一个对外查询接口,是给外部系统提供使用的,在用例开始设计之前,要做以下准备工作
1、了解需求,明确接口要实现的功能
无论是功能测试用例设计还是接口用例设计,都必须要了解用户的需求是什么,为了解决什么样的问题而做这个需求。

2、查看接口设计文档
接口设计文档是必须要有的,包括接口的url、是Get还是Post方法、Http Header中是否需要特别的参数(如Content-Type)、接口入参的说明、返参的说明、以及必要的示例等。

如何设计用例

1、从接口的入参维度,设计用例:
本接口有三个入参:channel、orderId、sign。其中第一个是渠道、第二个是订单id、第三个是MD5签名。

要考虑各参数的异常情况,当参数有误时,接口success应该是false,且message有错误提示。例如以下几种情况:
1)考虑channel、orderId、sign是否必填项。本接口中此三项都是必填的,所以要考虑当任一项缺失时,接口应有合理的错误提示。
2)考虑channel数据类型和取值范围,如果限定是几个数值,那么当输入其他数值时,接口应有合理的错误提示。
3)考虑orderId数据类型,本参数是string类型的,考虑是否有字符限制的,
当输入超过限制长度的字符时,接口是否返回错误提示;
当输入的订单id不存在时,接口是否返回合理错误提示。
4)MD5签名(即加密的一种方式):当输入的MD5签名有误时,接口应有合理的错误提示。

2、从接口的返参维度,设计用例:
本接口返回的参数大约有20几个,不一一介绍了,要设计合理的用例,要能覆盖各参数返回正确数值、空数值等各种情况。

3、从具体业务逻辑角度,设计用例:
本系统中,不同的订单状态,返回的数据内容是不同的。所以我们按照6种订单状态,分别准备对应的orderid,来测试返回数据的正确性。
从设计出来用例的个数来看,业务逻辑中包含的用例个数是最多的。

测试的执行

工具:postman+jmeter
1、最常用的工具,当然是postman了,无论开发人员调试接口还是测试人员测接口,都是最常用最省事儿的工具。postman的使用方法可自行百度一下。

2、当需要并发执行接口的时候,我比较喜欢jmeter,配置多个线程组,配合着csv参数话,就能实现简单的压测。

根据了解,本接口的调用方式并无大批量的并发场景,所以并未考虑压测。
但是在后期测试中,发现同样的入参,绝大部分时候接口返回都是正确的,但偶尔会出现success:false,message“系统异常”的情况。通过postman来手动复现,通常要调用接口十几次甚至几十次才能复现出来,手指头都要点疼了,所以我用jmeter配置了简单的场景来复现问题,每秒执行10次接口,看下问题出现的具体情况和复现概率。
在这里插入图片描述
后来开发同事分析出了问题原因,是后端同事在进行dubbo调用的时候消费端忘记加超时时间了,而dubbo的默认超时时间是1秒。后来加上了5秒超时,再使用jmeter调用接口时,就不会有“系统异常”出现了。

后续接口测试注意事项

1、根据本次测试的经验,后续接口测试时,一定要多调用几次,防止偶然出现接口调用失败的情况。
2、每次测试的时候,最好将测试的记录(入参、返参等)等记录下来的,可以列入测试报告里,当后续接口有改动的时候,或者回归bug的时候,都可以找出来重复使用。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:30:55  更:2021-08-03 11:31:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:45:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码