社区分享|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.rhkb.cn/news/136438.html

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

相关文章

避雷器雷击计数器检验

试验目的 由于密封不良, 放电计数器在运行中可能进入潮气或水分, 使内部元件锈蚀,导致计数器不能正确动作, 因此需定期试验以判断计数器是否状态良好、 能否正常动作, 以便总结运行经验并有助于事故分析。 带有泄漏电…

小程序隐私弹窗的实现

小程序的开发者对于微信官方来说是有爱有恨,三天二头整事是鹅厂的一贯风格。 隐私弹窗的几个要点 回归正题,小程序隐私弹窗的几个要点: 1、何时弹出用户隐私协议的弹窗? 2、是每次进小程序都弹出来吗? 这两个想明…

什么是HTTP状态码?常见的HTTP状态码有哪些?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是HTTP状态码?⭐ 1xx - 信息性状态码⭐ 2xx - 成功状态码⭐ 3xx - 重定向状态码⭐ 4xx - 客户端错误状态码⭐ 5xx - 服务器错误状态码⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前…

1979-2021年地级市空气流通系数数据

1979-2021年地级市空气流通系数数据 1、时间:1979-2021年 2、来源:整理自era-interim 3、范围:367个地级市 4、指标:10米风速、边界层高度、空气流通系数 5、指标解释: 空气流动系数是空气污染的常用工具变量&am…

小米手机安装面具教程(Xiaomi手机获取root权限)

文章目录 1.Magisk中文网:2.某呼:3.最后一步打开cmd命令行输入的时候:4.Flash Boot 通包-Magisk(Flash Boot通刷包)5.小米Rom下载(官方刷机包)6.Magisk最新版本国内源下载 1.Magisk中文网: htt…

SpringBoot对Filter过滤器中的异常进行全局处理

前言 今天处理拦截器中的异常时,遇到这样一个问题,我们希望在过滤器中对用户的请求进行判断,如果不符合要求直接抛出异常并在前端展示。但是如果我们直接在过滤器中throw一个异常时,尽管我们使用ControllerAdvice和 ExceptionHan…

再见纸质档案!电子会计档案数字化建设,为企业持续创造价值

传统的会计档案工作需要依靠纸张存储,对存储的空间大小、温度和湿度都有要求,财务人员要人工完成所有归档工作,档案在采集、调阅、借阅的过程中也易发生损坏、丢失等情况,企业需要付出高额的管理成本,不仅给财务人员带…

【IoT】生产制造:锅仔片上机做 SMT 加工吗?

目录 简介 锅仔片 简介 由于最近做产品用到了锅仔按键,由于单品用量过多,但是成品锅仔按键价格又太高,不适合量产。 这个时候就想到了锅仔片,问题又来了,锅仔片是否可以上机呢? 答案是肯定的。 锅仔片…

Spring实例化源码解析(二)

ConfigurationClassPostProcessor源码 解析 书接上回,在第一次调用invokeBeanDefinitionRegistryPostProcessors方法的时候参数currentRegistryProcessors为ConfigurationClassPostProcessor,本章主要深入这个类的postProcessBeanDefinitionRegistry方法…

B树的定义和特点

1.多叉查找树的效率 策略1:m叉查找树中,规定除了根节点外,任何结点至少有[m/2]个分叉,即至少含有[m/2]-1个关键字。策略2:m叉查找树中,规定对于任何一个结点,其所有子树的高度都要相同。 而满足以上两种策略的树被称…

halcon算子2、gray_histo

gray_histo 计算直方图 原形:gray_histo(Regions, Image : : : AbsoluteHisto, RelativeHisto) 功能:计算直方图 参数:Regions:区域,要计算的区域(在image上的区域) Image :要计算的…

【算法】迷宫问题

文章目录 前言1.迷宫问题求解分步骤求解代码 2.迷宫最短路径求解代码 前言 迷宫问题本质就是一个图的遍历问题,从起点开始不断四个方向探索,直到走到出口,走的过程中我们借助栈记录走过路径的坐标。 栈记录坐标有两方面的作用,一…

Git配置SSH

前言: Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置 温馨提示: 1.查看是否已经有了ssh公钥:cd ~/.ssh 如果没有则不会有此文件夹,有则删除 一、git 配置 &a…

【HarmonyOS】【DevEco Studio】盘点DevEco Studio日志获取途径

【关键词】 DevEco Studio、日志获取 【问题背景】 在收到IDE工单的时候,很多时候开发者出现的问题都需要提供一些日志,然后根据日志分析,那么你知道IDE各种日志的获取方式么?往下看 【获取方法】 一、idea.log获取 IDE界面H…

【数据结构】二叉树的层序遍历(四)

目录 一,层序遍历概念 二,层序遍历的实现 1,层序遍历的实现思路 2,创建队列 Queue.h Queue.c 3,创建二叉树 BTree.h BTree.c 4,层序遍历的实现 一,层序遍历概念 层序遍历:除了先序…

大模型助力企业数据驱动,火山引擎数智平台发布AI助手

9月19日,火山引擎在其举办的“V-Tech数据驱动科技峰会”上宣布,火山引擎数智平台VeDI推出“AI助手”,通过接入人工智能大模型,帮助企业提升数据处理和查询分析的效率。即使是不会写代码的运营人员,和大模型对话也能做好…

基于conda的相关命令

conda 查看python版本环境 打开Anaconda Prompt的命令输入框 查看自己的python版本 conda env list激活相应的python版本(环境) conda avtivate python_3.9 若输入以下命令可查看python版本 python -V #注意V是大写安装相应的包 pip install 包名5.查看已安装…

stm32----ADC模数转换

一、ADC介绍 ADC,即模数转换器,它可以将模拟信号转化为数字信号。在stm32种一般有3个ADC,每个ADC有18个通道。 12位ADC是一种逐次逼近型模拟数字转换器,它有多达18个通道,可测量16个外部和两个内部信号源。各个通道的A…

物 理 层

二、物理层 1、物理层的基本概念 物理层的作用:尽可能的屏蔽掉传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,使其只需要考虑如何完成本层的协议和服务 1.1、物理层的主要任务 机械特性:指明接口所用的接线器的形状…

Windows10/11无线网卡WIFI驱动详细下载安装教程

官网下载WIFI驱动 《intel官网》 找到下载Windows 10 and Windows 11* WiFi package drivers 查看详细信息 下载对应操作系统的WIFI驱动 安装驱动,然后重启电脑即可。