一种测试数据积累方法及装置与流程

文档序号:14990880发布日期:2018-07-20 22:11阅读:167来源:国知局

本发明涉及系统测试技术领域,更具体地说,涉及一种测试数据积累方法及装置。



背景技术:

随着经济形势不断发展,金融领域业务日益复杂多变,大型商业银行以其无法比拟的复杂业务居于首位。商业银行涉及众多分析类应用系统,而该类系统的测试质量强依赖于测试数据的质量。

现阶段,在测试数据被执行后,可能该测试数据所要“表达”的业务场景已经失去原本的含义,导致系统测试环境中存在大量脏数据或者无使用价值的无效数据。因此,在系统测试结束后,测试人员为准备下一次的系统测试环境,会将所有的测试数据直接清除,这就会造成人力成本与时间成本的极大浪费。



技术实现要素:

有鉴于此,本发明提供一种测试数据积累方法及装置,以解决在系统测试结束后,测试人员为准备下一次的系统测试环境,会将所有的测试数据直接清除的问题。技术方案如下:

一种测试数据积累方法,包括:

在系统测试进程未开启的情况下,从测试数据池中提取测试数据,并按照预设测试规则对所述测试数据进行预处理;

在所述系统测试进程执行完成预处理后的所述测试数据的情况下,从执行后的所述测试数据中选取可逆数据以及新测试数据;

对所述可逆数据进行恢复操作,并按照恢复后的所述可逆数据和所述新测试数据更新所述测试数据池。

优选的,所述按照预设测试规则对所述测试数据进行预处理,包括:

判断所述系统测试进程的系统版本是否存在待变更的第一数据库表结构;

若所述系统版本存在所述第一数据库表结构,按照所述第一数据库表结构对所述测试数据的结构进行变更操作;

判断变更结构后的所述测试数据是否同时符合预设业务场景覆盖度和预设业务场景数量级;

若否,获取新测试数据。

优选的,还包括:

在所述系统测试进程执行预处理后的所述测试数据的过程中,判断所述系统测试进程的系统版本是否为系统补丁版本;

若所述系统版本为所述系统补丁版本,判断所述系统补丁版本是否存在待变更的第二数据库表结构;

若所述系统补丁版本存在所述第二数据库表结构,按照所述第二数据库表结构对所述测试数据的结构进行变更操作。

优选的,所述按照预设测试规则对所述测试数据进行预处理之后,还包括:

生成预处理后的所述测试数据对应的测试数据基线。

一种测试数据积累装置,包括:预处理模块、选取模块和恢复模块;

所述预处理模块,用于在系统测试进程未开启的情况下,从测试数据池中提取测试数据,并按照预设测试规则对所述测试数据进行预处理;

所述选取模块,用于在所述系统测试进程执行完成预处理后的所述测试数据的情况下,从执行后的所述测试数据中选取可逆数据以及新测试数据;

所述恢复模块,用于对所述可逆数据进行恢复操作,并按照恢复后的所述可逆数据和所述新测试数据更新所述测试数据池。

优选的,所述预处理模块,具体用于:

判断所述系统测试进程的系统版本是否存在待变更的第一数据库表结构;若所述系统版本存在所述第一数据库表结构,按照所述第一数据库表结构对所述测试数据的结构进行变更操作;判断变更结构后的所述测试数据是否同时符合预设业务场景覆盖度和预设业务场景数量级;若否,获取新测试数据。

优选的,还包括:再处理模块;

所述再处理模块,用于在所述系统测试进程执行预处理后的所述测试数据的过程中,判断所述系统测试进程的系统版本是否为系统补丁版本;若所述系统版本为所述系统补丁版本,判断所述系统补丁版本是否存在待变更的第二数据库表结构;若所述系统补丁版本存在所述第二数据库表结构,按照所述第二数据库表结构对所述测试数据的结构进行变更操作。

优选的,还包括:基线生成模块;

所述基线生成模块,用于生成预处理后的所述测试数据对应的测试数据基线。

相较于现有技术,本发明实现的有益效果为:

以上本发明提供的一种测试数据积累方法及装置,该方法立足用于系统测试环境,通过预处理测试数据池中的测试数据,以保证业务操作始终能够在最新的系统测试环境下被正确执行,实现测试数据的不断积累,逐步建立一个高质量的测试数据池,从而避免重新准备测试数据,降低人力成本和时间成本、进一步解决金融机构测试数据不易维护的难题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的测试数据积累方法的方法流程图;

图2为本发明实施例提供的测试数据积累方法的部分方法流程图;

图3为本发明实施例提供的测试数据积累方法的另一部分方法流程图;

图4为本发明实施例提供的测试数据积累装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

系统测试:是针对整个产品系统进行的测试,目的是验证系统是否满足需求规则的定义,找出与需求规则不符或与之矛盾的地方,从而提成更加完善的

基线:描述一个或多个配置项以及构成配置项的相关实体,一般在项目或者产品过程各阶段的结束点形成,其形成标志是一个或多个软件配置项通过验证与确认而获得认可,为持续评价配置项提供稳定的基础。

版本:一组配置项在某一时刻或某一特定点的集合。

本发明实施例提供一种测试数据积累方法,该方法的方法流程图如图1所示,包括如下步骤:

s10,在系统测试进程未开启的情况下,从测试数据池中提取测试数据,并按照预设测试规则对测试数据进行预处理;

本实施例中,可通过检测用于表征系统测试进程进度的标志位来确定系统测试未开启、已开启以及结束的时间点,比如,系统测试未开启时,标志位为000,而已开启的标志位001,结束的标志位111。

在检测到系统测试进程的标志位为001时,即从测试数据池中提取测试数据。在此过程中,若为第一次提取,则所提取的测试数据为预先设置原始测试数据。

具体的,商业银行每年根据实际情况都会设置多个投产窗口,每个投产窗口都会有大量的应用系统、大量的测试人员也会参与系统测试。考虑到测试人员通过端对端的方式准备测试数据,其本质就是在模拟真实的业务场景。因此,在一定程度上可以认为原始测试数据为“真实的生产数据”,并且测试人员达到了数百人,其所需要准备的测试数据数量级已基本能够满足测试最低需求,同时众多的应用系统参与测试,被准备的原始测试数据所涉及的业务场景覆盖度也能达到一定要求,因此,可直接将原始测试数据作为测试数据池中的测试数据。

此外,若不为第一次提取,则所提取的测试数据为上一次数据积累的结果。

进一步,在提取到测试数据之后,为保证业务操作始终能够在最新的系统测试环境下被正确执行,需要按照预测测试规则对测试数据进程预处理,具体对测试数据的结构和数量进行处理。

需要说明的是,在对测试数据进程预处理之前,为实现测试数据的“有序”排列,可基于业务的角度制定测试数据规范规则,比如客户名称命名规范,利用该规则对测试数据进行规范处理。

还需要说明的是,为标识预处理后的测试数据,可生成对应的测试数据基线,比如测试数据基线v1.0、测试数据基线v2.0以实现区分执行不同操作的测试数据。

具体实现过程中,步骤s10中“按照预设测试规则对测试数据进行预处理”的过程,可以具体采用以下步骤,方法流程图如图2所示:

s101,判断系统测试进程的系统版本是否存在待变更的第一数据库表结构;若系统版本存在第一数据库表结构,则执行步骤s102;

本实施例中,通过检查系统版本是否存在待变更的第一数据库表结构,来确定系统版本升级是否涉及数据库表结构变更,若涉及,则需要按照第一数据库表结构升级测试数据的结构,反之,则不执行任何操作。

s102,按照第一数据库表结构对测试数据的结构进行变更操作;

在执行步骤s102的过程中,变更测试数据的结构至少包含以下几种情况中一种或多种:

(1)数据库某张表新增加某个字段;

(2)数据库某张表其中两个字段a和b合并为一个新字段c;

(3)数据库某张表去除某个字段;

(4)数据库某张表某字段升级改造:例如,身份证号码从15位升级为18位;

(5)数据库某张表某字段数据类型变更:例如,从char型变更为string型;

s103,判断变更结构后的测试数据是否同时符合预设业务场景覆盖度和预设业务场景数量级;若否,则执行步骤s104;

s104,获取新测试数据。

在执行步骤s104的过程中,在变更结构的测试数据不满足预设业务场景覆盖度或者预设业务场景数量级的情况下,可生成提示信息,用以提醒测试人员依据准备测试数据的规范准则准备新测试数据。

s20,在系统测试进程执行完成预处理后的测试数据的情况下,从执行后的测试数据中选取可逆数据以及新测试数据;

在执行步骤s20的过程中,在检测到系统测试进程的标志位为111时,即从执行后的测试数据中选取可恢复的可逆数据,以及执行过程中所产生的新测试数据。当然,在执行过程中还可能产生不可回复的不可逆数据,此时,可删除不可逆数据或者不执行任何操作。

由于金融领域的交易数据有其特定的属性,依据不同业务场景执行不同操作存在以下三种情况:

(1)可逆数据被逆转的同时系统测试环境中增加若干条交易记录,以账户余额举例,场景描述如下:

为恢复测试数据,执行冲正交易,则测试数据变化如下:

(2)可逆数据被逆转的同时系统测试环境中增加若干条交易记录,以账户余额举例,场景描述如下:

为恢复测试数据,再次执行转账交易,则测试数据变化如下:

(3)不可被逆转的交易数据,以账户关户状态举例,场景描述如下:

此场景下,无论执行何种交易,账户a的状态都无法再回复至正常状态,因此,为不可逆数据。

前两种情况视具体的业务场景、测试目的的不同而采取不同的恢复措施;对于最后一种不可逆转的数据则无法进行恢复,这类测试数据属于一次性测试数据,类似于“消耗品”,一旦被使用就无法被再次使用。

s30,对可逆数据进行恢复操作,并按照恢复后的可逆数据和新测试数据更新测试数据池;

本实施例中,对于所选取的可逆数据可按照业务场景执行恢复操作,比如上述所提及的冲正交易,即冲正操作或者转账交易,即转账操作。

在其他一些实施例中,为保证系统测试过程中测试数据的及时更新,在图1示出的测试数据积累方法的基础上,还包括如下步骤,部分方法流程图如图3所示:

s40,在系统测试进程执行预处理后的测试数据的过程中,判断系统测试进程的系统版本是否为系统补丁版本;若系统版本为系统补丁版本,则执行步骤s50;

s50,判断系统补丁版本是否存在待变更的第二数据库表结构;若系统补丁版本存在第二数据库表结构,则执行步骤s60;

本实施例中,通过检查系统补丁版本是否存在待变更的第二数据库表结构,来确定系统补丁版本升级是否涉及数据库表结构变更,若涉及,则需要按照第二数据库表结构升级测试数据的结构,反之,则不执行任何操作。

s60,按照第二数据库表结构对测试数据的结构进行变更操作。

在执行步骤s60的过程中,变更测试数据的结构至少包含以下几种情况中一种或多种:

(1)数据库某张表新增加某个字段;

(2)数据库某张表其中两个字段a和b合并为一个新字段c;

(3)数据库某张表去除某个字段;

(4)数据库某张表某字段升级改造:例如,身份证号码从15位升级为18位;

(5)数据库某张表某字段数据类型变更:例如,从char型变更为string型;

以上步骤s101~步骤s104仅仅是本申请实施例步骤s10中“按照预设测试规则对测试数据进行预处理”的过程的一种优选的实现方式,有关此过程的具体实现方式可根据自己的需求任意设置,在此不做限定。

本发明实施例提供的测试数据积累方法,立足用于系统测试环境,通过预处理测试数据池中的测试数据,以保证业务操作始终能够在最新的系统测试环境下被正确执行,实现测试数据的不断积累,逐步建立一个高质量的测试数据池,从而避免重新准备测试数据,降低人力成本和时间成本、进一步解决金融机构测试数据不易维护的难题。

基于上述实施例提供的测试数据积累方法,本发明实施例则对应提供执行上述测试数据积累方法的装置,该装置的结构示意图如图4所示,包括:预处理模块10、选取模块20和恢复模块30;

预处理模块10,用于在系统测试进程未开启的情况下,从测试数据池中提取测试数据,并按照预设测试规则对测试数据进行预处理;

选取模块20,用于在系统测试进程执行完成预处理后的测试数据的情况下,从执行后的测试数据中选取可逆数据以及新测试数据;

恢复模块30,用于对可逆数据进行恢复操作,并按照恢复后的可逆数据和新测试数据更新测试数据池。

在其他一些实施例中,预处理模块,具体用于:

判断系统测试进程的系统版本是否存在待变更的第一数据库表结构;若系统版本存在第一数据库表结构,按照第一数据库表结构对测试数据的结构进行变更操作;判断变更结构后的测试数据是否同时符合预设业务场景覆盖度和预设业务场景数量级;若否,获取新测试数据。

在其他一些实施例中,为保证系统测试过程中测试数据的及时更新,在图4示出的测试数据积累装置的基础上,还包括如下模块:

再处理模块,用于在系统测试进程执行预处理后的测试数据的过程中,判断系统测试进程的系统版本是否为系统补丁版本;若系统版本为系统补丁版本,判断系统补丁版本是否存在待变更的第二数据库表结构;若系统补丁版本存在第二数据库表结构,按照第二数据库表结构对测试数据的结构进行变更操作。

在其他一些实施例中,为标识预处理后的测试数据,在图4示出的测试数据积累装置的基础上,还包括如下模块:

基线生成模块,用于生成预处理后的测试数据对应的测试数据基线。

本发明实施例提供的测试数据积装置,立足用于系统测试环境,通过预处理测试数据池中的测试数据,以保证业务操作始终能够在最新的系统测试环境下被正确执行,实现测试数据的不断积累,逐步建立一个高质量的测试数据池,从而避免重新准备测试数据,降低人力成本和时间成本、进一步解决金融机构测试数据不易维护的难题。

以上对本发明所提供的一种测试数据积累方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1