基于信用卡业务测试数据支持解决方案
一、 背景
(1) 信用卡业务持续稳健发展
根据央行发布的《2018年第一季度支付体系运行总体情况》银行卡信贷规模持续扩大,信用卡和借贷合一卡在用发卡数量共计6.12亿张,环比增长4.23%。全国人均持有信用卡0.44张。相较于美国人均持卡量2.9张,我国信用卡业务尚未饱和,虽然增长速率有所缓和,但是仍然在可预见的未来处于持续上升发展阶段。
(2) 如何平衡信用卡业务快速发展与系统质量
近年各家银行纷纷加大信用卡业务营销投入及角逐高速增长的市场份额。随之而来的各银行对于信用卡业务信息科技投入及研发的同步高速增长,以适应信用卡业务的快速发展并顺应激烈的市场竞争。由于信用卡业务的业务特点及背景,导致了其系统建设\维护过程中存在“迭代周期短、系统变化频繁、与市场活动快速衔接、7*24H运维、受政策及风控影响大”等特点。对于围绕信用卡业务的系统建设过程中(特别是持续集成及快速迭代模式下)测试及质量保障工作变得尤为重要。
(3) 测试数据支持现状
目前多数信用卡业务信息建设的配套测试工作涉及的测试数据准备,存在依靠业务人员提供测试数据或者随意捞取测试数据等方式,以此平衡高速迭代及基于大数据量下的回归及多流程分支测试。由于其随意性且无规划性,无法满足测试过程中对于数据独占性的要求,极易导致测试数据的互相干扰。且多数据情况下是根据已有测试数据进行测试工作,而非测试需求去准备数据,测试的针对性较弱,数据的先天局限性导致了测试覆盖率的不全面。这些都是阻碍信用卡业务系统质量提高的明显“短板”。
图1-1 数据准备现状
二、 开展测试支持工作
(1) 统筹开展测试数据支持工作
应对如上问题,结合“客户对于差异化服务及系统质量愈加敏感、互联网冲击以及信用卡业务持续稳健发展”等市场背景,急需通过组织级高度统筹开展相关测试支持工作的规划、组织及落地。打破相关技术实施部门(或主体)内部沟通及信息壁垒,把此项工作上升到全局层面考虑。
(2) 组建测试支持小组
人员构成方面:测试支持小组成员应分布于各主要系统或系统群,熟悉各自负责领域,以便后续进行数据支持的“承上启下”工作。团队组建并形成一个广泛的、具有代表性的测试支持小组去牵头实施相关测试支持工作。测试支持成员根据分工及职责划分,可以安排自身的部分或者全部工作量去参与测试支持工作。(一般不建议全职参与,需同时兼顾本人负责领域的系统测试工作,从而能及时获悉及了解相关系统,更好的服务于测试支持工作)建议参与的时间占本人的总工作时间的10%~30%。
(3) 主要职责
Ø 进行相关测试阶段数据的统一受理及支持工作;
Ø 展开围绕信用卡为中心的核心系统数据准备(制卡、养卡等)
Ø 统筹各系统相关协同测试支持事宜;
Ø 牵头突破测试支持难点,并进行知识分享及推广
Ø 培养一批数据支撑骨干,牵头后续相关工作及推进;
Ø 提供部分稀有数据的整合及共享机制,减少数据的浪费,提高数据的使用率;
Ø 根据合规要求,建立及宣导测试数据准备准入规范,并按此规范进行测试支持小组范围内的数据支持工作。
三、 解决方案
围绕信用卡业务特点,基于实际测试支持工作经验总结如下几个维度测试数据支持解决方案。
(1) 围绕基础数据“制卡”为中心的测试支持
信用卡系统测试工作中,制卡(信用卡)是数据准备的基础及重点工作。信用卡业务基础制卡数据模型(如图3-1),以信用卡核心制卡为基础。
1. 建立围绕“客户层>账户层>卡片层”的信用卡客户基础账户树,并交叉建立“单账户单卡、单账户多卡、多帐户多卡、主附属卡”等制卡分类场景。根据风控及流程控制要求对于各层的管制码及风险征信进行维护。
2. 将制卡中涉及到的重要业务字段作为数据准备分支,包含(但不限于)重要业务逻辑字段分类包含“获客及审批、 客户信息、身份信息、卡产品、卡类别、核准额度”等维度。
图3-1 信用卡基础制卡数据模型
建立基础制卡数据准备模型,通过围绕“三层关系账户树”、“各层管制码及风险征信”、“重要制卡参数字段”进行基础“制卡”数据准备工作,结合实际业务需要,减少对于核心基础数据维度理解不全面导致的测试场景遗漏。
(2) 建立分散账单日应对时效性数据准备
信用卡业务涉及较多“分期类业务”测试,此类测试的数据准备一般涉及:1、客户基础数据、2、核心分期参数、3、消费欠款、4、账单日
其中如上4点,最困难且相对不可控的无疑是“账单日”相关数据准备及环境。由于受限于测试环境共用,跑批无法单独服务于某几个特定系统。跑批时间不可预估,往往很难满足对于测试数据较高时效性要求的测试项目。
首先我们了解下一些基本的账单周期概念如下图(具体日期为举例,反映一个相对区间):
图3-2 通用账单周期
名称解释如下表:
名称 |
描述 |
本行自动还款宽限期* |
在账单日免息期第几天产生本行扣款文件 |
账单宽限期 |
账单日到到期还款日的免息期 |
还款宽限期(免息期) |
实际账单日到到期还款日的免息期(假设含3天宽限期) |
根据不同银行的测试环境跑批周期特点,建立账单日分散的养卡数据准备。比如某行测试环境平均一天跑批10个会计日期,3天内跑完一个会计周期月。则提前制卡,将账单日平均分布在“1、5、10、15、20、25、28”等日期上。则通过查看核心最近一次跑批周期,快速挑选最接近的卡片进行欠款操作,保证最快时间内造出账单分期等涉及跑批时效性类的数据准备。
(3) 稀有或较难再生数据的循环及共享使用
稀有测试数据包含(但不限于)如下:
1、需要较长周期沉淀的数据: 如“特定发卡日期的卡片、卡片过期自动续卡、积分兑换年费、特定历史周期有账单”等。
2、不可逆或者较难准备的测试数据:如“新制卡片激活(人脸识别)、批量类数据准备、长流程节点数据准备”等。
3、依赖于第三方:如“邮寄进度、公安联网核查及其他第三方数据平台”等。
此类数据需要建立统一登记簿,收集各系统相关共性测试数据需求,统筹规划进行数据集中准备。按测试流程及优先级,逐一分发或共享给各系统,使得测试数据形成有序状态流转。并尝试打通各上下游系统,尽可能的使得数据能循环利用。
(4) 借记卡相关测试数据支持
信用卡业务涉及到的小额现金贷款\现金取现类业务,需要考虑转入本行及他行借记卡测试场景。此类测试的关键数据准备在于信用卡核心与借记卡核心的客户信息关联,取决于不同银行的系统差异。一般有“按证件类型/号码、核心客户号及其他唯一标识”等方式关联。
关联下的本行借记卡,需要考虑监管要求,对于开立过“证券、理财“等投资类业务的借记卡,准备此类场景进行反例测试。
同时考虑借记卡的类别如“一类、二类……”、状态“正常、待激活……”、介质类型“卡、存折、存单……”等测试数据场景。
(5) 数据隔离下的挡板使用
在测试环境由于一些系统的独立性,且为了减少模拟此类数据真实链路的复杂度,往往会将这些系统及数据进行分散处理。特别涉及到“数据模型较复杂且需要历史数据加载策略的系统”及“与第三方外部的交互平台”等系统。
此类数据一般使用其自身的数据库或缓存插入数据的方式进行挡板数据准备。插入数据前需要仔细梳理此类数据与其他系统的关系,需要同步协调相关数据(保持数据源的一致性),并按流程进行“数据上送配对返回”的测试场景设计工作。
如果涉及到一定的报文格式规范,则需要在规范化的报文协议场景下进行数据调试工作,同时查看数据的业务规则及格式规范的正确性。
(6) 互联网渠道数据准备
信用卡业务较多的在互联网渠道进行展示及渠道整合,互联网渠道包含“微信、QQ、支付宝及自主APP”等渠道及平台。
此类数据准备一般需要加入特定的测试网段进行“手机唯一标识+基础客户信息”绑定。如果涉及到验证码,一般是通过测试环境固定验证码或者查看日志的方式填写,绕开相关认证。涉及到的人脸识别,一般是在对应挡板下进行人脸信息值的预埋。
互联网渠道数据准备同时需要考虑不同操作系统下的版本兼容,区分如安卓、IOS不同测试地址或下载版本。
四、 总结
因地制宜的建立配套的信用卡业务测试支持体系,将有效解决由于测试数据不足导致的测试覆盖不全面问题。逐步实现各系统测试数据流上下游的良性循环及配套知识分享体系,改善信用卡业务测试资源紧张现状、打破各系统间信息闭锁(不对称)、消除由于测试支持缺乏导致重点业务测试风险,形成一套可复制推广的适用信用卡业务的统一测试支持与管理流程。
测试数据支持长期规划,将围绕“事前、事中、事后”建立流程化系统及平台,逐步实现“自动化UI、批量文件、联机接口”等方式进行数据准备,提升数据准备的质量及效能。最终实现“测试支持与协同、数据全生命周期流转、测试支持知识分享、数据合规控制、数据预埋与外挂”等测试支持工作的电子化与系统化。
图3-3测试数据支持长期规划
基于信用卡业务测试数据支持解决方案相关推荐
- 基于springboot的支持http接口+dubbo接口的TestNG自动化测试框架
一.背景 由于大多数公司都是使用Java作为后端开发语言,因此为了更好的与研发的框架对接.测试,掌握一套Java的自动化测试框架也逐渐成为测试人员的必修课. 同时随着现在微服务框架的流行,自动化测试框 ...
- MADlib——基于SQL的数据挖掘解决方案(23)——分类之SVM
一.SVM简介 SVM法即支持向量机(Support Vector Machine,SVM)法,由Vapnik等人于1995年提出,具有相对优良的性能指标.该方法是建立在统计学理论基础上的机器学习方法 ...
- 基于Docker的SaaS解决方案
容器技术加速应用云化 使用Docker的开发者都知道:在日常的运维开发过程中,开发人员和运维人员最大的冲突在于版本的不一致和应用程序的隔离问题.比如说,由于企业内存在开发.测试.预发.生产等N个环境, ...
- 上海航芯|推出基于ACX200T的V2X解决方案
车联网是汽车未来发展的重要趋势,C-V2X也已成为世界主流的车联网技术,可提升车辆整体的智能驾驶水平,为用户提供安全.舒适.智能.高效的驾驶感受,同时提高交通运行效率,提升社会交通服务的智能化水平. ...
- 分享:基于软件定义的控制解决方案全文
2020年12月17日,"2021中国运动控制/直驱产业高峰论坛"在深圳坪山隆重召开,五百多位业内人士汇聚一堂,共谋行业发展大计.在分论坛运动控制技术应用篇上,科东(广州)软件科技 ...
- 赞同科技发布基于鲲鹏的金融行业解决方案,共建智慧金融新生态
赞同科技与鲲鹏的共建生态将充分发挥双方优势,其中赞同科技擅长的是软件产品和行业应用,而鲲鹏则擅长基础算力,双方通过强强联合,将为金融客户提供成熟稳定.伸缩自如.灵活高效的基础设施和解决方案群. 出品 ...
- 宠物喂食器,基于涂鸦智能的解决方案
宠物喂食器,基于涂鸦智能的解决方案 作品描述 作品介绍 硬件部分 软件部分 开发流程 代码编写 1. 产品创建 2. MCU SDK 移植 3. 时间系统实现 4. 快速喂食功能实现 5. 余粮检测功 ...
- 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(二)-使用gateway-management-ui
相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...
- 基于PLCnext的HMI解决方案 | eHMI、Visu+、PROFICLOUD,你pick谁?
HMI解决方案 PLCnext以其特立独行的优点赢得了客户的亲睐,各种高级语言的加成让PLCnext成为了高级程序员的宠爱,今天我们不谈它编写PLC程序的优点,来说说基于PLCnext都有哪些HMI解 ...
- Android adb “push pull”中文支持解决方案
Android adb "push pull"中文支持解决方案 在windows底下文件(夹)命名所采用的是GBK编码,而在Android中采用的UTF-8编码,所有使用adb 的 ...
最新文章
- python使用正则表达式删除字符串中的其它字符只保留数字和字母
- php json_encode 后直接复制给js怎么调用,如何将数组从php(使用json_encode)传递给javascript...
- SilverLight学习笔记--如何解决Button不响应MouseLeftButtonDown与MouseLeftButtonUp事件的问题...
- typedef和define一些问题
- 如何使用 MySQL 的 IDE 导出导入数据表文件(以 Navicat for MySQL 导出导入 Excel 文件为例)
- python 菜单 阻塞 其它程序_Python subprocess.call阻塞
- spark StandAlone模式下的作业提交流程
- php无限级回复页面如何嵌套,php无限级评论嵌套实现代码
- 设备树解析过程及platform设备注册
- dll文件编写、查看和调用
- 使用Java操作Redis
- 企业致胜在于人本管理--盖洛普著名的Q12
- 一元云购短信-配置修改
- 电脑开不了机系统应该如何恢复正常
- Linux工作笔记01
- 论DNS地址8.8.8.8和114.114.114.114
- tof相机简介及三维坐标转化,plotly画3D点云
- 不一样的SpringBoot注解
- C语言在坐标轴上输出曲线,C语言图形输出习题
- 浙江大学计财处预约报销流程