社区分享|MeterSphere变身“啄木鸟”,助力云帐房落地接口自动化测试

云帐房网络科技有限公司(以下简称为“云帐房”)成立于2015年3月,以“成为最值得信赖的税务智能公司”为愿景,运用人工智能、大数据等互联网技术,结合深厚的财税行业服务经验,为代账公司和中大型企业提供智能化、自动化的财税解决方案,同时围绕企业运营管理的全链条提供全周期生态服务,帮助企业降本增效、持续发展。

一、引入接口自动化项目的背景

云帐房旗下的“有度税智”品牌,致力于为中大型企业和集团企业提供优质的智能税务服务,其SaaS产品包括企业税务、进项发票应用、销项发票应用、个税应用和AutoWork应用等。除此之外,还有为业务部门提供公共能力的税务数字化平台和提供发票能力的融合平台等。随着业务规模的发展,云帐房测试团队面临着如下挑战:

■ 业务逻辑复杂,随着产品迭代速度的加快,回归测试的成本越来越高;

■ 多租户系统需要保证线上系统功能的稳定性和可靠性;

■ “有度税智”品牌的客户群体大多是集团客户,税号多、数据量大、数据之间关联性强,通过手动构造大量测试数据的方式,效率低且可复制性差,期望通过自动化的方式构造测试数据。

目前,有度税智测试团队共有10名测试人员,团队中大部分成员能够独立负责单个应用的测试和管理,具有丰富的功能测试和接口测试经验。团队中50%的成员具有接口自动化测试脚本的编写经验,部分人员具备Python和Java编码能力和性能测试经验。

测试团队负责事业部所有应用的需求测试,版本迭代快且给到测试的时间较短,而新功能测试和部分影响功能回归以手动测试为主,测试效率难以支持版本的高频迭代。同时,产品的技术改造影响面广,精准评估影响范围难度较大,希望通过接口回归降低变更带来的潜在风险。

二、为什么选择MeterSphere开源持续测试平台?

对于有度税智的测试团队来说,MeterSphere能够满足其构建自动化测试平台的目标和需求。与其他的测试工具或平台相比,MeterSphere开源持续测试平台的优势体现在:

1.低代码平台,简单易用。无须CODING即可覆盖API自动化测试的所有功能,运行结果与日志实时呈现,方便调试和定位;

2.强大的用例管理能力。MeterSphere能够支持项目复用、场景复用、用例复用,一套用例支持多环境运行;

3.具备高可拓展性。MeterSphere平台支持Python和Java代码运行,对于无法满足的数据处理,支持进行拓展与封装;

4.多样的执行方式。MeterSphere平台支持定时执行测试场景、系统构建触发执行测试场景,以及单个或批量手动执行测试场景。

三、接口自动化落地过程中遇到的实际问题与解决方案

1.对外开放接口的自动化实现

对外开放接口用于提供产品的能力给第三方进行调用,为了保证调用的安全性,一般会对接口内容进行签名加密。因为MeterSphere提供的前置脚本、后置脚本以及自定义脚本都能支持Java程序运行,因此可以引用Java包中已经封装好的方法,实现接口请求参数的动态加密。
在这里插入图片描述

2.第三方接口测试桩与自动化场景的结合

“有度税智”产品中有不少依赖于第三方接口,通过测试企业很难实现功能场景全覆盖。MeterSphere是开源持续测试平台,为了能够更好地覆盖第三方接口不同的返回结果,有度税智的测试团队在MeterSphere平台之上集成开发了测试桩管理的模块。该模块支持对企业开启测试桩场景、服务接口的测试桩场景管理,以及接口测试桩场景的自由切换。

■ 测试桩管理:
在这里插入图片描述

■ 测试桩在自动化场景中的应用:
在这里插入图片描述

3.公共流程场景化封装,提高复用性

“有度企税”产品中的发票采集能力是非常重要的功能,对于不同的发票类型,采集流程和采集结果校验相同。为了覆盖所有发票类型采集的场景,有度税智的测试团队对公共流程进行了提炼,并通过基础功能场景进行封装,对断言进行参数化,有效提高了用例编写的效率。以进项采集流程为例,流程包括“用户登录→历史数据清理→进项发票采集→采集结果验证”四部分。

① 登录基础场景
在这里插入图片描述

② 删除历史数据基础场景
在这里插入图片描述

③ 进项发票采集基础场景
在这里插入图片描述

④ 采集结果验证
在这里插入图片描述

最终实现效果如下。对于不同发票类型的场景,只需定义不同的场景变量即可。
在这里插入图片描述
在这里插入图片描述

四、使用MeterSphere平台带来的项目收益

MeterSphere在“有度税智”测试团队内部的代号是“啄木鸟”,其寓意是它能够帮助测试人员更好地查找系统Bug。目前,基于MeterSphere平台的接口自动化系统建设已从“有度税智”的销项应用推广到整个事业部的6个产品,所有产品的主流程覆盖率达到100%。其中还包括了“中台项目-融合平台”的纯接口自动化,以及企税应用增值税和印花税这些复杂的算税模块场景。

通过MeterSphere的定时任务功能开展每日运行和发布前的回归自动化测试,产品迭代上线质量得到了保障。同时在应对华为云迁移、服务单元化、MQ切换等技术改造时,也得以提前规避较多的潜在风险。

此外,在销项本地化项目中,由于MeterSphere提供了API和Case复制的功能,测试团队通过少量的调试和改动,就完成了从SaaS到本地化项目的自动化迁移,做到了跨项目的自动化复用,保证了本地化项目的交付质量和效率。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

除了接口测试自动化以外,目前通过MeterSphere开源持续测试平台,云帐房也建立了一些复杂的数据构造场景,用于解决重复操作导致测试效率低下的问题,有效提高了数据构造的效率。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/116463.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈Deep Learning 与 Machine Learning 与Artificial Intelligence

文章目录 三者的联系与区别 三者的联系与区别 “Deep Learning is a kind of Machine Learning, and Machine Learning is a kind of Artificial Intelligence.” 人工智能(AI),机器学习(Machine Learning,简称ML&am…

Web服务(Web Service)

简介 Web服务(Web Service)是一种Web应用开发技术,用XML描述、发布、发现Web服务。它可以跨平台、进行分布式部署。 Web服务包含了一套标准,例如SOAP、WSDL、UDDI,定义了应用程序如何在Web上实现互操作。 Web服务的服…

gogs git 服务器极速搭建

背景 小型团队合作中,需要代码托管在内网,gitlab 等搭建比较复杂,经过一番搜寻发现gogs满足需求 基本用户管理后台管理面板,能在web端查看管理安装配置极简 安装配置 gogs是支持多个平台,这里我们选择ubuntu 1.下载git…

QT windows dpi变化导致的界面异常处理

问题:已经在UI界面中利用布局设计好界面,但是运行程序后显示的界面出现错乱,而且在做出一些修改后重新构建,运行时界面无变化。 目录 一、解决UI设计界面与运行时显示界面不一致的问题 1、导致该现象的原因有:显示屏…

Windows安装cuda和cudnn教程最新版(2023年9月)

文章目录 cudacudnn cuda 查看电脑的cuda最高驱动版本(适用于N卡电脑-Nvidia) winR打开命令行,输入nvidia-smi 右上角cuda -version就是目前支持的最高cuda版本,目前是12.2 nvidia官网下载cuda 下载地址:https://d…

最优化方法——Matlab实现黄金分割法一维搜索

文章目录 黄金分割法一维搜索原理算法流程: Matlab代码命令行窗口结果打印:更换匿名函数: 《最优化方法》教材上写成表的答案:黄金分割法的一些性质 黄金分割法一维搜索原理 若保留区间为[x1,b],我们得到的结果是一致的. 该方法称…

深入了解队列数据结构:定义、特性和实际应用

文章目录 🍋引言🍋队列的定义🍋队列的实现🍋队列的应用🍋练习题🍋结语 🍋引言 队列(Queue)是计算机科学中一种重要的数据结构,它常用于各种应用程序中&#x…

SoftwareTest3 - 要了人命的Bug

软件测试基础篇 一 . 如何合理的创建一个 Bug二 . Bug 等级2.1 崩溃2.2 严重2.3 一般2.4 次要 三 . Bug 的生命周期四 . 跟开发产生争执应该怎么解决 Hello , 大家好 , 又给大家带来新的专栏喽 ~ 这个专栏是专门为零基础小白从 0 到 1 了解软件测试基础理论设计的 , 虽然还不足…

php之导入导出csv文件

一、导入csv文件 1、创建导入页面 <!DOCTYPE html> <html lang"zh-CN"> <meta charset"UTF-8"> <head><title>文件提交表单</title> </head> <body> <form action"test5.php" method"…

【软件测试】测试中的风险有哪些?

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程&#xff0c;刷完面试就稳了&#xff0c;你也可以当高薪软件测试工程师&#xff08;自动化测试&#xff09; ​那么到底都有哪些风险要注意呢?如何解决呢?另外这些风险如何在计划中写明呢&#xff0c;不会写“张三…

CTF 全讲解:[SWPUCTF 2021 新生赛]jicao

文章目录 参考环境题目index.phphighlight_file()include()多次调用&#xff0c;多次执行单次调用&#xff0c;单次执行 $_POST超全局变量HackBarHackBar 插件的获取 $_POST打开 HackBar 插件通过 HackBar 插件发起 POST 请求 GET 请求查询字符串超全局变量 $_GET JSONJSON 数据…

Android Studio 创建项目不自动生成BuildConfig文件

今天在AS上新建项目发现找不到BuildConfig文件&#xff0c;怎么clear都不行。通过多方面查找发现原来gradle版本不同造成的&#xff0c;Gradle 8.0默认不生成 BuildConfig 文件。 如上图&#xff0c;8.0版本是没有source文件夹 上图是低于8.0版本有source文件夹 针对这个问题&…