批量作业的测试方法、装置、电子设备及存储介质与流程

文档序号:26139448发布日期:2021-08-03 14:23阅读:113来源:国知局
批量作业的测试方法、装置、电子设备及存储介质与流程

本发明涉及人工智能领域,具体涉及一种批量作业的测试方法、装置、电子设备及存储介质。



背景技术:

目前,国内大型传统银行一般采用的是ibm大型机(主机),使用的编码语言为cobol(commonbusiness-orientedlanguage,面向商业的通用语言)语言。cobol语言是一种面向过程的高级程序设计语言,主要用于数据处理,是商业计算首选语言之一,具有通俗易懂、计算量大等特点。在实际工作中,cobol语言强大的计算功能,最常运用于处理各种复杂逻辑运算等联机和批量功能。

当开发人员完成某个cobol程序编写完后,需要在大型机(主机)验证程序结果,即,进行案例测试。然而,目前编写的案例不支持直接调用、数据不支持复用,每个案例均需手工准备测试数据,测试数据用完即作废,另外,测试过程不支持复用,这些都导致了无法较好地实现测试的持续集成以及批量测试的自动化,进而导致了批量程序测试效率较低,批量测试成本较高的问题。



技术实现要素:

有鉴于此,本发明提供一种批量作业的测试方法、装置、电子设备及存储介质,以解决上述提及的至少一个问题。

根据本发明的第一方面,提供一种批量作业的测试方法,所述方法包括:

基于预先设置的案例对照信息和与待测试作业相应的备份信息生成该待测试作业的测试案例,所述备份信息包括:历史测试数据;

根据所述测试案例,基于预先设置的测试作业模板生成测试作业;

响应于触发执行批量作业测试,根据预先设置的各待测试作业的测试执行时间执行测试操作,并根据各待测试作业的测试操作过程记录相应的测试日志。

根据本发明的第二方面,提供一种批量作业的测试装置,所述装置包括:

测试案例生成单元,用于基于预先设置的案例对照信息和与待测试作业相应的备份信息生成该待测试作业的测试案例,所述备份信息包括:历史测试数据;

测试作业生成单元,用于根据所述测试案例,基于预先设置的测试作业模板生成测试作业;

测试单元,用于响应于触发执行批量作业测试,根据预先设置的各待测试作业的测试执行时间执行测试操作;

日志记录单元,用于根据各待测试作业的测试操作过程记录相应的测试日志。

根据本发明的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

由上述技术方案可知,通过基于与待测试作业相应的历史测试数据和案例对照信息生成该待测试作业的测试案例,随后根据该测试案例和测试作业模板生成测试作业,当触发执行批量作业测试时,根据预先设置的各待测试作业的测试执行时间执行测试操作,并根据各待测试作业的测试操作过程记录相应的测试日志,如此,可以实现自动化批量作业测试,相比于现有技术,可以有效提升批量程序测试效率,节约批量测试成本。

附图说明

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

图1是根据本发明实施例的批量作业测试方法的流程图;

图2是根据本发明实施例的测试作业模板示意图;

图3是根据本发明实施例的批量测试作业的流程示意图;

图4是根据本发明实施例的批量作业测试装置的结构框图;

图5为本发明实施例的电子设备600的系统构成的示意框图。

具体实施方式

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

目前,基于cobol语言的案例测试无法较好地实现测试的持续集成以及批量测试的自动化,进而导致了批量程序测试效率较低,批量测试成本较高。具体而言,基于cobol语言的案例批量测试主要存在如下问题:

一、案例不支持直接调用

主机批量每期版本的测试案例编写工作大,且形成的案例描述性成分高,指导性价值大,excel形式的案例也不支持直接调用。从自动化测试角度分析,必须寻找一种测试案例的表现形式,既可以清晰展现测试分支,又可以支持直接调用。

二、数据不支持复用

测试人员根据测试案例逐一准备测试用例,在测试过程中不断丰富和修改测试数据,每个案例均需手工准备测试数据,且测试数据用完即作废。致使每次测试都需要准备大量的测试数据,数据没有积累。如果每次的测试数据都能保存,则可以为每个案例的多次执行打下基础。

三、测试过程不支持复用

目前批量测试执行一般是通过手工提交测试作业,进行程序逻辑功能的验证,另外一种形式是使用上游准备测试数据,利用tws批量进行长流程的业务逻辑验证,技术核对与业务验证相结合,均为一次性验证过程,不可复用。其中的tws大批量执行满足了多轮次测试的要求,但周期过长,机会有限。如果能设计一种案例自动执行的机制,则测试过程就能多次复用。

基于上述原因,本发明实施例提供一种批量作业测试方案,该方案保存了测试数据,以测试数据作为执行案例,可以编制测试作业支持自动多次执行,从而可以有效提升批量程序测试效率,节约批量测试成本。以下结合附图来详细描述本发明实施例。

图1是根据本发明实施例的批量作业测试方法的流程图,如图1所示,该方法包括:

步骤101,基于预先设置的案例对照信息和与待测试作业相应的备份信息生成该待测试作业的测试案例,所述备份信息包括:历史测试数据。

在实际操作中,在响应于执行主机表恢复操作时,基于上述案例对照信息(例如,可以以表格的形式存在)和上述备份信息生成待测试作业的测试案例。

步骤102,根据所述测试案例,基于预先设置的测试作业模板生成测试作业。

步骤103,响应于触发执行批量作业测试,根据预先设置的各待测试作业的测试执行时间执行测试操作,并根据各待测试作业的测试操作过程记录相应的测试日志。

通过基于与待测试作业相应的历史测试数据和案例对照信息生成该待测试作业的测试案例,随后根据该测试案例和测试作业模板生成测试作业,当触发执行批量作业测试时,根据预先设置的各待测试作业的测试执行时间执行测试操作,并根据各待测试作业的测试操作过程记录相应的测试日志,如此,可以实现自动化批量作业测试,相比于现有技术,可以有效提升批量程序测试效率,节约批量测试成本。

在步骤101中,生成的测试案例中还包括当前的测试数据,为了后续便于批量作业测试,可以将测试案例以测试数据的形式保存,即,保存为相应的备份信息。

在实际操作中,在步骤103的触发执行批量作业测试之前,可以根据预定规则设置触发程序(或称为开口作业),所述触发程序指示批量测试开始时间和各待测试作业的测试执行时间。

这里的预定规则可以是依据实际测试而定的规则,本发明对此不作限制。

在一个实施例中,上述备份信息还包括:历史测试操作结果。

当步骤103执行完成后,可以根据所述待测试作业的测试操作结果和备份信息中的历史测试操作结果进行测试验证操作。如此,可以判断本次自动化测试的测试数据与历史测试数据是否一致,当不一致时,可以发出警报,便于工作人员进行处理。

为了更好地理解本发明,以下以基于cobol语言的批量作业测试为例,来详细描述本发明实施例。

在本实施例中,构建了一个实现cobol批量作业的自动化测试方法,该方法可以在如下表1所示的案例对照表(对应于上述的案例对照信息)中配置用例信息,实现测试作业定时运行,作业自动进行数据恢复,自动运行cobol批量功能,自动验证测试结果,以及自动记录测试执行的功能。

该方法具体包含如下四个步骤:

步骤1,根据表1所示的案例对照表进行案例编写,该案例对照表是用来定义每个被测试程序使用的数据源表,通过数据源表的索引来唯一确定一条测试数据。该案例对照表可以是通用的表,每个字段基于不同的作业进行设置,比如案例编号、是否执行sql(structuredquerylanguage,结构化查询语言)等。

表1

步骤2,获取与被测试cobol程序数据源表名一一对应的测试数据备份表(对应于上述的备份信息),保存具体的测试数据,用于后续将测试案例以测试数据的形式存在,一份测试数据对应一个测试场景。

步骤3,基于预先设置的公用测试作业模板,完成测试数据从测试数据表恢复至数据源表,读取测试文件数据,并完成待测试作业的调用执行、执行结果比对、记录执行日志。

这里的测试作业模板可以使用现有的测试作业模板,本发明对此不作限制。

步骤4,基于被测试cobol程序功能及分支功能,分别制定相应的测试数据,并保存在测试数据备份表和案例对照表中。

以下给出一实例。

在该实例中,版本需要验证测试新增cobol程序a,a程序的数据源表为d,e,f表,a程序功能逻辑包含两条测试案例:

测试案例1:表d中满足测试案例1的数据条件下,更新d表;

测试案例2:表d中满足测试案例2的数据条件下,更新e,f表。

以下进行自动化测试流程:

步骤1:根据a程序需要涉及的d,e,f三张源表,建立对应的测试数据备份表d1,e1,f1,备份表结构和源数据表一致。将验证测试案例1和测试案例2准备的数据导入到d1,e1,f1保存,用来后续做测试案例1和测试案例2的准备数据备份。

步骤2:编制案例对照表,将步骤1准备的数据和测试案例编号一一对应。即找到表d中满足测试案例1的数据,例如,唯一键为jcseqno(申请单号)为2002165360000032、pdcode(产品代码)为80020000501,将相关案例信息插入到案例对照表中。

步骤3:根据测试作业模板编写测试作业,图2为测试作业模板示意图,如图2所示,测试作业模板包括:

1、备份主机文件(视情况可选,被测试作业涉及文件的可选这步)

将程序需要读取的主机文件备份到测试目录。

2、拷贝测试文件(视情况可选,被测试作业涉及文件的可选这步)

复制准备的测试数据文件,与源文件结构一致。

3、主机表恢复

该步骤由公共程序实现,公共程序读取案例对照表设置的测试案例,包括:测试作业名、表名,环境名、测试表名、测试表环境名、数据唯一键和键值、删除标志等定位该作业需要恢复的表,将测试数据从测试表中读取到源数据表。即本案例中,将d1,e1,f1备份表的数据恢复到d,e,f表中,且可以根据表中的删除标志确认是否删除源数据表主键相同的数据,或者删除测试表的数据。

4、主机作业运行

测试作业中调起被测试作业。

5、测试日志登记

登记测试日志,将测试案例编号、测试作业名、被测试作业名等信息,以作业运行信息记录下来,后续可用于测试案例覆盖率的数据分析统计。

6、恢复主机文件(视情况可选,被测试作业涉及文件的可选这步)

如有,则将第一步备份的主机文件恢复到源主机文件。

7、测试验证

比对测试结果,经过以上步骤后,可以进行前后数据对比,程序运行前的数据在测试数据备份表中存在,程序运行后的数据在源数据表存在,可以编写比对sql,加在测试作业最后一步,对测试数据验证。对于核对不成功的情况,比如测试案例1应该更新d表,却更新了e,f表,则可以发出警报,通过人工介入确认问题原因。

8、归集到测试作业库

设置自动运行时间,图3为批量测试作业的流程示意图,如图3所示,通过开口作业可以调用测试各测试作业,在实际操作中,还需要确认各作业步如果同时del(删除)、ins(写入)同一张表,是否会发生911故障,即,资源被锁故障。

由以上描述可知,基于cobol语言的批量作业测试方法,具有如下优点:

1、可自动多次执行,实现了自动化测试的目的,可用于持续集成,节省测试重复劳动。

2、测试数据的完备性,可直观方便的进行评审。

3、测试数据集中统一管理。经过各个版本的积累,针对某一批量功能的测试数据将越来越完善,无论是开发过程还是测试过程,都可以直接使用。

4、测试作业集中统一管理,并对所有人开放,开发和测试都可随时随地检出测试。

5、测试执行日志可追溯。

6、容易对各应用进行推广,只需根据要求准备数据,编制测试作业就可以进行自动执行。

基于相似的发明构思,本发明实施例还提供一种批量作业的测试装置,该装置优选地可用于实现上述方法实施例中的流程。

图4是该批量作业测试装置的结构框图,如图4所示,该装置包括:测试案例生成单元1、测试作业生成单元2、测试单元3和日志记录单元4,其中:

测试案例生成单元1,用于基于预先设置的案例对照信息和与待测试作业相应的备份信息生成该待测试作业的测试案例,所述备份信息包括:历史测试数据。

具体地,响应于执行主机表恢复操作,测试案例生成单元1基于所述案例对照信息和所述备份信息生成所述待测试作业的测试案例。

测试作业生成单元2,用于根据所述测试案例,基于预先设置的测试作业模板生成测试作业。

测试单元3,用于响应于触发执行批量作业测试,根据预先设置的各待测试作业的测试执行时间执行测试操作。

日志记录单元4,用于根据各待测试作业的测试操作过程记录相应的测试日志。

通过测试案例生成单元1基于与待测试作业相应的历史测试数据和案例对照信息生成该待测试作业的测试案例,随后测试作业生成单元2根据该测试案例和测试作业模板生成测试作业,当触发执行批量作业测试时,测试单元3根据预先设置的各待测试作业的测试执行时间执行测试操作,日志记录单元4根据各待测试作业的测试操作过程记录相应的测试日志,如此,可以实现自动化批量作业测试,相比于现有技术,可以有效提升批量程序测试效率,节约批量测试成本。

在实际操作中,上述装置还包括:触发程序设置单元,用于根据预定规则设置触发程序(即,上述的开口作业),所述触发程序指示批量测试开始时间和各待测试作业的测试执行时间。

测试案例生成单元1生成的测试案例包括:测试数据。

上述装置还包括:存储单元,用于将所述测试案例以测试数据的形式保存。

上述备份信息还包括:历史测试操作结果。

所述装置还包括:测试验证单元,用于根据所述待测试作业的测试操作结果和所述历史测试操作结果进行测试验证操作。

上述各单元的具体执行过程,可以参见上述方法实施例中的描述,此处不再赘述。

在实际操作中,上述各单元可以组合设置、也可以单一设置,本发明不限于此。

本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述方法实施例进行实施及批量作业测试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。

图5为本发明实施例的电子设备600的系统构成的示意框图。如图5所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

一实施例中,批量作业测试功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:

步骤101,基于预先设置的案例对照信息和与待测试作业相应的备份信息生成该待测试作业的测试案例,所述备份信息包括:历史测试数据。

步骤102,根据所述测试案例,基于预先设置的测试作业模板生成测试作业。

步骤103,响应于触发执行批量作业测试,根据预先设置的各待测试作业的测试执行时间执行测试操作,并根据各待测试作业的测试操作过程记录相应的测试日志。

从上述描述可知,本申请实施例提供的电子设备,通过基于与待测试作业相应的历史测试数据和案例对照信息生成该待测试作业的测试案例,随后根据该测试案例和测试作业模板生成测试作业,当触发执行批量作业测试时,根据预先设置的各待测试作业的测试执行时间执行测试操作,并根据各待测试作业的测试操作过程记录相应的测试日志,如此,可以实现自动化批量作业测试,相比于现有技术,可以有效提升批量程序测试效率,节约批量测试成本。

在另一个实施方式中,批量作业测试装置可以与中央处理器100分开配置,例如可以将批量作业测试装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现批量作业测试功能。

如图5所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图5中所示的所有部件;此外,电子设备600还可以包括图5中没有示出的部件,可以参考现有技术。

如图5所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。

其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。

输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。

该存储器140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。

存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述批量作业测试方法的步骤。

综上所述,为有效提升批量程序测试效率,节约批量测试成本,促进批量程序自测水平,本发明实施例制订了测试数据保存方案,以测试数据作为执行案例,编制测试作业支持自动多次执行,依据目前的测试环境现状,在不额外增加测试人员工作量的基础上,开发工具作业实现了批量自动数据恢复、自动执行、自动核对测试结果的功能。

以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

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