收藏 分销(赏)

接口自动化测试的应用实践.pdf

上传人:自信****多点 文档编号:579490 上传时间:2024-01-02 格式:PDF 页数:3 大小:1.54MB
下载 相关 举报
接口自动化测试的应用实践.pdf_第1页
第1页 / 共3页
接口自动化测试的应用实践.pdf_第2页
第2页 / 共3页
接口自动化测试的应用实践.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、103广播电视网络 2023 年第 7 期 总第 403 期实践探索1 引言随着媒体融合的高速发展,IPTV和 OTT 业务推出在电视机顶盒上运行的大屏 APP 和手机端运行的小屏 APP产品,前后端分离的技术架构的广泛应用对接口自动化测试提出了更高的要求。接口自动化测试可以将测试用例以代码为载体固化在脚本上,实现快速回归测试,也可按需每天定时执行,以持续集成的自动化测试环节实现持续改进。需要注意的是,编写脚本的同时也是在执行接口测试,在接口层面检查目标系统功能,并与常规的功能测试互相补充促进,可以提升测试质量和效率。2 接口自动化测试2.1 平台功能接口自动化测试平台功能架构如图 1 所示,

2、分为测试管理、测试执行、系统管理、系统监控 4 个模块。2.1.1 测试管理测试管理模块用来维护测试用例和制订测试计划。首先,创建用例模块;其次,在用例管理中编写用例,形成用例池;最后,在测试计划中选择用例。测试管理模块可为同一个项目的新旧2个版本分别制订测试计划,新版测试计划不再包括过时的用例。同时,可在测试计划基础上制订聚合计划,实现批量执行测试计划。2.1.2 测试执行测试执行模块包括任务调度、任务执行以及用例明细。通过任务调度为测试计划创建任务;通过 Cron 表达式实现每天定时执行;通过任务执行查看测试任务的执行结果,包括正常结束或超时阻塞;通过用例明细查看用例的执行耗时和执行结果,

3、对执行失败的用例列出报错信息。2.1.3 系统管理系统管理模块用来维护用户和项目信息。通过项目管理创建项目,平台中的测试用例按项目进行归属;通过角色管理创建角色并分配平台菜单访问权限;通过用户管理创建用户并绑定角色。创建的角色包括管理员角色和测试工程师角色,管理员角色负责创建用户分配权限、创建基础数据,能够访问所有菜单;测试工程师角色负责编写和执行用例,只能访问测试管理模块、测试执行模块以及系统监控模块的相关菜单。接口自动化测试的应用实践黄志辉 蔡杰峰 蔡汉钓 广东南方新媒体股份有限公司摘要:随着媒体融合的高速发展、研发产品的迅速迭代以及开发技术前后端分离架构的广泛应用,系统测试愈加重要,对代

4、码在接口层面的功能测试质量和自动化回归测试效率也提出了更高的要求。本文主要介绍接口自动化平台的总体功能架构和接口自动化测试工作流程,结合实际业务场景,针对多样的接口检查需求,采用灵活多变的断言方式编写自动化接口测试用例,形成规范有序且可行的接口自动化测试实践,有效提升接口自动化测试的效率和质量。关键词:接口自动化测试 断言 Python图 1 平台功能架构104广播电视网络 2023 年第 7 期 总第 403 期实践探索2.1.4 系统监控系统监控模块包括客户端管理、日志管理、定时任务以及统计面板。自动化测试平台支持分布式测试,通过客户端管理展示已注册客户端的当前连接状态;通过日志管理可查阅

5、用户的登录日志和操作记录;通过定时任务展示当前任务调度的运行状态;通过统计面板统计并展示自动化测试执行的总体概况,包括执行任务数和用例总条数等。2.2 网络拓扑结构接口自动化测试平台分为服务端和客户端 2 个部分,网络拓扑结构如图 2 所示。服务端部署在机房的服务器中,提供 Web 界面供测试终端登录使用;客户端部署在测试实验室的计算机中,在服务端注册并通过心跳机制向服务端报告存活状态。测试工程师在测试终端编写脚本并调试成功后,上传脚本文件到接口自动化测试平台的客户端,通过服务端的 Web 界面制订测试计划和创建测试任务。服务端派发测试任务给客户端执行,客户端将执行结果上报给服务端。测试终端分

6、为 2 类,管理员角色的用户只须关注 Web 界面中的服务端功能,因此测试终端计算机只需要连接到服务端;测试工程师角色的用户还需要将调试成功的脚本上传到客户端计算机,因此测试终端需要连接到服务端和客户端。测试目标分为测试网业务和移动专网业务,客户端计算机必须能够同时连接 2 种网络。客户端计算机利用无线网卡连接测试网,有线网卡连接移动专网,通过客户端计算机的路由设置,指定默认出口流量为使用无线网卡出口的测试网、特定 IP 地址段出口流量使用有线网卡出口的移动专网实现双网络连接。2.3 工作流程接口测试用例的编写依据是研发人员提供的接口文档和 APP 测试包。接口文档包括接口参数的定义和调用示例

7、,用来配合对 APP 测试包做抓包分析,能够得到接口的真实传参和响应。接口自动化测试必须做到接口文档、APP 测试包、接口测试用例三者一致,规范的接口自动化测试工作流程如图 3 所示。一是项目按版本迭代开发。当前版本的功能测试结束后,评估启动该版本的接口自动化测试。二是编写接口测试用例。测试工程师根据接口文档编写用例前,需要了解接口的调用场景和接口参数含义,初步排查接口功能和接口文档存在的问题。三是评审接口测试用例。接口测试用例的要素包括原始接口文档中的图 2 网络拓扑结构图 3 工作流程105广播电视网络 2023 年第 7 期 总第 403 期实践探索定义、接口的实际抓取结果以及设计的测试

8、场景。接口的实际抓取结果包括 APP 中的触发入口、APP 中要检查的目标、接口的实际请求和响应参数。测试场景包括场景描述说明、测试脚本位置、断言成功检查点、该场景的请求参数和响应参数。四是编写测试脚本。编写脚本并调试通过后须提交代码走查,检查测试脚本是否存在逻辑错误,保证测试脚本的质量。五是部署脚本。通过代码走查后的脚本上传到客户端计算机,通过服务端 Web 界面创建并执行测试任务。六是问题跟踪。测试工程师通过自动化测试平台的用例执行明细,查看脚本执行失败的用例,在缺陷管理系统中做好登记并推动定位。2.4 测试用例 2.4.1 脚本编写平台默认通过Web界面编写用例,使用模糊匹配、精确匹配或

9、者正则表达式匹配断言。这种编写方式存在以下 3 种缺点:不支持循环迭代,无法满足遍历对象寻找目标的需求;不支持复杂的多条件断言;只支持按值匹配断言,很难编写灵活的断言(校验IP 地址有效)。可采用 Python 脚本编写用例作为默认方式的补充,此时平台 Web 界面的测试用例只有一个步骤负责驱动 Python 测试,真正的断言逻辑在Python 脚本中实现。Python 脚本能够根据测试需要实现分支/循环以及复杂类型的断言,也能完成多条件断言,增加测试脚本的灵活性和对目标接口的检查能力。2.4.2 场景设计接口往往支持场景复用,即请求参数组中按不同方式传值,接口返回不同响应。编写用例时需要为每

10、一种组合分别编写一条用例,除正向场景,应对典型的异常情景编写异常用例。2.4.3 检查点根据不同的断言需求,采用灵活多变的方式设置测试用例的检查点。(1)字段值相互依赖。某业务题库接口的响应中,subject 字段为四则运算的题目“7+9”,answer 字段为答案 16。测试用例中通过正则表达式从 subject 字段提取左右运算数和运算符,计算结果后断言与 answer 字段值一致。(2)接口支持分页并且目标对象唯一。某业务接口支持分页查询,需要判断查询目标对象存在且唯一。设计测试用例时,先判断该接口返回对象的总量,如果数量很大并且目标期望在前 N 页能找到,那么只检查前 N 页的数据,否

11、则检查所有分页的数据。测试用例中,断言必须同时满足2 个检查点:除最后一页,每页返回的对象数量必须与预期一致,目标对象只出现 1 次;第 2 个检查点循环遍历接口返回的所有对象并通过计数器统计目标出现次数,当不等于 1 时断言失败。(3)断言图片地址有效。某业务接口返回海报图片地址,用例中根据图片地址实际发起 HTTP 请求,响应的 HTTP 返回码为 200,响应头字段Content-Type 包含“image”标识,从而断言海报地址有效。3 效果分析3.1 发现接口文档中的问题后台接口开发一般早于前端 APP开发。研发工程师编写接口文档时定义的请求和响应参数字段有可能在前端APP开发阶段由

12、于需求变更而过时。此时可能会出现代码中已经删除多余字段但在接口文档中仍然保留,或者接口代码和文档仍然保留这些字段,但实际前端APP明确不会用到的情况。测试工程师在编写接口自动化测试用例时要抓包分析并了解接口字段含义,要能够发现这一类冗余字段的问题,向研发工程师及时反馈后更新接口文档或者优化接口代码。3.2 发现接口层面的代码逻辑系统功能测试能够检测出接口和前端 APP 联调的故障,而接口的代码逻辑问题可以通过接口自动化测试检测。测试工程师在编写用例过程中,可以发现接口响应中的字段缺失、字段值错误等问题。在自动化脚本的日常回归测试过程中,还能够发现由于接口逻辑被改动导致按原来预期值断言执行失败的问题。4 结语本文针对新产品、新业务相继推出,提测版本迭代频繁,需要在系统功能测试以外通过自动化手段提升总体测试效率和测试质量等需求,提出了接口自动化测试的实践探索。在介绍接口自动化测试平台功能架构、平台网络拓扑结构、自动化测试工作流程的基础上,结合实际业务经验,总结测试用例编写的场景设计原则和用例典型检查点断言的经验。平台运行至今,有效发现了接口层面的代码问题。希望本文能对广电行业的自动化测试提供一定的借鉴,助力提升接口自动化测试水平和质量。RTN

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服