数据构造方法、装置、计算机设备及可读存储介质
文献发布时间:2023-06-19 10:24:22
技术领域
本发明涉及软件测试技术领域,尤其涉及一种数据构造方法、装置、计算机设备及可读存储介质。
背景技术
信用卡作为一种现代化的支付工具,以其允许透支的特点,为人们的生活创造着较多便利。如今,已有越来越多的人选择信用卡作为日常生活中的结算工具。信用卡核心分期系统是信用卡收入的主要来源,在核心分期系统建设过程中,测试及质量保障工作变得尤为重要。
但是,本发明创造的发明人在研究中发现,为平衡高速迭代及基于大数据量下的回归及多流程分支测试,目前多数信用卡分期业务的配套测试工作涉及的测试数据,存在依靠业务人员提供测试数据或者随意捞取测试数据等方式,缺乏针对性的数据分析,导致构造的数据覆盖性较差,在后续过程中影响系统质量。
发明内容
本发明的目的是提供一种数据构造方法、装置、计算机设备及可读存储介质,用于解决在现有的信用卡测试系统中,数据构造大多按照预设参数进行处理,缺乏针对用户场景的数据分析,导致构造的数据覆盖性较窄,在后续测试环境中影响结果的准确性问题。
为实现上述目的,本发明提供一种数据构造方法,包括:
建立客户模型集合,将所述客户模型集合中的各个客户模型与预设准备数据关联;
获取用户信息,根据所述用户信息匹配客户模型,获得与所述用户信息对应的准备数据;
根据所述与用户信息对应的准备数据执行任务,并同步任务结果至数据表;
基于所述数据表生成目标数据。
进一步的,所述建立客户模型集合,包括以下:
采集用户业务数据和基础数据;
基于所述用户业务数据采用预训练的分类模型对所述基础数据进行分类,获得分类结果;
根据所述分类结果获得客户模型集合。
进一步的,所述获取用户信息,包括以下:
建立一个初始客户模型;
监控用户页面操作,根据用户操作更新所述初始客户模型,获得个性化客户模型;
根据所述个性化客户模型获得用户信息。
进一步的,所述获取用户信息,包括以下:
根据预设条件在所述客户模型集合进行筛选,获得至少一条基础用户数据;
采用预设的第一标签对各个基础用户数据进行标记,获得带第一标签的用户数据作为用户信息。
进一步的,所述根据所述与用户信息对应的准备数据执行任务,并同步任务结果至数据表,包括以下步骤:
根据所述与用户信息对应的准备数据获取任务类型,其中,所述任务类型包括基础任务和个性化任务;
当所述任务类型为基础任务,则根据用户信息获取卡片数据,调用激活接口执行任务,并同步任务结果至数据表;
当所述任务类型为个性化任务,则根据用户信息获取卡片数据和任务数据,调用与所述任务数据对应的接口执行任务,并同步任务结果至数据表。
进一步的,在根据用户信息获取卡片数据,调用激活接口执行任务前,包括以下:
筛选出带有预设第一标签的用户信息后调用批量激活接口执行任务。
进一步的,所述基于所述数据表生成目标数据,包括以下步骤:
根据所述数据表获取用户信息和各个用户等信息对应的分期资格数据;
采用预设模板对所述用户信息和分期资格数据进行可视化展示,获得目标数据。
为实现上述目的,本发明还提供一种数据构造装置,包括:
建模块,用于建立客户模型集合,将所述客户模型集合中的各个客户模型与预设准备数据关联;
获取模块,用于获取用户信息,根据所述用户信息匹配客户模型,获得与所述用户信息对应的准备数据;
执行模块,用于基于所述与用户信息对应的准备数据执行任务,并同步任务结果至数据表;
生成模块,用于根据所述数据表生成目标数据。
为实现上述目的,本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据构造方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,各存储介质上存储有计算机程序,所述多个存储介质存储的所述计算机程序被处理器执行时共同实现上述数据构造方法的步骤。
本发明提供的数据构造方法、装置、计算机设备及可读存储介质,通过建立客户模型集合,而后获取用户信息,根据用户信息匹配客户模型获得准备数据,基于用户信息和准备数据执行任务,最后基于任务结果生成目标数据,解决在现有的信用卡测试系统中,数据构造大多按照预设参数进行处理,缺乏针对用户场景的数据分析,导致构造的数据覆盖性较窄,在后续测试环境中影响结果的准确性问题。
附图说明
图1为本发明所述数据构造方法实施例一的流程图;
图2为本发明所述数据构造方法实施例一中建立客户模型集合的流程图;
图3为本发明所述数据构造方法实施例一中获取用户信息的流程图;
图4为本发明所述数据构造方法实施例一中另一种获取用户信息的流程图;
图5为本发明所述数据构造方法实施例一中根据所述与用户信息对应的准备数据执行任务,并同步任务结果至数据表的流程图;
图6为本发明所述数据构造方法实施例一中基于所述数据表生成目标数据的流程图;
图7为本发明所述数据构造装置实施例二的程序模块示意图;
图8为本发明计算机设备实施例三中计算机设备的硬件结构示意图。
附图标记:
5、数据构造装置 51、构建模块 52、获取模块
53、执行模块 54、生成模块 6、计算机设备
61、存储器 62、处理器 63、网络接口
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明提供的数据构造方法、装置、计算机设备及可读存储介质,适用于领域,为提供一种基于构建模块、获取模块、执行模块和生成模块的数据构造方法。本发明通过构建模块建立客户模型集合,并通过获取模块获取用户信息,根据所述用户信息匹配客户模型以获取准备数据,而后采用执行模块基于用户信息和与该用户信息匹配的准备数据执行任务,最后基于任务结果采用生成模块生成目标数据,通过建立基于基础数据和业务数据分类获得的客户模型,提出基于客户模型和分期业务场景的统一的数据自动构造方法,解决在现有的信用卡测试系统中,数据构造大多按照预设参数进行处理,缺乏针对用户场景的数据分析,导致构造的数据覆盖性较窄,在后续测试环境中影响结果的准确性问题。
实施例一
请参阅图1,本实施例的一种数据构造方法,应用于信用卡核心分期系统中,获得的目标数据用于信用卡核心分期系统的测试,用于解决现有技术中在信用卡核心分期系统测试过程中的数据构造问题,具体的包括以下步骤:
S100:建立客户模型集合,将所述客户模型集合中的各个客户模型与预设准备数据关联;
在本方案中,建立客户模型集合的主要用于实现获得针对业务场景和用户场景进行准备数据,客户模型集合中包括多个客户模型,每一客户模型均为根据实际不同业务场景或用户场景下生成的模型,用于与后续步骤中获得的用户信息匹配,进而在基于用户信息进行数据构造过程中增加业务场景的考虑,提高数据覆盖度和匹配度。具体的,参阅图2,上述建立客户模型集合包括以下步骤:
S110:采集用户业务数据和基础数据;
上述用户业务数据包括用户账户和用户币种,所述基础数据包括信用卡账户类型,作为解释的,现有信用卡账户类型包括4钟,分别是998个人信用卡账户、997公务卡账户、996金通卡账户、993京东卡账户;所述币种包括3种,分别是单人民币、双币、单外币卡,由于不同的分期产品支持不同的账户类型和不同的币种卡,还包括单账户单卡、单账户多卡、多帐户多卡、主附属卡”等制卡分类场景,因此后续采用基于业务数据对基础数据进行分类的方式实现客户模型的建立,除上述举例的账户类型和币种类型外,现有常用的其他账户也可用于本方案中。
S120:基于所述用户业务数据采用预训练的分类模型对所述基础数据进行分类,获得分类结果;
在上述步骤中,所述分类模型可采用现有常用的分类模型,包括但不限于决策树、随机森林、逻辑回归、人工神经网络等模型,在采用分类模型对基础数据进行分类前,需要对分类模型进行训练,可采集现有实际场景下用户数据中对应的账户、账户类型、币种作为训练数据,完成分类模型的训练后在使用过程中对基础数据和业务数据进行分类,分类结果简单来说为符合实际业务场景的基础数据和业务数据的集合,用于后续步骤中根据用户信息进行匹配以获得用户的准备数据。
S130:根据所述分类结果获得客户模型集合。
根据上述步骤S110-S120,对账户、信用卡类型以及币种进行分类,作为举例而非限定的,比如一账多卡包含了一种账户和多种卡片币种类型等,获得46种较符合实际业务场景的分类结果,每一分类结果均对应一客户模型,则可获得46中客户模型,集合所有客户模型即可获得上述客户模型集合。
在上述步骤S100中,在完成客户模型的建立后还需要将各个客户模型与对应的准备数据关联,需要说明的是,准备数据包括各个客户模型对应的资格数据,以便于后续根据用户对应的资格数据进行数据构造。
S200:获取用户信息,根据所述用户信息匹配客户模型,获得与所述用户信息对应的准备数据;
上述用户信息的获取包括但不限于两种形式,一种为采集人工设置的用户信息,用于捕捉用户个性化分期业务,构造个性化数据,另一种基于上述客户模型筛选出基础模型后自主生成用户信息,构造基础数据,因此,作为一种优选的实施方式,上述获取用户信息,参阅他3,包括以下步骤:
S211:建立一个初始客户模型;
上述建立初始客户模型可以表现为建立一个前端页面,其中包括但不限于账户、账户类型以及币种等多种可选择项,用户可在前端页面上进行个性化选择,同时支持用户新增和修改,还可新增造卡任务页面,用户直接选择对应的客户模型填写数量。
S212:监控用户页面操作,根据用户操作更新所述初始客户模型,获得个性化客户模型;
上述步骤S211中建立的初始客户模型可以预设默认参数,然后根据用户的选择操作(可以是对配置参数的修改),对用户操作后的数据进行更新,且可按照版本迭代和业务需求纬度收藏独占,避免采集到的数据相互干扰。
S213:根据所述个性化客户模型获得用户信息。
基于本方案中应用于信用卡核心分期系统中的特殊性,该获取人工调整的用户信息设置时间周期采集,作为举例的,可设置每日固定时刻采集。
作为另一种优选的实施方式,参阅图4,上述获取用户信息,包括以下步骤:
S221:根据预设条件在所述客户模型集合进行筛选,获得至少一条基础用户数据;
上述预设条件可以是基于现有应用场景总结出的出现概率较高的(具体的可统计每一客户模型被使用的频次)客户模型作为基础客户模型,从基础客户模型中获取的用户数据即为基础用户数据,且基于本方案中应用于信用卡核心分期系统中的特殊性,上述预设条件还包括任务执行时间,在本方案中,设为每日定时执行采集任务。
S222:采用预设的第一标签对各个基础用户数据进行标记,获得带第一标签的用户数据作为用户信息。
对基于基础客户模型生成的用户信息进行标记,用于将基础的用户信息和个性化的用户信息进行区分,以便增加后续生成的目标数据的覆盖面。
在上述两种获取方式获取用户信息后,可根据用户信息匹配客户模型以获取对应的准备数据,用于后续执行任务并获得任务结果。
S300:根据所述与用户信息对应的准备数据执行任务,并同步任务结果至数据表;
在上述步骤中,执行任务包括但不限于制卡、激活、抛账、添加资格、获客及审批、核准身份信息、核准额度等;每一任务均具有关联的时间管控,且基于本方案中应用于信用卡核心分期系统中的特殊性,该同步任务结果设置为T+1日。通过执行任务获得任务结果以实现数据构造,具体的,上述步骤S300所述的根据所述与用户信息对应的准备数据执行任务,并同步任务结果至数据表,参阅图5,包括以下步骤:
S310:根据所述与用户信息对应的准备数据获取任务类型,其中,所述任务类型包括基础任务和个性化任务;
在本方案中,所述基础任务包括但不限于制卡和激活任务,用于包括现有应用场景下每一账户的通用业务,上述个性化任务包括但不限于抛账、添加资格名单、以及还款流通,为除上述基础任务外各个账户对应的其他任务,在此不一一详述。
S320:判断所述任务类型是否为基础任务;
S330:若是,即所述任务类型为基础任务,则根据用户信息获取卡片数据,调用激活接口执行任务,并同步任务结果至数据表;
在本方案中,通过直接调用与卡片数据中对应的各个后台接口来实现任务的顺利执行,可以使整个构造数据过程形成一个完整的过程,区别于现有的分阶段执行。
在上述两种用户信息获取方式中,根据基础客户模型直接生成用户信息,其包含的任务类型大多均包括相同的基础任务,因此,可自主批量完成该方式下获得的用户对应的任务,在根据用户信息获取卡片数据,调用激活接口执行任务前,包括以下步骤:
S330-1:筛选出带有预设第一标签的用户信息后调用批量激活接口执行任务。
在上述步骤中由于通过基础客户模型生成的用户模型大多包含基础任务,因此调用批量激活接口,可以有效缩短任务执行时间,进而大大缩短构造数据的时间。
S340:若否,即所述任务类型为个性化任务,则根据用户信息获取卡片数据和任务数据,调用与所述任务数据对应的接口执行任务,并同步任务结果至数据表。
本方案在实际应用场景下,可直接调用卡片数据匹配的后台中用于任务执行的接口,作为举例的,比如账户A对应的信用卡账户类型为998个人信用卡账户,则直接调用个人信用卡后台接口执行抛账或添加资格名单等任务。
在上述步骤S300中,在执行完上述任务(如激活、添加资格名单等)后可以生成包含上述任务执行结果的卡任务表单,将该卡任务表单同步至数据表,用于下述步骤S400生成可视化目标数据。
S400:基于所述数据表生成目标数据。
具体的,上述步骤中所述基于所述数据表生成目标数据,参阅图6,包括以下步骤:
S410:根据所述数据表获取用户信息和各个用户等信息对应的分期资格数据;
需要说明的是,上述目标数据主要包括用户信息、分期资格数据可视化展示,但不限于此,也可包括其他任务结果任务(尤其是个性化任务)展示。
S420:采用预设模板对所述用户信息和分期资格数据进行可视化展示,获得目标数据。
还需要特别说明的是,上述预设模板为用于可视化展示的模板,还包括对于带有第一标签的用户数据需要调用分期查询接口来确保可视化的目标数据的生成。
通过上述S410和S420实现目标数据的可视化呈现,系统每天对于上述步骤生成的分期资格数据进行资格校验后按照分期产品分类可视化展示,方便测试人员根据业务需求即查即。
作为补充举例的,以一具体过程详细阐述上述步骤S200中提出的个性化数据构造的完整过程,包括:在监控用户操作,数据构造系统在客户模型tab页添加对应的客户模型名称、对应包含的信用卡logo值和数量,以英文逗号隔开,审批造数系统每日下午四点半取出当日采集所有用户信息,T+1日,审批造数系统会将构造完成的任务对应的卡账数据同步至结果表并将任务置成ending,供同步至数据表,用户在目标数据展示页面可查询出所有的卡列表记录,还可在页面对卡进行激活、抛账、添加名单资格数据。
以一具体过程详细阐述上述步骤S200中提出的基础数据构造的完整过程,包括:每日定时任务向任务表插入通用的客户模型和对应制卡数量,T+1日同步至卡列表数据表中,并采用第一标签打上标记,对标记的卡片进行批量的激活,抛账、添加资格名单,并且对于部分需要还款的账户进行还款保证卡片流通,对打上标记的卡片数据调用分期资格查询接口并按照分期资格进行分类,可视化给用户展示。
上述客户模型和目标数据可上传至区块链以便于后续作为参考样本或训练样本,上传至区块链可保证其安全性和对用户的公正透明性,用户设备可以从区块链中下载得该摘要信息,以便查证优先级列表是否被篡改,后续也可以从区块链中下载获得对应目标数据用于信用卡核心分期系统的测试,无需生成过程,有效提高测试过程效率。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请通过建立基于基础数据和业务数据分类获得的客户模型,提出基于客户模型和分期业务场景的统一的数据自动构造平台,有针对性的智能化构造数据,缩短了数据构造的时间。同时利用与用户信息匹配的客户模型,贴近真实用户和业务场景,极大的丰富了测试数据。兼顾个性化和全自动(步骤S200~S400)构造分期资格数据并可视化展示,助力整个研发流程如开发自测、UI和API自动化测试、回归测试、业务验收测试。
实施例二:
请参阅图7,本实施例的一种数据构造装置5,包括:构建模块51、获取模块52、执行模块53以及生成模块54。
构建模块51,用于建立客户模型集合,将所述客户模型集合中的各个客户模型与预设准备数据关联;
获取模块52,用于获取用户信息,根据所述用户信息匹配客户模型,获得与所述用户信息对应的准备数据;
执行模块53,用于基于所述与用户信息对应的准备数据执行任务,并同步任务结果至数据表;
生成模块54,用于根据所述数据表生成目标数据。
本技术方案基于测试中测试数据构造,通过构建模块建立客户模型集合,并通过获取模块在多种方式下获取用户信息(包括采集的个性化数据以及由基础客户模块构造的基础数据),根据所述用户信息匹配客户模型,以便在后续数据构造中集合业务场景对应的准备数据,提出基于客户模型和分期业务场景的统一的数据自动构造方法,而后采用执行模块基于用户信息和准备数据执行任务,最后基于任务结果采用生成模块生成目标数据,兼顾个性化和全自动构造分期资格数据并实现可视化展示,解决在现有的信用卡测试系统中,数据构造大多按照预设参数进行处理,缺乏针对用户场景的数据分析,导致构造的数据覆盖性较窄,在后续测试环境中影响结果的准确性问题。
本方案中的执行模块在执行任务过程中,会获取任务类型,并根据任务类型执行基础任务或个性化任务,当所述任务类型为基础任务,则根据用户信息获取卡片数据,调用制卡和激活接口执行任务;所述任务类型为个性化任务,则根据用户信息获取卡片数据和任务数据,调用与所述任务数据对应的接口执行任务;同时,还可对带有预设第一标签的用户信息调用批量激活接口执行任务,可以有效缩短任务执行时间,进而缩短构造数据的时间,提高效率。
实施例三:
为实现上述目的,本发明还提供一种计算机设备6,该计算机设备可包括多个计算机设备,实施例二的数据构造装置5的组成部分可分散于不同的计算机设备6中,计算机设备6可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器61、处理器62、网络接口63以及数据构造装置5,如图8所示。需要指出的是,图8仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器61至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器61可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器61还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器61通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例一的数据构造装置5的程序代码等。此外,存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制计算机设备的总体操作。本实施例中,处理器62用于运行存储器61中存储的程序代码或者处理数据,例如运行数据构造装置,以实现实施例一的数据构造方法。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口53通常用于在所述计算机设备6与其他计算机设备6之间建立通信连接。例如,所述网络接口63用于通过网络将所述计算机设备6与外部终端相连,在所述计算机设备6与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器61中的所述数据构造装置5还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器61中,并由一个或多个处理器(本实施例为处理器62)所执行,以完成本发明。
实施例四:
为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器63执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据构造装置5,被处理器63执行时实现实施例一的数据构造方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 数据构造方法、装置、计算机设备及可读存储介质
- 测试数据的构造方法、装置、系统及计算机可读存储介质