[发明专利]一种数据指标准确性的校验方法及自动化测试工具有效
申请号: | 202010946160.0 | 申请日: | 2020-09-10 |
公开(公告)号: | CN112100066B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 王一君;陈灿;邓爽爽;王光华 | 申请(专利权)人: | 杭州览众数据科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
地址: | 310000 浙江省杭州市滨*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 指标 准确性 校验 方法 自动化 测试 工具 | ||
1.一种数据指标准确性的校验方法,其特征在于步骤如下:
步骤1:在PG库中创建测试用例表、用例执行结果表以及日志记录表,分别用于存储测试用例数据、测试结果信息以及用例执行异常日志;
步骤2:在测试用例表中根据需要配置测试用例数据;
步骤3:根据用户传入的参数拼接查询语句,然后根据拼接查询语句读取用例表中的测试用例数据并存储到Dataframe中,其中Dataframe是一个缓存数据集合;
步骤4:根据用例id循环每一条测试用例数据,针对循环的当前测试用例数据,将被测指标查询SQL和对照SQL中的进行替换;具体根据用户传入的扩展参数键值对进行替换,
步骤5:通过分别执行被测指标查询SQL和对照SQL读取HIVE数据库中的被测数据,并分别将查询结果存储到Dataframe中;被测指标查询SQL和对照SQL均由用户根据需求自定义;
步骤6:对比步骤5中两个查询结果的一致性,得出最终测试结论,使用is_pass字段标识该指标是否测试通过;
步骤7:在关键步骤打印日志
步骤8:存储测试结果:将测试结果存储在用例执行结果表中;
步骤9:捕获异常日志:跳过执行过程中的异常,并捕获异常日志存储到日志记录表中,status为Ture表示用例执行报错,status为False表示用例执行正常;
步骤10:用户在用例执行结果表中查看测试结果;
步骤11:用户在日志记录表中查看执行失败的用例日志。
2.根据权利要求1所述的一种数据指标准确性的校验方法,其特征在于步骤1具体表结构具体如下:
测试用例表:用例id、项目名称、提测版本、测试层名、测试表名、分区、被测指标名、被测指标查询SQL、对照表名、对照SQL、用例状态、用例创建时间、用例更新用户、用例更新时间的字段;
用例执行结果表:项目名称、测试版本号、用例id、被测指标名、数据条数、是否测试通过的字段;其中用例id为该结果表的外键,对应测试用例表中的用例id字段;
日志记录表:用例id、错误日志、测试版本号、创建时间、执行状态的字段;其中用例id为该日志表的外键,对应测试用例表中的用例id字段。
3.根据权利要求1或2所述的一种数据指标准确性的校验方法,其特征在于步骤6使用is_pass字段标识测试结果如下:1为测试通过,0为测试未通过,-1表示该用例执行异常;即如果两个查询结果一致,则is_pass字段标识为1;如果两个查询结果不一致,则is_pass字段标识为0;如果查询过程出现报错,则is_pass字段标识为-1。
4.根据权利要求3所述的一种数据指标准确性的校验方法,其特征在于步骤7所述的关键步骤包括:
①获取执行时输入的参数,并进行校验;
②从测试用例表中读取需要执行的用例数据;
③根据用例id循环每一条测试用例数据,替换被测指标查询SQL和对照SQL的扩展参数;
④分别执行用例数据中的被测指标查询SQL和对照SQL;
⑤对比被测指标查询SQL查询结果和对照SQL查询结果的一致性;
⑥存储测试结果;
⑦捕获异常日志;
⑧执行完成提示。
5.根据权利要求4所述的一种数据指标准确性的校验方法,其特征在于该校验方法过程中涉及的自动化测试工具包括读取用例模块、循环用例模块、替换参数模块、执行SQL模块、结果对比模块、存储结果模块、存储日志模块;
所述的读取用例模块,通过查询语句将测试用例表中相关的测试用例内容读取到Dataframe中;
所述的循环用例模块,根据用例id,循环获取读取用例模块Dataframe中每个用例的信息;
所述的替换参数模块,根据用户自定义传入的参数EXTEND_PARAMS,对循环用例模块获取到的用例信息中,被测指标查询SQL和对照SQL内容中的参数名进行正则匹配的替换;
所述的执行SQL模块,将替换参数模块中的被测指标查询SQL和对照SQL分别执行,并得到相应的查询结果并存储到Dataframe中;
所述的结果对比模块,将执行SQL模块中,执行被测指标查询SQL得到的Dataframe,与执行对照SQL得到的Dataframe进行对比,输出不一致的数据条数,若数据条数为0则该指标测试通过,否则测试不通过;
所述的结果存储模块,将结果对比模块中,指标不一致的数据条数、用例id、是否通过的信息存储到PG数据库的用例执行结果表中;
所述的日志存储模块,将执行SQL模块中的用例执行异常信息进行捕获,并将异常信息、用例id的数据存储到PG数据库的日志记录表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州览众数据科技有限公司,未经杭州览众数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010946160.0/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置