首页 / 专利库 / 资料储存系统 / 数据集市 / 一种测试方法、装置、服务器及存储介质

一种测试方法、装置、服务器及存储介质

阅读:348发布:2020-05-13

专利汇可以提供一种测试方法、装置、服务器及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 提供的一种测试方法、装置、 服务器 及存储介质,通过获取 数据处理 系统的车间模型文件,提取车间模型文件描述的 数据处理系统 的表结构,再从表结构中提取预先设置的测试模板中字段的字段值,将字段值赋值给所述测试模板中的所述字段,生成数据处理系统的测试信息,测试模板中的各个字段值表征数据处理系统的测试需求,调用与测试模板匹配的 数据库 语句模板,根据测试信息生成与数据库语句模板匹配的测试语句,最后执行测试语句对数据处理系统进行测试得到测试结果。本发明提供的技术方案,在不需测试人员手工编写测试语句的情况下,实现对 数据集市 以及报表类系统的自动测试,不仅能够减少测试人员的工作量,还能够降低对测试人员技术的要求。,下面是一种测试方法、装置、服务器及存储介质专利的具体信息内容。

1.一种测试方法,其特征在于,包括:
获取数据处理系统的车间模型文件;
提取所述车间模型文件描述的数据处理系统的表结构;
从所述表结构中提取预先设置的测试模板中字段的字段值,将所述字段值赋值给所述测试模板中的所述字段,生成所述数据处理系统的测试信息,所述测试模板中的各个所述字段值表征所述数据处理系统的测试需求;
调用与所述测试模板匹配的数据库语句模板,根据所述测试信息生成与所述数据库语句模板匹配的测试语句;
执行所述测试语句对所述数据处理系统进行测试得到测试结果。
2.根据权利要求1所述的方法,其特征在于,所述测试模板的数量为至少一个,当预先设置的所述测试模板分别为表级完整性测试模板、字段级完整性测试模板和数据合理性测试模板时,所述执行所述测试语句对所述数据处理系统进行测试得到测试结果,包括:
依次执行基于表级完整性测试模板生成的测试语句、基于字段级完整性测试模板生成的测试语句和基于数据合理性测试模板生成的测试语句,对所述数据处理系统进行测试得到测试结果。
3.根据权利要求2所述的方法,其特征在于,所述调用与所述测试模板匹配的数据库语句模板,根据所述测试信息生成与所述数据库语句模板匹配的测试语句,包括:
调用与所述测试模板匹配的数据库语句模板;
从所述测试信息中提取所述数据库语句模板中变量的变量值,所述数据库语句模板中的变量表征所述测试信息中的字段;
将所述变量值赋值给所述数据库语句模板中的所述变量,生成测试语句。
4.根据权利要求1所述的方法,其特征在于,所述执行所述测试语句对所述数据处理系统进行测试得到测试结果,包括:
对所述数据处理系统中的目标表执行所述测试语句,得到实际执行结果;
获取预先设置的与所述测试语句匹配的数据库语句模板对应的预期执行结果;
比对所述实际执行结果和所述预期执行结果是否一致;
若所述实际执行结果和所述预期执行结果不一致,确定所述数据处理系统异常。
5.根据权利要求2所述的方法,其特征在于,还包括:
调用预先设置的第一目标测试语句,对所述数据处理系统中的目标表进行处理得到第一处理结果,所述第一目标测试语句基于利用数据准确性测试模板的测试信息生成;
调用预先设置的第二目标测试语句,对所述数据处理系统中的源表进行处理得到第二处理结果,所述第二目标测试语句基于利用数据准确性测试模板的测试信息生成,所述数据处理系统用于对所述源表进行处理生成所述目标表;
比较所述第一处理结果和所述第二处理结果是否相同;
若所述第一处理结果和所述第二处理结果不相同,确定所述数据处理系统异常。
6.根据权利要求1-5任意一项所述的方法,其特征在于,还包括:
调用预先设置的测试需求模板;
从所述测试语句以及生成所述测试语句的测试信息中提取所述测试需求模板的表头中字段的字段值,生成所述测试语句的测试需求信息。
7.根据权利要求1-5任意一项所述的方法,其特征在于,还包括:
调用预先设置的测试用例模板;
从所述测试语句以及生成所述测试语句的测试信息中提取所述测试用例模板的表头中字段的字段值,生成所述测试语句的测试用例信息。
8.一种测试装置,其特征在于,包括:
第一获取单元,用于获取数据处理系统的车间模型文件;
第一提取单元,用于提取所述车间模型文件描述的数据处理系统表结构;
第一生成单元,用于从所述表结构中提取预先设置的测试模板中字段的字段值,将所述字段值赋值给所述测试模板中的所述字段,生成所述数据处理系统的测试信息,所述测试模板中的各个所述字段值表征所述数据处理系统的测试需求;
第一调用单元,用于调用与所述测试模板匹配的数据库语句模板,根据所述测试信息生成与所述数据库语句模板匹配的测试语句;
第一执行单元,用于执行所述测试语句对所述数据处理系统进行测试得到测试结果。
9.一种服务器,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如权利要求1-7任意一项所述的测试方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-7任意一项所述的测试方法。

说明书全文

一种测试方法、装置、服务器及存储介质

技术领域

[0001] 本发明涉及测试技术领域,更具体地说,涉及一种测试方法、装置、服务器及存储介质。

背景技术

[0002] 随着大数据在商业行业务应用的深入,对数据处理系统的建设要求不断提升,数据处理系统可以实现对数据的复杂加工,尤其是建设良好的数据处理系统对大数据在商业银行业务应用方面具有举足轻重的作用。其中,数据处理系统比如数据集市、报表类系统等等。
[0003] 现有的数据处理系统的测试方法,是通过手工编写数据库测试SQL语句对数据处理系统中的目标表进行测试,进而实现对数据处理系统的测试。但是,手工编写数据库测试SQL语句的工作量很大,且由于目前对测试范围及测试方法都没有具体的规范,仅是依靠测试人员的个人经验,不仅容易导致遗漏测试点,测试质量难以把控,而且对测试人员的技术要求也比较高。
[0004] 有鉴于此,如何提供一种测试方法、装置、服务器及存储介质,在不需测试人员手工编写测试语句的情况下,实现对数据集市以及报表类系统的自动测试,减少测试人员的工作量,以及降低对测试人员技术的要求,是亟待解决的问题。

发明内容

[0005] 有鉴于此,本发明提供一种测试方法、装置、服务器及存储介质,在不需测试人员手工编写测试语句的情况下,以实现对数据集市及报表类系统的自动测试,减少测试人员的工作量,以及降低对测试人员技术的要求的目的。
[0006] 技术方案如下:
[0007] 本发明第一方面公开一种测试方法,包括:
[0008] 获取数据处理系统的车间模型文件;
[0009] 提取所述车间模型文件描述的数据处理系统的表结构;
[0010] 从所述表结构中提取预先设置的测试模板中字段的字段值,将所述字段值赋值给所述测试模板中的所述字段,生成所述数据处理系统的测试信息,所述测试模板中的各个所述字段值表征所述数据处理系统的测试需求;
[0011] 调用与所述测试模板匹配的数据库语句模板,根据所述测试信息生成与所述数据库语句模板匹配的测试语句;
[0012] 执行所述测试语句对所述数据处理系统进行测试得到测试结果。
[0013] 可选的,所述测试模板的数量为至少一个,当预先设置的所述测试模板分别为表级完整性测试模板,字段级完整性测试模板和数据合理性测试模板时,所述执行所述测试语句对所述数据处理系统进行测试得到测试结果,包括:
[0014] 依次执行基于表级完整性测试模板生成的测试语句、基于字段级完整性测试模板生成的测试语句和基于数据合理性测试模板生成的测试语句,对所述数据处理系统进行测试得到测试结果。
[0015] 可选的,所述调用与所述测试模板匹配的数据库语句模板,根据所述测试信息生成与所述数据库语句模板匹配的测试语句,包括:
[0016] 调用与所述测试模板匹配的数据库语句模板;
[0017] 从所述测试信息中提取所述数据库语句模板中变量的变量值,所述数据库语句模板中的变量表征所述测试信息中的字段;
[0018] 将所述变量值赋值给所述数据库语句模板中的所述变量,生成测试语句。
[0019] 可选的,所述执行所述测试语句对所述数据处理系统进行测试得到测试结果,包括:
[0020] 对所述数据处理系统中的目标表执行所述测试语句,得到实际执行结果;
[0021] 获取预先设置的与所述测试语句匹配的数据库语句模板对应的预期执行结果;
[0022] 比对所述实际执行结果和所述预期执行结果是否一致;
[0023] 若所述实际执行结果和所述预期执行结果不一致,确定所述数据处理系统异常。
[0024] 可选的,还包括:
[0025] 调用预先设置的第一目标测试语句,对所述数据处理系统中的目标表进行处理得到第一处理结果,所述第一目标测试语句基于利用数据准确性测试模板的测试信息生成;
[0026] 调用预先设置的第二目标测试语句,对所述数据处理系统中的源表进行处理得到第二处理结果,所述第二目标测试语句基于利用数据准确性测试模板的测试信息生成,所述数据处理系统用于对所述源表进行处理生成所述目标表;
[0027] 比较所述第一处理结果和所述第二处理结果是否相同;
[0028] 若所述第一处理结果和所述第二处理结果不相同,确定所述数据处理系统异常。
[0029] 可选的,还包括:
[0030] 调用预先设置的测试需求模板;
[0031] 从所述测试语句以及生成所述测试语句的测试信息中提取所述测试需求模板的表头中字段的字段值,生成所述测试语句的测试需求信息。
[0032] 可选的,还包括:
[0033] 调用预先设置的测试用例模板;
[0034] 从所述测试语句以及生成所述测试语句的测试信息中提取所述测试用例模板的表头中字段的字段值,生成所述测试语句的测试用例信息。
[0035] 本发明第二方面公开一种测试装置,包括:
[0036] 第一获取单元,用于获取数据处理系统的车间模型文件;
[0037] 第一提取单元,用于提取所述车间模型文件描述的数据处理系统的表结构;
[0038] 第一生成单元,用于从所述表结构中提取预先设置的测试模板中字段的字段值,将所述字段值赋值给所述测试模板中的所述字段,生成所述数据处理系统的测试信息,所述测试模板中的各个所述字段值表征所述数据处理系统的测试需求;
[0039] 第一调用单元,用于调用与所述测试模板匹配的数据库语句模板,根据所述测试信息生成与所述数据库语句模板匹配的测试语句;
[0040] 第一执行单元,用于执行所述测试语句对所述数据处理系统进行测试得到测试结果。
[0041] 本发明第三方面公开一种服务器,包括:至少一个存储器和至少一个处理器;所述存储器存储程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如上述本发明第一方面任意一项公开的测试方法。
[0042] 本发明第四方面公开一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如上述本发明第一方面任意一项公开的测试方法。
[0043] 相较于现有技术,本发明实施例的有益效果为:
[0044] 以上本发明提供一种测试方法、装置、服务器及存储介质,通过获取数据处理系统的车间模型文件,提取所述车间模型文件描述的数据处理系统的表结构,再从所述表结构中提取预先设置的测试模板中字段的字段值,将所述字段值赋值给所述测试模板中的所述字段,生成所述数据处理系统的测试信息,所述测试模板中的各个所述字段值表征所述数据处理系统的测试需求,调用与所述测试模板匹配的数据库语句模板,根据所述测试信息生成与所述与数据库语句模板匹配的测试语句,最后执行所述测试语句对所述数据处理系统进行测试得到测试结果。本发明提供的技术方案,通过从获取数据处理系统的车间模型文件中提取表结构,再将从表结构中提取预先设置的测试模板中字段的字段值赋值给测试模板中的字段,生成数据处理系统的测试信息,根据测试信息以及与测试模板匹配的数据库语句模板生成测试语句,并执行该测试语句对数据处理系统进行测试得到测试结果,进而实现对数据集市及报表类系统的自动测试,不仅不需测试人员手工编写测试语句,还能减少测试人员的工作量,以及降低对测试人员技术的要求。附图说明
[0045] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0046] 图1为本发明实施例提供的一种测试方法的流程示意图;
[0047] 图2为本发明实施例提供的一种生成测试语句的方法的流程示意图;
[0048] 图3为本发明实施例提供的一种执行测试语句对数据处理系统进行测试得到测试结果的方法的流程示意图;
[0049] 图4为本发明实施例提供的另一种测试方法的流程示意图;
[0050] 图5为本发明实施例提供的一种生成测试需求的方法的流程示意图;
[0051] 图6为本发明实施例提供的一种生成测试用例的方法的流程示意图;
[0052] 图7为本发明实施例提供的一种测试装置的结构示意图;
[0053] 图8为本发明实施例提供的服务器的结构示意图。

具体实施方式

[0054] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055] 在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0056] 由上述背景技术可知,通过手工编写数据库测试SQL语句对数据处理系统中目标表进行测试,进而实现对数据处理系统的测试。但是,手工编写数据库测试SQL语句的工作量很大,且由于目前对测试范围以及测试方法都没有具体的规范,仅是依靠测试人员的个人经验,不仅容易导致遗漏测试点,测试质量难以把控,而且对测试人员的技术要求也比较高。
[0057] 因此,本发明实施例提供一种测试方法、装置、服务器及存储介质,在不需要测试人员手工编写测试语句的情况下,实现对数据集市及报表类系统的自动测试,不仅能够减少测试人员的工作量,还能够降低对测试人员技术的要求。
[0058] 如图1所示,本发明实施例提供了一种测试方法的流程示意图,该测试方法包括以下步骤:
[0059] S101:获取数据处理系统的车间模型文件。
[0060] 需要说明的是,车间模型文件是一种数据处理抽象模型文件,文件中包含有源表名、源表字段、目标表名、目标表字段以及加工过程等个性化业务需求信息,且车间模型文件还具有固定标准格式。
[0061] 在具体执行步骤S101的过程中,可根据需求获取数据处理系统中的一个或者多个车间模型文件,可根据实际应用进行设定,本发明实施例不加以限定。
[0062] S102:提取车间模型文件描述的数据处理系统的表结构。
[0063] 在具体执行步骤S102的过程中,可通过点击“选择车间模型文件夹提取结果表结构及主键”提取车间模型文件描述的数据处理系统的表结构。可根据实际应用进行设定,本发明实施例不加以限定。
[0064] S103:从表结构中提取预先设置的测试模板中字段的字段值,将字段值赋值给测试模板中的字段,生成数据处理系统的测试信息。
[0065] 其中,测试模板中的各个字段值表征数据处理系统的测试需求。
[0066] 需要说明的是,测试模板为预先设置的,且预先设置的测试模板可包括表级完整性测试模板、字段级完整性测试模板、数据合理性测试模板等测试模板。可根据实际应用进行设定,本发明实施例不加以限定。
[0067] 进一步的,需要说明的是,在测试过程中所用的测试模板的数量为至少一个,比如,在测试过程中用的测试模板可以为表级完成性测试模板,或者为表级完整性测试模板、字段级完整性测试模板和数据合理性测试模板,可根据实际应用进行设定,本发明实施例不加以限定。
[0068] 在具体执行步骤S103的过程中,当预先设置的测试模板为表级完整性测试模板、字段级完整性测试模板和数据合理性测试模板时,从表结构中提取表级完整性测试模板中字段的字段值,并将该字段值赋值给表级完整性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,从表结构中提取字段级完整性测试模板中字段的字段值,并将该字段值赋值给字段值完整性测试模板中的字段,生成车模型文件描述的数据处理系统的测试信息,从表结构中提取数据合理性测试模板中的字段,并将该字段赋值给数据合理性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息。
[0069] S104:调用与测试模板匹配的数据库语句模板,根据测试信息生成与数据库语句模板匹配的测试语句。
[0070] 在具体执行步骤S104的过程中,调用与测试模板匹配的数据库语句模板,并根据从表结构中提取预先设置的测试模板中字段的字段值,将字段值赋值给所述测试模板中的字段,生成的车间模型文件描述的数据处理系统的测试信息生成与该数据库语句模板匹配的测试语句。
[0071] 需要说明的是,与测试模板匹配的数据库语句模板为预先设置的,且该数据库语句模板可以为SQL语句模板,可根据实际应用进行设定,本发明实施例不加以限定。
[0072] 比如,当预先设置的测试模板为表级完整性测试模板,调用与表级完整性测试模板匹配的SQL语句模板,并根据从表结构中提取表级完整性测试模板中字段的字段值,将字段值赋值给表级完整性测试模板的字段,生成的车间模型文件描述的数据处理系统的测试信息生成与该数据库语句模板匹配的测试语句。
[0073] S105:执行测试语句对数据处理系统进行测试得到测试结果。
[0074] 在具体执行步骤S105的过程中,当预先设置的测试模板为表级完整性测试模板时,调用与表级完整性测试模板匹配的数据库语句模板,并根据从表结构中提取表级完整性测试模板中字段的字段值,将该字段值赋值给表级完整性测试模板中的字段,生成的车间模型文件描述的数据处理系统的测试信息生成与该数据库数据模板匹配的测试语句,对数据处理系统进行测试得到测试结果;当预先设置的测试模板分别为表级完整性测试模板、字段级完整性测试模板和数据合理性测试模板时,依次执行基于表级完整性测试模板生成的测试语句、基于字段级完整性测试模板生成的测试语句和基于数据合理性测试模板生成的测试语句,对数据处理系统进行测试得到测试结果。
[0075] 申请人发现,当预先设置的测试模板为表级完整性测试模板、字段级完整性测试模板和数据级完整性测试模板时,由于表级完整性和字段级完整性是数据合理性的基础,若表级完整性或字段完整性中的任意一个无法通过完整性测试,则说明表级完整性和/或字段级完整性不存在或字段类型不符合要求,直接测试数据合理性是没有意义的。因此,应遵循“表级完整性测试”-“字段级完整性测试”-“数据合理性测试”的测试顺序,依次执行基于表级完整性测试模板生成的测试语句、基于字段级完整性测试模板生成的测试语句和基于数据合理性测试模板生成的测试语句。
[0076] 本发明提供一种测试方法,通过获取数据处理系统的车间模型文件,提取车间模型文件描述的数据处理系统的表结构,再从表结构中提取预先设置的测试模板中字段的字段值,将字段值赋值给所述测试模板中的所述字段,生成数据处理系统的测试信息,测试模板中的各个字段值表征数据处理系统的测试需求,调用与测试模板匹配的数据库语句模板,根据测试信息生成与数据库语句模板匹配的测试语句,最后执行测试语句对数据处理系统进行测试得到测试结果。本发明提供的技术方案,通过从获取数据处理系统的车间模型文件中提取表结构,再将从表结构中提取预先设置的测试模板中字段的字段值赋值给测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,根据测试信息与测试模板匹配的数据库语句模板生成测试语句,并执行该测试语句对数据处理系统进行测试得到测试结果,进而实现对数据集市及报表类系统的自动测试,不仅不需测试人员手工编写测试语句,还能减少测试人员的工作量,以及降低对测试人员技术的要求。
[0077] 为了更好的对上述内容进行理解,下面进行举例说明:
[0078] 例如,获取数据处理系统的车间模型文件,提取车间模型文件描述的数据处理系统的表结构,该表结构如表1和表2所示,其中,表1记录表级信息,表2记录字段级信息。
[0079] 表1:
[0080]
[0081] 表2:
[0082]
[0083]
[0084] 需要说明的是,表1和表2的第1行中字段均为存储表结构信息的表头,表1中的第2行中的内容为第1行的字段对应的字段值,表2中的2~4行中的内容为第1行的字段对应的字段值。
[0085] 进一步的,需要说明的是,由于是在同一个车间模型文件中提取的,因此,表2中的2~4行中的示例的目标表名与目标表中文名一样。
[0086] 当预先设置的测试模板为表级完整性测试模板时,从表结构中提取表级完整性测试模板中字段的字段值,将字段值赋值给表级完整性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,即从上述表1中提取表级完整性测试模板中字段的字段值,将字段值赋值给表级完整性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,具体实施如表3所示。
[0087] 表3:
[0088]
[0089] 其中,模名、目标表英文名、目标表中文名、是否时间拉链、时间拉链标识列英文名、数据量下线、数据量上限、主键字段英文名为表级完整性测试模板中的字段,示例、ABC_TA_BLE、XXXX汇总表、LN_CTBT_NO、LN_CTBT_NO,SiariDt为从表结构中提取表级完整性测试模板中字段的字段值。
[0090] 需要说明的是,从表3中可看出,当测试模板为表级完整性测试模板时,不论从一个车间模型文件中提取的表结构中有多少条表级信息,一个车间模型文件仅在表级完整性模板中生成一条车间模型文件描述的数据处理系统的测试信息。
[0091] 当预先设置的模板为字段级完整性测试模板时,从表结构中提取字段级完整性测试模板中字段的字段值,将字段值赋值给字段级完整性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,即从上述表2中提取字段级完整性测试模板中字段的字段值,将字段值赋值给字段级完整性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,具体实施如表4所示。
[0092] 表4:
[0093]
[0094] 其中,模块名、目标表英文名、目标表中文名、字段英文名、字段中文名和字段类型为字段级完整性测试模板的字段,表4中2~3行的信息均为从表结构中提取字段级完整性测试模板中字段的字段值,从表4中可看出,总共生成4条测试信息。
[0095] 需要说明的是,从表4中可看出,当测试模板为字段级完整性测试模板时,从一个车间模型文件中提取的表结构中有多少条字段级信息,则对应在字段级完整性测试模板中生成多少条车间模型文件描述的数据处理系统的测试信息。
[0096] 当预先设置的测试模板为数据合理性测试模板时,从表结构中提取数据合理性测试模板中字段的字段值,将字段值赋值给数据合理性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,即从表2中提取数据合理性测试模板中字段的字段值,将字段值赋值数据合理性测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,具体实施如表5所示:
[0097] 表5:
[0098]
[0099] 其中,模块名、目标表英文名、目标表中文名、字段英文名、字段中文名、检测类型、合理范围/正则表达式、空值比例、默认值和默认值比例为数据合理性测试模板的字段,表5中2~4行的信息均为从表结构中提取数据合理性测试模板中字段的字段值。
[0100] 需要说明的是,从表5中可看出,当测试模板为数据合理性测试模板时,从一个车间模型文件中提取的表结构中有多少条字段级信息,则对应在数据合理性测试模板中生成多少条车间模型文件描述的数据处理系统的测试信息。
[0101] 需要说明的是,空值比例为预先设置的,检测类型和合理范围/正则表达式可根据用户的需要进行填写,检测类型可以为枚举值、数值范围、正则表达式格式校验,且检测类型与合理性范围/正则表达式是相互对应的,比如,当检测类型为枚举值时,合理范围/正则表达式可为(1,0),可根据实际应用进行设定,本发明实施例不加以限定。
[0102] 进一步的,需要说明的是,当提取到的车间模型文件的表结构字段级信息包含有3条,且预先设置的测试测试模型为数据合理性测试模板时,对应生成车间模型文件描述的数据处理系统的3条测试信息。
[0103] 当调用的与测试模板匹配的数据库语句模板为SQL语句模板时,根据测试信息生成与SQL语句模板匹配的测试语句,并执行测试语句对数据处理系统进行测试得到测试结果。其中,SQL语句模板具体如表6所示。
[0104] 表6:
[0105]
[0106] 需要说明的是,记录数量检查、表存在性检查、时间拉链检测-断链-交叉链、时间拉链检测-倒链、主键重复检查为表级完整性测试模板对应的SQL语句模板;字段完整性检查和字段类型检查为字段级完整性测试模板对应的SQL语句模板;字典取值合理性检查、空值比例异常分析和默认值比例异常分析为数据合理性测试模板对应的SQL语句模板。比如,当预先设置的测试模板为数据合理性测试模板,基于车间模型文件中提取的表结构以及数据合理性测试模板,且车间模型文件的测试信息为上述表5中的第3条测试信息时,调用与数据合理性测试模板匹配的SQL语句模板中的字典取值合理性检查,且字典取值合理性检查对应的SQL语句为select count(*)from目标表英文名where条件,将从上述表5中的第3条测试信息中提取的目标英文名(ABC_TABLE)填充至SQL语句中对应的位置,并将“枚举值+合理范围/正则表达式”对应生成“not in(1,0)”填充至SQL语句中“条件”的位置,进而生成与字典取值合理性检查匹配的测试语句为select count(*)from ABC_TABLE where not in(1,0),再执行该测试语句对数据处理系统进行测试得到测试结果。
[0107] 上述本发明实施例图1公开的步骤S104调用与测试模板匹配的数据库语句模板,根据测试信息生成与数据库语句模板匹配的测试语句,如图2所示,包括以下步骤:
[0108] S201:调用与测试模板匹配的数据库语句模板。
[0109] 在具体执行步骤S201的过程中,调用与测试模板匹配的数据库语句模板,比如当预先设置的测试模板为数据合理性测试模板,且数据库语句模板为SQL语句模板时,从上述表6中可知,调用与数据合理性测试模板匹配的SQL语句模板可为字典取值合理性检查和/或空值比例异常分析和/或默认值比例异常分析。
[0110] S202:从测试信息中提取数据库语句模板中变量的变量值。
[0111] 需要说明的是,数据库语句模板中的变量表征测试信息中字段。
[0112] 在具体执行步骤S202的过程中,从测试信息中提取数据库语句模板中变量的变量值,比如当预先设置的测试模板为数据合理性测试模板,且数据库语句模板为SQL语句模板时,从测试信息中提取SQL语句模板中变量的变量值。
[0113] S203:将变量值赋值给数据库语句模板中的变量,生成测试语句。
[0114] 为了更好的对上述内容进行理解,下面进行举例说明。
[0115] 比如,当预先设置的测试模板为数据合理性测试模板,且数据库语句模板为SQL语句模板,且测试信息为上述表5中的第3条测试信息时,调用与数据合理性测试模板匹配的SQL语句模板为字典取值合理性检查,且字典取值合理性检查对应的SQL语句为select count(*)from目标表英文名where条件,其中“目标表英文名”和“条件”均为SQL语句模板中的变量,即数据库语句模板中变量,进而可从上述表5中的第3条测试信息中提取字典取值合理性检查中的变量的变量值为(ABC_TABLE)、枚举值和(1,0),将(ABC_TABLE)填充至SQL语句中“目标表英文名”的位置,将枚举值和(1,0)对应生成“not in(1,0)”填充至SQL语句中“条件”的位置进而生成与字典取值合理性检查匹配的测试语句为select count(*)from ABC_TABLE where not in(1,0)。
[0116] 在本发明实施例中,通过从测试信息中提取与测试模板匹配的数据库语句模板中变量的变量值,并将提取到的变量值赋值给数据库语句模板中变量,进而生成测试语句。
[0117] 上述本发明实施例图1公开的步骤S105执行测试语句对数据处理系统进行测试得到测试结果,如图3所示,包括以下步骤:
[0118] S301:对数据处理系统中的目标表执行测试语句,得到实际执行结果。
[0119] 在具体执行步骤S301的过程中,首先通过数据处理系统对源表中的数据进行加工得到目标表,再对目标表执行测试语句,得到实际执行结果。
[0120] S302:获取预先设置的与测试语句匹配的数据库语句模板对应的预期执行结果。
[0121] 在具体执行步骤S302的过程中,获取预先设置的与测试语句匹配的数据库语句模板对应的预期执行结果,比如,当测试语句为select count(*)as TotaRecordCount from beibei456时,获取与该测试语句匹配的数据库语句模板对应的预期执行结果为目标表记录值应大于等于2。
[0122] S303:对比实际执行结果和预期执行结果是否一致。
[0123] S304:若实际执行结果和预期执行结果不一致,确定数据处理系统异常。
[0124] 在具体执行步骤S304的过程中,当预先设置的预期执行结果为大于某个具体的数值,而执行结果并没有大于该具体数值时,确定数据系统异常。
[0125] 反之,当预期执行为大于某个具体的数值,且执行结果大于该具体数值时确定数据处理系统正常。
[0126] 为了更好为上述内容进行理解,下面进行举例说明:
[0127] 比如,当数据处理系统中的目标表为示例表beibei456,且对应的测试语句为select count(*)as TotaRecordCount from beibei456时,对数据处理系统中的示例表beibei456执行对应的测试语句,得到实际执行结果为目标表记录数为29,获取预先设置的与该测试语句匹配的数据库语句模板对应的预期执行结果为目标表记录值应大于等于2,由于实际执行结果为目标表记录数为29,而预期执行结果为目标表记录值应大于等于2,说明执行结果与预期执行结果一致,进而确定数据处理系统正常。
[0128] 反之,若实际执行结果为目标表记录数为1,而预期执行结果为目标表记录值应大于等于2,说明执行结果与预期执行结果不一致,进而确定数据处理系统异常。
[0129] 在本发明实施例中,通过比较对数据处理系统执行测试语句得到的实际执行结果,与预先设置的与该测试语句匹配的数据库语句模板对应的预期结果是否一致,确定数据处理系统是否发生异常。
[0130] 可选的,在本发明上述公开的测试方法的基础上,如图4所示,该方法还包括:
[0131] S401:调用预先设置的第一目标测试语句,对数据处理系统中的目标表进行处理得到第一处理结果。
[0132] 其中,第一目标测试语句基于利用数据准确性测试模板的测试信息生成的。
[0133] 在本申请实施例中,预先设置的第一目标测试语句可以为目标表语句。有关于预先设置的第一目标测试语句的具体内容,发明人可根据自己的需求进行设置,本发明实施例不加以限定。
[0134] 需要说明的是,第一目标测试语句可以为SQL语句,数据处理系统中的源表为字段间或表间的测试项,比如,字段间不同额度、日期等数据逻辑校验或数据加工规则校验,可根据实际应用进行设定,本发明实施例不加以限定。
[0135] 在具体执行步骤S401的过程中,用户使用数据准确性测试模板依据待测试的数据逻辑或数据加工规则手工编写得到第一目标测试语句,即目标表语句,再调用预先编写好的第一目标测试语句,对数据处理系统中的目标表进行处理得到第一处理结果,比如,当第一目标测试语句为SQL语句时,调用预先编写好的SQL语句,对数据处理系统中的目标表进行处理得到第一处理结果。
[0136] S402:调用预先设置的第二目标测试语句,对数据处理系统中的源表进行处理得到第二处理结果。
[0137] 其中,第二目标测试语句基于利用数据准确性测试模板的测试信息生成,数据处理系统用于对源表进行处理生成目标表。
[0138] 在本申请实施例中,预设设置的第二目标测试语句可以为源表语句。有关于预先设置的第二目标测试语句的具体内容,发明人可根据自己的需求进行设置,本发明实施例不加以限定。
[0139] 在具体执行步骤S402的过程中,通过确定与数据处理系统中待测试的数据逻辑或数据加工规则功能相同的加工语句,使用数据准确性测试模板手工编写得到第二目标测试语句,即源表语句,将该加工语句对数据处理系统中源表进行处理得到的结果确定为与第二目标测试语句匹配的第二处理结果。比如,通过确定与数据处理系统中待测试的数据逻辑或数据加工规则功能相同的第二目标测试语句,即相同的源表语句,将第二目标测试语句对数据处理系统中的源表进行处理得到的结果,确定为第二目标测试语句匹配的第二处理结果。
[0140] S403:比较第一处理结果和第二处理结果是否相同。
[0141] S404:若第一处理结果和第二处理结果不相同,确定数据处理系统异常。
[0142] 在具体执行步骤S404的过程中,将通过预先设置的第一目标测试语句对数据处理系统中的目标表进行处理得到的第一处理结果,与通过预先设置的第二目标测试语句对数据处理系统中源表进行处理得到的第二处理结果进行比较,若第一处理结果和第二处理结果不相同,确定数据处理系统异常。
[0143] 反之,若第一处理结果和第二处理结果相同,确定数据处理系统正常。
[0144] 在本发明实施例中,通过比较预先设置的第一目标测试语句对数据处理系统中的目标表进行处理得到的第一处理结果,与通过预先设置的第二目标测试语句对数据处理系统中源表进行处理得到的第二处理结果是否相同,确定数据处理系统是否异常。
[0145] 可选的,在本发明上述公开的测试方法的基础上,如图5所示,该方法还包括:
[0146] S501:调用预先设置的测试需求模板。
[0147] S502:从测试语句以及生成测试语句的测试信息中提取测试需求模板的表头中的字段的字段值,生成测试语句的测试需求信息。
[0148] 需要说明的是,可基于多条测试需求信息生成测试需求文档。
[0149] 在具体执行步骤S502的过程中,从测试语句以及生成测试语句的测试信息中提取测试需求模板的表头中每个字段的字段值,生成测试语句的测试需求信息,比如,当测试语句为select count(*)from ABC_TABLE where not in(1,0)时,从上述表5中可知,与该测试语句对应的测试信息为表5中的第3条示例,因此,从测试语句以及生成该测试语句的测试信息中提取测试需求模板的表头中每个字段的字段值,生成测试语句的测试需求信息,具体如表7所示。
[0150] 表7:
[0151]
[0152] 其中,所在目录、业务领域、需求ID、交易名称/业务流程名称、需求依据、测试需求编号、测试需求名称、测试需求描述、项目关注度、测试需求类型、交易类型、展示类型、设计者、备注和标志为测试需求模板的表头中的字段,select count(*)from ABC_TABLE where not in(1,0)为测试语句,示例、XXXX汇总表、ABC_TABLE、代码、字典取值合理性检查、枚举值和(1,0)为生成测试语句的测试信息中提取与测试需求模板的表头中字段对应的字段值。
[0153] 在本发明实施例中,从测试语句以及生成该测试语句的测试信息中提取所调用的测试需求模板的表头中的字段的字段值,进而生成测试语句的测试需求信息。
[0154] 可选的,在本发明上述公开的测试方法的基础上,如图6所示,该方法还包括:
[0155] S601:调用预先设置的测试用例模板。
[0156] S602:从测试语句以及生成测试语句的测试信息中提取测试用例模板的表头中的字段的字段值,生成测试语句的测试用例信息。
[0157] 需要说明的是,可基于多条测试用例信息生成测试用例文档。
[0158] 在具体执行步骤S602的过程中,从测试语句以及生成测试语句的测试信息中提取测试用例模板的表头中的字段的字段值,生成测试语句的测试用例信息,比如,当测试语句为select count(*)from ABC_TABLE where not in(1,0)时,从上述表5中可知,与该测试语句对应的测试信息为表5中的第3条示例,因此,从测试语句以及生成该测试语句的测试信息中提取测试用例模板的表头中每个字段的字段值,生成测试语句的测试需求信息,具体如表8所示。
[0159] 表8:
[0160]
[0161]
[0162] 其中,所在目录、业务领域、测试ID、测试需求编号、交易名称/业务流程名称、案例名称、案例描述、案例优先级、交易类型、测试类型、案例属性、前置条件、[步骤]名称、[步骤]描述、[步骤]预期、测试数据、关联案例编号、设计者、案例状态、执行结果和执行状态均为测试需求模板的表头中的字段,select count(*)from ABC_TABLE where not in(1,0)为测试语句,示例、XXXX汇总表、ABC_TABLE、代码、字典取值合理性检查、枚举值和(1,0)为生成测试语句的测试信息中提取与测试用例模板的表头中字段对应的字段值。
[0163] 在本发明实施例中,从测试语句以及生成测试语句的测试信息中提取所调用的测试用例模板的表头中的每个字段的字段值,生成测试语句的测试用例信息。
[0164] 与上述本发明实施例公开的一种测试方法相对应,参考图7,本发明实施例还提供了一种测试装置的结构示意图,该测试装置700包括:
[0165] 第一获取单元701,用于获取数据处理系统的车间模型文件。
[0166] 第一提取单元702,用于提取车间模型文件的表结构。
[0167] 第一生成单元703,用于从表结构中提取预先设置的测试模板中字段的字段值,将字段值赋值给测试模板中的字段,生成数据处理系统的测试信息,测试模板中的各个字段值表征数据处理系统的测试需求。
[0168] 第一调用单元704,用于调用与测试模板匹配的数据库语句模板,根据测试信息生成与数据库语句模板匹配的测试语句。
[0169] 第一执行单元705,用于执行测试语句对数据处理系统进行测试得到测试结果。
[0170] 上述本发明实施例公开的测试装置中各个单元具体的原理和执行过程,与上述本发明实施例公开的测试方法相同,可参见上述本发明实施例公开的测试方法中相应的部分,这里不再进行赘述。
[0171] 本发明提供的一种测试装置,通过获取数据处理系统的车间模型文件,提取车间模型文件的表结构,再从表结构中提取预先设置的测试模板中字段的字段值,将字段值赋值给测试模板中的字段,生成数据处理系统的测试信息,测试模板中的各个字段值表征数据处理系统的测试需求,调用与测试模板匹配的数据库语句模板,根据测试信息生成与数据库语句模板匹配的测试语句,最后执行测试语句对数据处理系统进行测试得到测试结果。本发明提供的技术方案,通过从获取数据处理系统的车间模型文件中提取表结构,再将从表结构中提取预先设置的测试模板中字段的字段值赋值给测试模板中的字段,生成车间模型文件描述的数据处理系统的测试信息,根据测试信息以及与测试模板匹配的数据库语句模板生成测试语句,并执行该测试语句对数据处理系统进行测试得到测试结果,进而实现对数据集市及报表类系统的自动测试,不仅不需测试人员手工编写测试语句,还能减少测试人员的工作量,以及降低对测试人员技术的要求。
[0172] 优选的,测试模板的数量为至少一个,当预先设置的测试模板分别为表级完整性测试模板、字段级完整性测试模板和数据合理性测试模板时,第一执行单元705,包括:第二执行单元7051。
[0173] 第二执行单元7051,用于依次执行基于表级完整性测试模板生成的测试语句、基于字段级完整性测试模板生成的测试语句和基于数据合理性测试模板生成的测试语句,对数据处理系统进行测试得到测试结果。
[0174] 优选的,第一调用单元704,包括:第二调用单元7041、第二提取单元7042和第二生成单元7043。
[0175] 第二调用单元7041,用于调用与测试模板匹配的数据库语句模板。
[0176] 第二提取单元7042,用于从测试信息中提取数据库语句模板中变量的变量值,数据库语句模板中的变量表征测试信息中的字段。
[0177] 第二生成单元7043,用于将变量值赋值给数据库语句模板中的变量,生成测试语句。
[0178] 在本发明实施例中,通过从测试信息中提取与测试模板匹配的数据库语句模板中变量的变量值,并将提取到的变量值赋值给数据库语句模板中变量,进而生成测试语句。
[0179] 优选的,第一执行单元705,还包括:第三执行单元7052、第二获取单元7053、比对单元7054和第一确定单元7055。
[0180] 第三执行单元7052,用于对数据处理系统中的目标表执行测试语句,得到实际执行结果。
[0181] 第二获取单元7053,用于获取预先设置的与测试语句匹配的数据库语句模板对应的预期执行结果。
[0182] 比对单元7054,用于比对实际执行结果和预期执行结果是否一致。
[0183] 第一确定单元7055,用于若实际执行结果和预期执行结果不一致,确定数据处理系统异常。
[0184] 在本发明实施例中,通过比较对数据处理系统执行测试语句得到的实际执行结果,与预先设置的与该测试语句匹配的数据库语句模板对应的预期结果是否一致,确定数据处理系统是否发生异常。
[0185] 优选的,该测试装置还包括:第三调用单元706、第四调用单元707、第一比较单元708和第二确定单元709。
[0186] 第三调用单元706,用于调用预先设置的第一目标测试语句,对数据处理系统中的目标表进行处理得到第一处理结果,第一目标测试语句基于利用数据准确定测试模块的测试信息生成。
[0187] 第四调用单元707,用于调用预先设置的第二目标测试语句,对数据处理系统中的源表进行处理得到第二处理结果,第二测试语句基于利用数据准确性测试模块的测试生成,数据处理系统用于对源表进行处理生成目标表。
[0188] 第一比较单元708,用于比较第一处理结果和第二处理结果是否相同。
[0189] 第二确定单元709,用于若第一处理结果和第二处理结果不相同,确定数据处理系统异常。
[0190] 在本发明实施例中,通过比较预先设置的第一目标测试语句对数据处理系统中的目标表进行处理得到的第一处理结果,与预先设置的第二目标测试语句对数据处理系统中的源表进行处理得到的第二处理结果是否相同,确定数据处理系统是否异常。
[0191] 优选的,该测试装置还包括:第五调用单元7010和第三生成单元7011。
[0192] 第五调用单元7010,用于调用预先设置的测试需求模板。
[0193] 第三生成单元7011,用于从测试语句以及生成测试语句的测试信息中提取测试需求模板的表头中字段的字段值,生成测试语句的测试需求信息。
[0194] 在本发明实施例中,从测试语句以及生成测试语句的测试信息中提取所调用的测试需求模板的表头中的每个字段的字段值,生成测试语句的测试需求信息。
[0195] 优选的,该测试装置还包括:第六调用单元7012和第四生成单元7013。
[0196] 第六调用单元7012,用于调用预先设置的测试用例模板。
[0197] 第四生成单元7011,用于从测试语句以及生成测试语句的测试信息中提取测试用例模板的表头中字段的字段值,生成测试语句的测试用例信息。
[0198] 在本发明实施例中,从测试语句以及生成测试语句的测试信息中提取所调用的测试用例模板的表头中的每个字段的字段值,生成测试语句的测试用例信息。
[0199] 本发明实施例提供了一种服务器,参考图8,包括存储器801和处理器802,其中:
[0200] 存储器801存储程序;处理器802用于执行存储器存储的程序,具体执行如本发明任一实施例提供的测试方法。
[0201] 本发明实施例提供了一种存储介质,该存储介质存储计算机可执行指令,用于实现如本发明任一实施例提供的测试方法。
[0202] 以上对本发明所提供的一种测试方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
[0203] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0204] 还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0205] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0206] 以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈