接口测试用例的设计和执行

接口用例前的准备工作

本次负责测试的是一个对外查询接口,是给外部系统提供使用的,在用例开始设计之前,要做以下准备工作
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的时候,都可以找出来重复使用。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值