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

如果没有接口文档,那就只能自己动手丰衣足食,通过抓包分析的方式来获取接口信息,常见的抓包工具比如:浏览器F12、Fiddler、Charles等,还可以把Fiddler抓到的接口导出,通过工具转成接口平台可识别的脚本,进而提高效率。

在获取到接口信息后,还需要与开发人员多进行交流,明确接口参数的含义和来源,以便于我们有针对性地进行用例的设计,有不明确的点应当直接找开发同学问清楚,而不应该自己过多的猜想,避免自己的猜想有误造成后续用例设计的错误。在此阶段,还需梳理接口的优先级和重要程度,根据优先级顺序进行用例设计,在有限的时间内,做最大价值的事。

单接口测试

单接口测试主要验证接口的请求地址、请求类型、请求格式、请求参数、权限、返回值等为主,目的是保证接口能跑通,这类用例一般在接口设计完成后定稿,使用过程中可配合Mock服务完成用例编写。

场景逻辑验证

场景逻辑验证是以用户场景为基础,验证接口间的参数传递和业务流程是否能够正常流转,比如:用户注册接口 --> 用户登录接口 --> 修改用户信息接口,使得业务流程形成闭环。

这个阶段的用例复杂度较高,需要非常熟悉业务与接口之间的关系,同时也是接口测试的核心部分、最有价值的部分。

异常测试

与界面功能测试类似,除了测试各种正常场景外,还需要验证各种异常情况,主要验证参数异常,比如:某个参数的类型是String,当你传入其他类型时是否会报错并给出提示;某个参数的长度限制200个字符,当超过200个字符时是否给出提示;某个参数是必填,当不传为空时是否有非空判断。还需要验证逻辑异常等情况下接口是否能够处理并给出友好的提示信息、提示是否准确清晰以及返回的信息是什么。通常情况下,关注参数的异常场景会比较多,可以用等价类、边界值等方法进行传参的设计。

尽量自动化

所有用例应该是非交互式的,能自动化就不要手动去获取。最常见的就是token的获取,获取token的方法也有很多种,最常用的就是通过调用登录接口获取返回值中的token,用于后续接口的鉴权,还有一些开放平台接口,token有特定的生成规则,就可以将其写成脚本自动生成token,而不是每次执行测试用例之前,需要手动生成token再复制粘贴到脚本中,特别是分环境测试时就会很麻烦,而且token一般是有有效时间的,写成自动化脚本,每次都获取都是最新的,就不用担心token过期的问题了。

独立性

用例之间相互独立,不能有依赖,需要在每一个用例里处理好前置条件,而不是多个用例相互依赖。

可重复性

用例测试应该是可以重复执行的,因此需要注意参数的生成方式。

合理的断言

黑盒测试的重点是输入和输出,其实集成后的接口测试也属于黑盒测试,也许我们不需要关注内部的代码是如何实现的,更多的是关注请求参数和响应结果,因此在设计用例时,需要重点关注断言的设计,好的断言能够帮助我们发现问题,没有断言的用例或者脚本就是在耍流氓,完全没有意义,如果没有断言,全部用例都是pass,那我们也无法真正对系统放心,无法确保一定没有问题。

从接口层面上看,我们至少需要关注两方面的验证,一是数据结构验证,二是核心数值验证。

数据结构验证就是校验接口返回的数据结构是否与事先约定好的一致,调用方在处理数据时,肯定是按照事先约定好的数据结构来解析数据,如果数据结构发生了变化,那么对调用方来说,无疑是灾难性的事故,也就是说之前已经开发完成的程序在对接时就会出错,导致需要重新开发。

核心数值的验证需要根据不同的业务场景,有针对性地验证某些键值是否与预期一致,同时可以结合数据库查询的方式来验证,比如:用户注册接口调用成功后会返回一个用户ID,此时就可以使用SELECT * FROM user_table WHERE user_id = "";以判断是否真的注册成功,这个比较依赖于测试人员对于业务的了解程度,根据实际情况灵活设计即可。

除此之外,还有一些额外的验证点在需要的时候也可以进行校验,比如:返回的URL是否能访问、涉及到数据流转的、返回的数据是否真的有必要(避免返回数据量过大导致意外情况发生)。

通过添加合理的断言,才能让接口自动化用例有一定的业务价值,能够真正帮助到团队提升效率,这样的测试结果才能让人安心。

在进行jmeter接口自动化测试用例设计时,可以按照以下步骤进行: 1. 首先,在jmeter中添加文件设置。 这一步是为了确保jmeter能够正确加载和使用测试用例文件。 2. 然后,根据需要设计接口测试用例。可以参考之前发过的关于jmeter数据驱动做自动化的文章,按照详细的步骤进行设计。 通过数据驱动的方式,可以更加灵活地对接口进行测试,并且减少了手动编写大量的测试用例的工作量。 3. 为了方便管理和查看执行结果,可以使用简单控制器来汇总每个接口的测试用例。这样在jmeter图形界面中,可以只显示错误的执行结果,方便查看和分析。123 #### 引用[.reference_title] - *1* *2* [jmeter接口自动化](https://blog.csdn.net/m0_58002043/article/details/126271378)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [Jmeter 实现接口自动化设计说明](https://blog.csdn.net/weixin_44117328/article/details/108195360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值