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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


http://www.niftyadmin.cn/n/5026183.html

相关文章

基于Gradio/Stable Diffusion/Midjourney的AIGC自动图像绘画生成软件 - Fooocus

0.参考 本项目:GitHub - lllyasviel/Fooocus: Focus on prompting and generating 作者:Lvmin Zhang lllyasviel 另一杰作 ContorlNet https://github.com/lllyasviel/ControlNet 模型:https://huggingface.co/stabilityai/stable-diffus…

Qt中音频的使用

对于音频我们在使用的过程中一般是录制音频、播放音频。针对这两个需求介绍Qt中音频的使用。 Qt中音频的录制 步骤: 1、获取系统中的音频设备。 2、创建QAudioRecorder对象,指定使用的音频设备,通过QAudioRecorder的setAudioInput函数设置…

数据通信网络之IPv6以太网多层交换

文章及资源归档至【AIShareLab】,回复 通信系统与网络 可获取。 文章目录 一、目的二、环境及网络拓扑三、需求四、步骤 一、目的 掌握 VLAN 的基础配置。掌握 Trunk 的基础配置。掌握 VLANIF 的基础配置,并理解通过三层交换机实现 VLAN 之间通信的方案…

音视频 SDL vs2017配置

一、首先我把SDL放在了C盘根目录下 二、新建空项目 三、添加main.cpp //main.cpp #include<iostream> #include <SDL.h>int main(int argc, char* argv[]) // main函数头必须这样写&#xff0c;因为SDL把main定义成了宏 {SDL_Delay(3000); // 让窗口在屏幕上保持…

tensorflow cuda gpu 安装

Windows 安装 CUDA/cuDNN 需要注意的是一定要选择 TensorFlow 和 CUDA相匹配&#xff0c;还需要查看下自己GPU的驱动版本&#xff0c;如果不匹配会出现很多问题。GPU驱动的版本可在 NVIDIA控制面板里找到&#xff1a; CUDA个版本与驱动的关系如下&#xff1a; GPU版本的 Tensor…

Laravel5使用box/spout扩展,大文件导出CSV文件

一、背景 早期开发的系统&#xff0c;使用laravel框架&#xff0c;版本V5.4&#xff0c;项目经理导出 3 年的数据&#xff0c;由于数据量较大&#xff0c;浏览器卡死。一次性无法导出&#xff0c;某位程序员告知按月去导出&#xff0c;之后在拼凑&#xff0c;这。。搁谁受的了…

计算机竞赛 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#x…

酷开系统——酷开科技挖掘下沉市场的重要利器

纵观整个互联网的发展历程&#xff0c;我们经历从搜索时代到电子商务时代&#xff0c;再从社交网络时代到近几年兴起的兴趣网络时代。而在当下的兴趣网络时代&#xff0c;面对多元化、同质化的产品&#xff0c;价值文化成为品牌和消费者建立连接的关键。目前&#xff0c;互联网…