银行测试丨信贷长链路业务测试数据快速构造方法,了解一下

news2024/10/7 8:22:52

一、引言

随着银行数字化转型的不断深入,对信贷领域的测试工作提出了更高的标准和要求,如何在高效完成测试任务的同时确保测试质量就成了一个亟待解决的难题。有实践研究表明,在具体测试过程中往往大量的时间精力都是耗费在测试数据准备工作上面,能否尽量减少这部分耗费,将更多的时间精力专注于业务逻辑等方面更好地去提升测试质量?本文基于此进行了探索,提出了一种长链路业务测试数据快速构造方法,并将该方法应用于信贷领域多个场景,取得了良好成效。

二、背景与挑战

当前信贷领域长链路业务测试主要有三方面特点:一是业务链路长,随着信贷业务不断迭代,业务场景一般涉及多个业务模块,整体业务流程长;二是信贷业务复杂度高,业务形态的不同会有不同的触发方式,业务逻辑的不同也会产生不同的组合方式;三是信贷业务依赖性强,业务前后环节间的依赖性强,后一环节的输入是前一环节的输出。

一般来讲,测试数据准备有“造”数和“找”数两种方式。“造”数主要是通过某种方式模拟实际业务的运行逻辑生成测试数据,一种方法是通过GUI构造测试数据,这是最常见、最可靠的方式,直接通过客户端或界面完成数据构造,缺点是成本高、效率低;另一种方法是通过数据库构造数据,缺点是直接修改数据库容易产生脏数据,全量导入数据有评估和操作成本。“找”数是通过某种方式去查找已经存在的测试数据,一种方法是通过数据库去查找可用数据,缺点是数据共用导致数据属性频繁变化,会相互影响;另一种方法是通过找项目组或者是相关系统的对应开发人员配合提供,缺点是需要熟悉各自模块,沟通成本高。这两种方式无疑都能够满足基本测试数据准备需要,但往往都伴随着“造”数难和“找”数难的问题,而对于信贷业务来说,其长链路的特点使得“造”数更难和“找”数更难,如何快速构造测试数据就成为了影响测试进度及质效的关键。

三、方法探索

在对当前信贷长链路业务测试数据准备过程中的相关现状进行分析梳理并总结归纳后,我们发现主要有以下特点:

信贷长链路数据准备一般涉及范围广,完成一次流程往往要跨多个系统或者是模块,对上下游系统间的合作需要高度的默契;

数据准备需要熟悉业务流程、熟悉业务接口和实现逻辑,对数据准备人员较高要求;

大部分情况下数据构造流程伴随着业务状态的变化,数据状态是不可逆的,只能按需不断构造新的数据;

链路越长整体成本越高;

数据间依赖性强,往往需要做数据的串联,例如下一个请求的入参需要上一个请求的返回值;

找谁造数、造什么样的数,时间往往都消耗在沟通上。

基于以上痛点和难点,并结合对测试数据实际准备过程中相关问题的探索和研究形成了长链路业务测试数据快速构造方法论,主要包括场景梳理、功能编排、数据构造、结果反馈以及维护保鲜等几部分,总体流程如下图所示:

1、场景梳理

场景梳理主要是指在熟悉长链路业务流程、接口和实现逻辑的基础上,按照待造数长链路业务场景流程梳理出涉及到哪些模块、功能、对应接口以及实现逻辑,大致如下图所示:

场景梳理的方法总结起来有三种:一是与对应开发人员沟通确认;二是将整个场景涉及到功能、接口等信息记录下来再进行筛选,例如Jmeter录制、抓包等;三是通过F12从前台界面逐一分析每个功能涉及到的接口相关信息。在实际操作过程中,一般需要结合三种方法使用会起到较好的作用。

2、功能编排

功能编排是将无序的功能编排成有序的场景,主要采用了JSONPath技术来进行处理。其优点是:语法灵活简单、使用简便、无需一层一层往下找,特别是对于比较复杂的JSON结构数据效果更加明显,在各种主流的编程语言中均有对应的库支持。其语法大致介绍如下:

简单来讲,功能编排的核心主要是通过JSONpath语法完成参数动态替换,如下图所示:

3、数据构造及结果反馈

数据构造主要包括明确输入、输出格式等信息,并按照完成组合好的场景完成数据构造,而结果反馈是将构造完成的数据按照格式反馈给用户。

4、维护保鲜机制

维护保鲜机制是为了解决在首次建立长链路业务数据构造流程后,中间由于某些原因导致长链路场景发生了变化(例如功能和接口有改变)而数据构造失效不可用,在通过维护保鲜后能够及时响应变化,以确保数据构造能够随时可用。在检查反馈数据结果是否符合预期后,如不符合则进入维护保鲜环节及时进行处置,待处置成功后继续循环构造流程。处置措施一般包括以下三方面:

1.若判断是场景发生变化,需重新评估;

2.若判断是场景中功能发生变化,需定位到具体功能,重新梳理更新场景;

3.其他问题:例如环境不可用等,需进一步排查解决。

……

由于作者版权要求,仅展示文章的一部分,如需阅读完整版文章,可以私信我。

文末了:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。同时我邀请你进入我们的软件测试学习交流平台,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,了解测试行业的最新趋势,助你快速进阶Python自动化测试/测试开发,稳住当前职位同时走向高薪之路。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

原神私服搭建服务器配置该如何选择

原神是一款开放世界的冒险游戏,自从这款游戏上线以来,就受到越来越多的玩家喜欢,因为这款游戏的设定比较少见,剧情也非常精彩,有一些玩家为了更好的游戏体验想要搭建原神的私服,满足玩家的需求,…

【云栖2023】王峰:开源大数据平台3.0技术解读

本文根据2023云栖大会演讲实录整理而成,演讲信息如下: 演讲人:王峰 | 阿里云研究员,阿里云计算平台事业部开源大数据平台负责人 演讲主题:开源大数据平台3.0技术解读 实时化与Serverless是开源大数据3.0时代的必然选…

提升采购订单管理效率的五个最佳实践

企业每年都要订购成千上万的商品和服务。公司运营和发展所需的一切都来自庞大的供应商网络,而沟通这些需求的主要方式是通过采购订单。 由于所有订单都会流经系统,而且每个月都会发生数千元不等的供应支出,因此掌握采购订单流程成为重中之重…

2023年云计算发展趋势浅析

​​​​​​​ 云计算的概念 云计算是一种通过互联网提供计算资源和服务的模式。它允许用户通过网络访问和使用共享的计算资源,而无需拥有或管理这些资源的物理设备。云计算的核心理念是将计算能力、存储资源和应用程序提供给用户,以便随时随地根据需要…

Ubuntu18.04 安装docker教程

Ubuntu18.04 安装docker教程 1、前言 Docker Engine-Community 支持以下的 Ubuntu 版本: Xenial 16.04 (LTS)Bionic 18.04 (LTS)Cosmic 18.10Disco 19.04 Docker Engine-Community 支持以下CPU架构: x86_64(或 amd64)armhfarm…

Win10共享打印机,别人连接不上出现无法连接到打印机错误码0x0000011b

环境: Win10 专业版 惠普L1119 问题描述: Win10共享打印机,别人连接不上出现无法连接到打印机错误码0x0000011b 解决方案: 1.打开我这台电脑的注册表找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print在右侧…

Google Analytics优缺点分析

Google Analytics是一款广泛使用的网站分析工具,它能够帮助网站和应用程序的拥有者收集和分析数据,并提供有关用户行为、流量来源和转化率等方面的详细见解。本文小编将讲讲关于Google Analytics的优缺点分析。 一、Google Analytics优点 1、免费使用&a…

如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、…

STM32H563烧录后无法擦除

STM32H563烧录后无法擦除,使用STM32CubeProgrammer连接后显示如下图所示。

Harmony 应用开发的知识储备

Harmony 应用开发的知识储备 前言正文一、DevEco Studio版本二、手机版本① 环境变量 三、API版本四、开发语言五、运行调试 前言 这里先说明一点,如果你对Android应用开发很熟悉,那么做Harmony应用开发也可以驾轻就熟,只不过在此之前你需要知…

bat脚本批量修改文件名称的方法,以及乱码问题解决

当有大量的文件,需要按照对应数据进行文件名称的修改时候,用bat脚本,是一个快速,并且简单的方法。 使用命令 “"ren "&A2&" "&D2&""” 其中A2为需要修改的单元格,D2为…

微信超实用的小功能

微信真的有超多实用小功能 平时很少注意到,每次都用传统的方法解决,浪费人家研发人员的一片苦心~ 1重要事项提醒:健忘症的福音; 步骤:长按消息-提醒-设置。 2 图片翻译:不用跳转翻译软件,一键翻…

卷积神经网络中参数量的计算原理及方法

手动计算参数量: 1. 卷积层参数计算方法: 参数量计算公式 卷积核宽度 * 卷积核高度 * 输入层通道数 * 输出层通道数 bias(输出层通道数) 注意:池化层没有参数(只是在已知数据区域里求个最大值)输入层通道数就是上层的卷积核数量 输出层通道数等于卷积核个数:输入层通道数经过…

双十一“静悄悄”?VR购物拉满沉浸式购物体验

以往每年的双十一,都会因为电商购物狂欢而变得热闹非凡,而各大电商平台也会在这天推出各种促销活动。但是,近几年来,双十一正在变得“静悄悄”。一个原因是消费群体越发理性消费,更加重视商品本身的质量和体验&#xf…

maven-compiler-plugin和spring-boot-maven-plugin的区别

两者都能打包!!!!!!! 格式不同!!!用处不同!!! 以实验为准,下面开始实验: maven-compiler-plugin &…

基于SSM的汽车租赁系统业务管理子系统设计实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

[每周一更]-(第71期):DevOps 是什么?

Wiki的解释: DevOps(Development和Operations的混成词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。 通过自动化“软件交付”和“架构变更”的…

Redis客户端-引入jedis

ssh端口转发 Redis服务器在官网公开了使用的协议(RESP),此时任何一个第三方都可以通过上述协议,来实现出一个和redis服务器通信的客户端程序. 现在,已经有很多库可以让我们直接调用,就不必关注redis协议的细节了. 在java的生态中,封装了RESP协议,实现的redis客户端有很多,我…

亚数受邀参加第六届进博会配套论坛,获评“2023年度上海重点产业提升国际竞争力示范案例”!

11月8日,由上海市商务委指导,上海社科院和临港集团主办,上海社科院应用经济研究所、徐汇虹梅街道和上海市漕河泾新兴技术开发区开发总公司联合承办,长三角产业国际竞争力联盟协办的第六届中国国际进口博览会提升上海产业国际竞争力…

整车级虚拟标定:降本增效

随着社会发展和用户对汽车产品要求的提高,在排放油耗法规逐步加严与新能源汽车凶猛来势的双重夹击下,动力系统配置、车辆配置以及目标市场的多样化正在为汽车产品开发工作带来巨大挑战,也给整车厂研发带来巨大压力。自2005年实施的CAFC&#…