CN111813651B - 一种整表结构相关的数据异常测试方法及自动化测试工具 - Google Patents

一种整表结构相关的数据异常测试方法及自动化测试工具 Download PDF

Info

Publication number
CN111813651B
CN111813651B CN202010467282.1A CN202010467282A CN111813651B CN 111813651 B CN111813651 B CN 111813651B CN 202010467282 A CN202010467282 A CN 202010467282A CN 111813651 B CN111813651 B CN 111813651B
Authority
CN
China
Prior art keywords
test
case
name
data
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010467282.1A
Other languages
English (en)
Other versions
CN111813651A (zh
Inventor
王一君
陈灿
刘亚男
王光华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Lanzhong Data Technology Co ltd
Original Assignee
Hangzhou Lanzhong Data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Lanzhong Data Technology Co ltd filed Critical Hangzhou Lanzhong Data Technology Co ltd
Priority to CN202010467282.1A priority Critical patent/CN111813651B/zh
Publication of CN111813651A publication Critical patent/CN111813651A/zh
Application granted granted Critical
Publication of CN111813651B publication Critical patent/CN111813651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种整表结构相关的数据异常测试方法及自动化测试工具。本发明具体包括以下步骤:(1)首先,在PostgreSQL数据库创建用例表及测试结果表,用于存储测试用例数据和测试结果数据;(2)根据数据测试需求,用例表根据类型的不同,在不同的用例表中配置测试用例数据;(3)执行代码的校验类,可选择部分校验类型或全部类型进行测试;(4)根据测试类型的不同,构造对应测试类型的测试SQL;(5)执行测试SQL,对比测试结果与期望结果的一致性;(5)测试结果写表存储。本方法及工具亦可保存历史已配置好的用例,进行自动化回归测试。本整表结构相关的数据异常测试方法及自动化测试工具可极大的提升测试工作效率。

Description

一种整表结构相关的数据异常测试方法及自动化测试工具
技术领域
本发明属于信息技术领域,具体涉及一种整表结构相关的数据异常测试方法及自动化测试工具。
背景技术
21世纪以来,我国的科技不断发展进步,互联网的出现产生了大量的数据信息,人类已进入“大数据”时代。在这样一个时代背景下,依靠大数据展开的数据挖掘、机器学习等算法应用于各行各业,那么如何进行数据软件产品的测试,保证数据的准确性就显得尤为重要。
在传统软件测试体系中,对功能、性能、稳定性等测试方法描述比较完善,但很少有涉及大数据的测试方法。因此,本发明针对大数据测试方法,梳理出一类整表结构相关的数据异常测试方法,并提供自动化测试工具,为大数据测试体系的完善提供有力支撑,同时在提高数据测试效率方面迈出坚实的一步。
发明内容
本发明的目的在于现有软件测试体系对大数据测试方法的不足,提出并开发一种整表结构相关的数据异常测试方法及自动化测试工具。
一种整表结构相关的数据异常测试方法,其可支持的测试类型包含:
类型1:数据重复测试,对整表中是否存在重复数据进行测试,在用例表中配置被测表的唯一键(可为多个字段组合唯一键),验证数据是否有重复;
类型2:拉链表断链测试,针对拉链表的拉链时间是否正常,是否出现拉链时间断开进行测试;
类型3:树状结构测试,对被测表中的层级结构字段进行测试,相同的一个子层级不能出现两个父层级;
类型4:数值大小比较测试,对被测表中两个字段之间大小逻辑关系进行测试,可支持大于、大于等于、等于、不等于、小于、小于等于等6种大小情况的测试;
类型5:编码与值的对应关系测试,如被测表结构设定某一编码字段对应的取值字段必须为一定内容,通过查出实际的对应关系,与预期对应关系做对比,如果对应关系一致则测试通过,对应关系不一致则测试不通过。
类型6:两表含义相同字段内容也相同测试,即如果存在A表与B表的某些字段含义相同,那么测试这些字段的内容在A表和B表中是否也一致;
本发明所述可支持的测试类型的具体自动化测试的实现逻辑及方式,具体实现过程如下:
步骤1:在PG库中创建用例层及结果层,分别对应schema1和schema2,按测试类型创建测试用例表和用例结果表;
所述的用例表根据类型的不同,其所需创建的用例表字段不同,具体如下:
类型1:数据重复测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、唯一键、用例状态、创建时间等字段;
类型2:拉链表断链测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、拉链维度字段名、开链时间字段名、闭链时间字段名、用例状态、创建时间等字段;
类型3:树状结构测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、子类字段名、父类字段名、用例状态、创建时间等字段;
类型4:数值大小比较测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、被测字段名、被测对比字段名、比较类型、用例状态、创建时间等字段;
类型5:编码与值的对应关系测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、被测值的字段名、被测编码的字段名、预期编码与值的对应关系、用例状态、创建时间等字段;
类型6:两表含义相同字段内容也相同测试,用例表的字段包含:用例id、项目名称、提测版本、被测表层名、被测表表名、被测表被测字段名、被测表关联字段名、对比表层名、对比表表名、对比表对比字段名、对比表关联字段名、用例状态、创建时间等字段;
所述的结果表根据类型的不同,其所需创建的结果表字段不同,具体如下;
类型1:数据重复测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称等字段;其中用例id为该结果表的外键,对应数据重复测试用例表中的用例id字段;
类型2:拉链表断链测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称等字段;其中用例id为该结果表的外键,对应拉链表断链测试用例表中的用例id字段;
类型3:树状结构测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的具体子类内容、case_sql、测试版本、项目名称等字段;其中用例id为该结果表的外键,对应树状结构测试用例表中的用例id字段;
类型4:数值大小比较测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称等字段;其中用例id为该结果表的外键,对应数值大小比较测试用例表中的用例id字段;
类型5:编码与值的对应关系测试,结果表的字段包含:id、用例id、是否测试通过、与预期结果不一致的编码与值对应关系、case_sql、测试版本、项目名称等字段;其中用例id为该结果表的外键,对应编码与值对应关系测试用例表中的用例id字段;
类型6:两表含义相同字段内容也相同测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称等字段;其中用例id为该结果表的外键,对应两表含义相同字段内容也相同测试用例表中的用例id字段;
步骤2:在用例层的配置测试用例数据,按测试类型区分,针对每一个测试类型均在对应的测试用例表中配置测试用例数据,内容包含:用例id、项目名称、提测版本、测试层名、测试表名、分区、字段名、校验内容、预期结果、用例状态、创建时间等;
所述的测试内容根据类型的不同,其测试所需测试用例数据配置的字段及内容不同;
步骤3:读取用例表中的测试用例数据,并构造用于测试的SQL脚本;
所述的SQL脚本根据测试类型不同,构造不同,具体如下:
类型1:数据重复测试,SQL脚本
Figure BDA0002513071110000041
其中SCHEMA_NAME为用例数据中测试层名内容,TABLE_NAME为用例数据中测试表名内容,UNIQUE_KEYS为用例数据中测试表唯一键内容。如果查询出的结果大于0,则测试不通过。
类型2:拉链表断链测试,SQL脚本:
Figure BDA0002513071110000042
Figure BDA0002513071110000051
其中SCHEMA_NAME为用例数据中测试层名内容,TABLE_NAME为用例数据中测试表名内容,FIELD_NAMES为用例数据中拉链维度字段名的内容,FIELD_START为用例数据中开链时间字段名的内容,FIELD_END为用例数据中闭链时间字段名的内容。如果查询出的结果大于0,则测试不通过。
类型3:树状结构测试,SQL脚本:
SELECTFIELD_NAME,COUNT(DISTINCTPARENT_FIELD_NAME)AS NUM
FROMSCHEMA_NAME.TABLE_NAME
GROUPBYFIELD_NAME
HAVINGNUM>1
其中SCHEMA_NAME为用例数据中测试层名内容,TABLE_NAME为用例数据中测试表名内容,FIELD_NAMES为用例数据中子类字段名的内容,PARENT_FIELD_NAME为用例数据中父类字段名的内容。如果查询出的结果为空,则测试通过。
类型4:数值大小比较测试,SQL脚本:
SELECTCOUNT(*)ASFALSE_NUM
FROMSCHEMA_NAME.TABLE_NAME,
WHEREFIELD_NAME,COMPARE_MARK,COMPARE_FIELD_NAME
其中SCHEMA_NAME为用例数据中测试层名内容,TABLE_NAME为用例数据中测试表名内容,FIELD_NAMES为用例数据中被测字段名的内容,COMPARE_FIELD_NAME为用例数据中被测对比字段名的内容(该处也可直接填写数值),COMPARE_MARK为用例数据中比较类型字段的内容(比较类型在用例中预期大小关系的汉字,在代码实现中将其转换为测试逻辑的数学符号。例如:“大于”转为“<=”)。如果查询结果大于0,则测试不通过。
类型5:编码与值的对应关系测试,SQL脚本:
SELECTCONCAT('FIELD_CODE_NAME',',','FIELD_VALUE_NAME')
ASCODE_VALUE
FROMSCHEMA_NAME.TABLE_NAME
WHERECONCAT('FIELD_CODE_NAME',',','FIELD_VALUE_NAME')
NOTIN(RELATION)
GROUPBYFIELD_CODE_NAME,FIELD_VALUE_NAME
其中SCHEMA_NAME为用例数据中测试层名内容,TABLE_NAME为用例数据中测试表名内容,FIELD_CODE_NAME为用例数据中被测编码字段名的内容,FIELD_VALUE_NAME为用例数据中被测值字段名的内容,RELATION为用例数据中预期编码与值的对应关系字段的内容。如果查询结果为空,则测试通过。
类型6:两表含义相同字段内容也相同测试,SQL脚本:
SELECTCOUNT(*)ASDIFFERENT_NUMS
FROMSCHEMA_NAME.TABLE_NAMEA
INNERJOINCOMPARE_SCHEMA_NAME.COMPARE_TABLE_NAMEB
CONCAT_ON_UDF(FIELD_NAME,COMPARE_FIELD_NAME,'A,B')
DATESAME_CONCAT_WHERE_UDF(TEST_FIELD,COMPARE_TEST_FIELD,'A,B')
其中SCHEMA_NAME为用例数据中被测表层名内容,TABLE_NAME为用例数据中被测表表名内容,COMPARE_SCHEMA_NAME为用例数据中对比表层名的内容,COMPARE_TABLE_NAME为用例数据中被测对比表表名的内容,FIELD_NAME为用例数据中被测表关联字段名的内容,COMPARE_FIELD_NAME为用例数据中对比表关联字段名的内容,TEST_FIELD为用例数据中被测表被测字段名的内容,COMPARE_TEST_FIELD为用例数据中对比表对比字段名的内容。
CONCAT_ON_UDF为编写的自定义函数,用于拼接多个关联条件字段的ON条件;DATESAME_CONCAT_WHERE_UDF为编写的自定义函数,用于拼接判断多个被测字段与对比字段是否一一对应相等,例如WHERE A.FIELD1=B.FIELD11。
如果查询结果大于0,则测试不通过。
步骤4:然后根据用例id,循环执行每一条测试用例数据所构造的测试SQL脚本,读取HIVE/PG的被测数据,得到被测数据按照测试SQL查出的实际数据结果;;;
步骤5:在关键步骤打印日志,关键步骤包括:
①执行时输入的参数校验;
②获取测试用例数据,并创建dataframe;
③循环执行所有测试用例,得到被测数据的实际数据结果;
④存储测试结果;
⑤执行成功提示;
步骤6:将实际测试的数据结果与用例表中配置的预期结果进行比较,得出测试结果,使用is_pass字段(即用例结果表中的是否通过测试字段)标识测试是否通过;
步骤7:存储测试结果:将测试结果存储在用例结果表中,is_pass为1表示测试通过,is_pass为0表示测试未通过;
步骤8:测试人员可在对应的校验类型结果表中查看测试结果。
本发明可支持的校验类型自动化测试工具的技术架构:
工具技术架构分为5大模块:读取测试用例内容模块、构造测试SQL模块、循环执行测试SQL模块、结果对比模块、结果存储模块。
所述的读取测试用例内容模块,将测试用例表中已配置的测试用例内容读取到dataframe中;
所述的构造测试SQL模块,通过将读取测试用例内容模块得到的数据,按照测试用例内容,构造对应的测试SQL;
所述的循环执行测试SQL模块,根据用例id,循环执行构造测试SQL模块得到的测试SQL,查询被测表的数据内容;
所述的结果对比模块,将循环执行测试SQL模块得到的被测表数据内容,与测试用例内容中的预期结果做对比,如果一致则测试通过,不一致则测试不通过;
所述的结果存储模块,将结果对比模块得到的测试结果数据、用例id等信息,存储到PG数据库的测试结果表中;
进一步的,本发明自动化测试工具的批量执行方法及日志存储:
执行方式1:通过shell脚本,批量执行某几种异常测试类型或全部异常测试类型;
执行方式2:通过使用附加自定义配置文件,在执行时读取自定义配置文件所配置的内容,例如,自定义配置文件可支持执行指定校验类型的某一条或某几条测试用例;
执行方式3:通过读取PG库的测试结果,可支持仅执行上一次测试未通过的用例。
执行结束后日志存储在log文件中,用户可自行查看,能够显示共执行校验类型数量、执行成功的数量及执行失败的数量等执行信息。
本发明有益效果:
本发明通过梳理、总结大数据测试方法,提出一种整表结构相关的数据异常值测试的数据测试方法,并对数据异常情况进行分类,编写适用于每种异常类型的校验程序,开发出一种整表结构相关的数据异常值测试的自动化测试工具。完善大数据测试体系,有利于提升数据测试效率。
附图说明
图1是本发明实施例测试对象的数据存储结构及测试用例表、测试结果表层级结构;
图2是本发明实施例采用该异常值测试方法及自动化测试工具的具体流程图。
图3是本发明实施例采用数据重复这种整表结果相关的数据异常测试方法及自动化工具的测试用例表;
图4是本发明实施例采用数据重复这种整表结果相关的数据异常测试方法及自动化工具的测试结果展示。
图5是本发明实施例拉链表断链这种整表结果相关的数据异常测试方法及自动化工具的测试用例表;
图6是本发明实施例采用拉链表断链这种整表结果相关的数据异常测试方法及自动化工具的测试结果展示。
具体实施方式
下面结合附图、附表详细描述本发明,本发明的目的和结果将变得更加明显。本实例是本发明的一个类型实施例。本发明考虑到实际数据测试情况,以数据重复测试、拉链表断链测试这两种整表结构相关的数据异常情况测试为例,编写测试用例,使用自动化测试工具,检验数据是否存在重复的情况,达到整表结构相关的数据异常的测试目的。
步骤1:在PG库中初始化创建用例层及结果层两层,分别对应schema1和schema2,按测试类型创建测试用例表和用例结果表,用例、结果及被测数据的架构如图1所示;
步骤2:在用例配置层的用例表中分别配置测试用例内容;
其中,数据重复测试按照用例id、项目名称、提测版本、测试层名、测试表名、唯一键、用例状态、创建时间等填写测试用例内容,具体用例编辑实施示例见图3;
拉链表断链测试按照用例id、项目名称、提测版本、测试层名、测试表名、拉链维度字段名、开链时间字段名、闭链时间字段名、用例状态、创建时间等填写测试用例内容,具体用例编辑实施示例见图5;
步骤3:然后执行数据校验的内部逻辑流程,如图2所示。首先,读取用例表中的测试用例数据,并构造用于数据测试的SQL脚本,具体SQL内容分别如下:
数据重复测试构造的测试SQL脚本示例:
SELECTSUM(repeat_count)ASrepeat_num
FROM(
SELECTCOUNT(*)ASrepeat_count
FROMtenant_1000000000.table1
GROUPBYunique_keys
HAVINGrepeat_count>1
)t;
拉链表断链测试构造的测试SQL脚本示例:
Figure BDA0002513071110000101
步骤4:然后按照用例id,循环执行每一条测试用例数据所构造的测试SQL脚本,读取HIVE中的被测表中的被测数据,得到被测数据按照测试SQL查出的实际数据结果;
步骤5:在关键步骤打印日志,具体关键步骤如发明内容的步骤5所述;
步骤6:将实际数据结果与用例中配置的预期结果进行比较,得出测试结论,使用is_pass字段标识测试是否通过;
步骤7:存储测试结果:将测试结果存储在数据库中,is_pass为1表示测试通过,is_pass为0表示测试未通过;
步骤8:自动化测试用例jar上传到测试服务器,通过配置文件,配置仅执行重复行类型的测试类,并使用执行脚本进行执行,执行脚本示例:
bash run.sh--checkType RepeatCases,ZipperTableBreakCases
执行过程中,可查看关键步骤打印的日志。
步骤9:测试人员可在对应的校验类型结果表中查看测试结果;
图4为使用本发明的自动化测试工具执行测试后,数据重复测试实施例的结果表数据;图6为使用本发明的自动化测试工具执行测试后,拉链表断链测试实施例的结果表数据;
其中is_pass为1,表示该条用例的测试结果为通过;is_pass为0,表示该条用例的测试结果为未通过。
本发明不仅局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种具体实施方案实施本发明。因此,凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都落入本发明保护范围。

Claims (5)

1.一种整表结构相关的数据异常测试方法,其特征在于该方法支持的测试类型包含:
类型1:数据重复测试,对整表中是否存在重复数据进行测试,在用例表中配置被测表的唯一键,验证数据是否有重复;
类型2:拉链表断链测试,针对拉链表的拉链时间是否正常,是否出现拉链时间断开进行测试;
类型3:树状结构测试,对被测表中的层级结构字段进行测试,相同的一个子层级不能出现两个父层级;
类型4:数值大小比较测试,对被测表中两个字段之间大小逻辑关系进行测试,支持大于、大于等于、等于、不等于、小于、小于等于6种大小情况的测试;
类型5:编码与值的对应关系测试,如被测表结构设定某一编码字段对应的取值字段必须为一定内容,通过查出实际的对应关系,与预期对应关系做对比,如果对应关系一致则测试通过,对应关系不一致则测试不通过;
类型6:两表含义相同字段内容也相同测试,即如果存在A表与B表的某些字段含义相同,那么测试这些字段的内容在A表和B表中是否也一致;
该方法基于支持的测试类型,具体的测试方法如下:
步骤1:在PG库中创建用例层及结果层,分别对应schema1和schema2,按测试类型创建测试用例表和用例结果表;
步骤2:在用例层的配置测试用例数据,按测试类型区分,针对每一个测试类型均在对应的测试用例表中配置测试用例数据,内容包含:用例id、项目名称、提测版本、测试层名、测试表名、分区、字段名、校验内容、预期结果、用例状态、创建时间;
步骤3:读取用例表中的测试用例数据,并构造用于测试的SQL脚本;
步骤4:根据用例id,循环执行每一条测试用例数据所构造的SQL脚本,读取HIVE/PG的被测数据,得到被测数据的实际测试数据结果;
步骤5:在关键步骤打印日志,关键步骤包括:
①执行时输入的参数校验;
②获取测试用例数据,并创建dataframe;
③循环执行所有测试用例,得到被测数据的实际数据结果;
④存储测试结果;
⑤执行成功提示;
步骤6:将实际测试数据结果与用例表中配置的预期结果进行比较,得出测试结果,使用is_pass字段标识测试是否通过;
步骤7:存储测试结果:将测试结果存储在用例结果表中,is_pass为1表示测试通过,is_pass为0表示测试未通过;
步骤8:测试人员可在对应的校验类型结果表中查看测试结果。
2.根据权利要求1所述的一种整表结构相关的数据异常测试方法,其特征在于步骤1所述的用例表根据类型的不同,其所需创建的用例表字段不同,具体如下:
类型1:数据重复测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、分区、唯一键、用例状态、创建时间;
类型2:拉链表断链测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、分区、拉链维度字段名、开链时间字段名、闭链时间字段名、用例状态、创建时间;
类型3:树状结构测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、分区、子类字段名、父类字段名、用例状态、创建时间;
类型4:数值大小比较测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、分区、被测字段名、被测对比字段名、比较类型、用例状态、创建时间;
类型5:编码与值的对应关系测试,用例表的字段包含:用例id、项目名称、提测版本、测试层名、测试表名、分区、被测值的字段名、被测编码的字段名、预期编码与值的对应关系、用例状态、创建时间;
类型6:两表含义相同字段内容也相同测试,用例表的字段包含:用例id、项目名称、提测版本、被测表层名、被测表表名、被测表被测字段名、被测表关联字段名、对比表层名、对比表表名、对比表对比字段名、对比表关联字段名、用例状态、创建时间。
3.根据权利要求1或2所述的一种整表结构相关的数据异常测试方法,其特征在于步骤1所述的结果表根据类型的不同,其所需创建的结果表字段不同,具体如下;
类型1:数据重复测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称字段;其中用例id为该结果表的外键,对应数据重复测试用例表中的用例id字段;
类型2:拉链表断链测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称字段;其中用例id为该结果表的外键,对应拉链表断链测试用例表中的用例id字段;
类型3:树状结构测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的具体子类内容、case_sql、测试版本、项目名称字段;其中用例id为该结果表的外键,对应树状结构测试用例表中的用例id字段;
类型4:数值大小比较测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称字段;其中用例id为该结果表的外键,对应数值大小比较测试用例表中的用例id字段;
类型5:编码与值的对应关系测试,结果表的字段包含:id、用例id、是否测试通过、与预期结果不一致的编码与值对应关系、case_sql、测试版本、项目名;其中用例id为该结果表的外键,对应编码与值对应关系测试用例表中的用例id字段;
类型6:两表含义相同字段内容也相同测试,结果表的字段包含:id、用例id、是否测试通过、测试不通过的行数量、case_sql、测试版本、项目名称字段;其中用例id为该结果表的外键,对应两表含义相同字段内容也相同测试用例表中的用例id字段。
4.根据权利要求3所述的一种整表结构相关的数据异常自动化测试方工具,其特征在于该工具包括5大模块:读取测试用例内容模块、构造测试SQL模块、循环执行测试SQL模块、结果对比模块、结果存储模块;
所述的读取测试用例内容模块,将测试用例表中已配置的测试用例内容读取到dataframe中;
所述的构造测试SQL模块,通过将读取测试用例内容模块得到的数据,按照测试用例内容,构造对应的测试SQL;
所述的循环执行测试SQL模块,根据用例id,循环执行构造测试SQL模块得到的测试SQL,查询被测表的数据内容;
所述的结果对比模块,将循环执行测试SQL模块得到的被测表数据内容,与测试用例内容中的预期结果做对比,如果一致则测试通过,不一致则测试不通过;
所述的结果存储模块,将结果对比模块得到的测试结果数据、用例id信息,存储到PG数据库的测试结果表中。
5.根据权利要求4所述的一种整表结构相关的数据异常自动化测试方工具,其特征在于该工具的批量执行方法及日志存储,具体如下:
执行方式1:通过shell脚本,批量执行某几种异常测试类型或全部异常测试类型;
执行方式2:通过使用附加自定义配置文件,在执行时读取自定义配置文件所配置的内容;自定义配置文件支持执行指定校验类型的某一条或某几条测试用例;
执行方式3:通过读取PG库的测试结果,支持仅执行上一次测试未通过的用例;
执行结束后日志存储在log文件中,用户自行查看,能够显示共执行校验类型数量、执行成功的数量及执行失败的数量。
CN202010467282.1A 2020-05-28 2020-05-28 一种整表结构相关的数据异常测试方法及自动化测试工具 Active CN111813651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010467282.1A CN111813651B (zh) 2020-05-28 2020-05-28 一种整表结构相关的数据异常测试方法及自动化测试工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010467282.1A CN111813651B (zh) 2020-05-28 2020-05-28 一种整表结构相关的数据异常测试方法及自动化测试工具

Publications (2)

Publication Number Publication Date
CN111813651A CN111813651A (zh) 2020-10-23
CN111813651B true CN111813651B (zh) 2023-07-04

Family

ID=72847750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010467282.1A Active CN111813651B (zh) 2020-05-28 2020-05-28 一种整表结构相关的数据异常测试方法及自动化测试工具

Country Status (1)

Country Link
CN (1) CN111813651B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749167A (zh) * 2021-01-18 2021-05-04 中国邮政储蓄银行股份有限公司 确定断链数据的方法、装置及非易失性存储介质
CN112765044A (zh) * 2021-04-06 2021-05-07 上海钐昆网络科技有限公司 异常数据检测方法、装置、设备及存储介质
CN116361391B (zh) * 2023-03-30 2024-05-07 中电云计算技术有限公司 一种数据同步表结构异常检测及修复方法和装置
CN117093473A (zh) * 2023-07-14 2023-11-21 领悦数字信息技术有限公司 用于大数据测试的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111890A (zh) * 2014-07-29 2014-10-22 北京航空航天大学 一种实时性能测试方法与系统
CN109901987A (zh) * 2017-12-11 2019-06-18 北京京东尚科信息技术有限公司 一种生成测试数据的方法和装置
CN110058998A (zh) * 2019-03-12 2019-07-26 平安普惠企业管理有限公司 软件测试方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046746B2 (en) * 2005-08-04 2011-10-25 Microsoft Corporation Symbolic execution of object oriented programs with axiomatic summaries

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111890A (zh) * 2014-07-29 2014-10-22 北京航空航天大学 一种实时性能测试方法与系统
CN109901987A (zh) * 2017-12-11 2019-06-18 北京京东尚科信息技术有限公司 一种生成测试数据的方法和装置
CN110058998A (zh) * 2019-03-12 2019-07-26 平安普惠企业管理有限公司 软件测试方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Hash散列的SCPI命令解析机制在LXI仪器上的实现;李智;秦昌明;张活;;化工自动化及仪表(第12期);全文 *

Also Published As

Publication number Publication date
CN111813651A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
CN111813651B (zh) 一种整表结构相关的数据异常测试方法及自动化测试工具
US10372594B2 (en) Method and device for retrieving test case based on code coverage
CN108897687B (zh) 一种基于数据驱动的api自动化测试方法和系统
US6058493A (en) Logging and reproduction of automated test operations for computing systems
CN111813653B (zh) 一种字段内容相关的数据异常测试方法及自动化测试工具
US7752501B2 (en) Dynamic generation and implementation of globalization verification testing for user interface controls
CN109254907B (zh) 一种基于Java的接口测试报告生成方法及系统
CN109189479B (zh) 一种用于处理器指令集的并行自动化验证方法
US20140310690A1 (en) System and Method for Generating Automated Test Cases for Command Line Based Applications
Li et al. Classification of software defect detected by black-box testing: An empirical study
CN111813652B (zh) 一种数据缺失相关的数据异常值校验的自动化测试方法
Khalek et al. Systematic testing of database engines using a relational constraint solver
US5754861A (en) Dynamic program input/output determination
CN116541308B (zh) 一种回归测试方法及系统
CN109408378B (zh) 一种在大数据量下快速定位sql解析错误的测试方法及系统
EP2063368A2 (en) Counter example analysis support apparatus
CN111124809A (zh) 一种服务器传感器系统的测试方法及装置
CN108388589B (zh) 一种数据库sql查询语句自动生成的装置
Dreves et al. Validating Data and Models in Continuous ML Pipelines.
CN112464636B (zh) 约束文件的比较方法、装置、电子设备和存储介质
CN110795142B (zh) 一种配置文件的生成方法及装置
Andrews A framework for log file analysis
CN112100066B (zh) 一种数据指标准确性的校验方法及自动化测试工具
Li et al. Software misconfiguration troubleshooting based on state analysis
TWI424175B (zh) 用以格式化測試資料之系統和方法及機器可讀媒體

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant