[发明专利]一种SparkSQL应用程序的自动化测试方法和装置有效

专利信息
申请号: 201811304692.3 申请日: 2018-11-04
公开(公告)号: CN109491904B 公开(公告)日: 2021-10-26
发明(设计)人: 王娜;廖艳云;林飞;古元;毛华阳;华仲锋 申请(专利权)人: 北京亚鸿世纪科技发展有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 暂无信息 代理人: 暂无信息
地址: 100095 北京市海淀区高里*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种SparkSQL应用程序的自动化测试装置涉及信息技术领域,尤其是大数据应用领域。本发明由测试环境、Jmockit、sqlList记录器、数量对比器、语句对比器组成;测试环境由maven工程配置器、jar包导入器、HDFS环境变量设置器、大数据组件引入器组成;实现本发明降低了测试难度不需要构造复杂的测试数据,根据SparkSQL应用程序的特点,将对比预期结果数据,转换为对比预期sql语句,降低了测试难度和测试效率;提高了测试效率从第二轮开始的迭代测试可以通过sql语句回放来自动验证程序的正确性,极大的提高了测试效率;提高了测试覆盖率第一轮的代码走读和sql查看可以覆盖整个业务逻辑,后期迭代测试根据sql语句回放,可以准确找到程序业务逻辑更改的地方,保证回归测试的覆盖率。
搜索关键词: 一种 sparksql 应用程序 自动化 测试 方法 装置
【主权项】:
1.一种SparkSQL应用程序的自动化测试装置,其特征在于由测试环境、Jmockit、sqlList记录器、数量对比器、语句对比器组成;测试环境由maven工程配置器、jar包导入器、HDFS环境变量设置器、大数据组件引入器组成;实现一种SparkSQL应用程序的自动化测试装置的主要步骤包括:1)部署测试环境①由maven工程配置器读取被测应用程序,并判断被测应用程序所需的测试环境的配置类型;②当被测应用程序存在jar包时,通过jar包导入器完成测试环境配置,jar包导入器通过pom.xml的依赖包引入;③当被测应用程序运行于HDFS分布式文件系统时,通过HDFS环境变量设置器完成测试环境配置,HDFS环境变量设置器自动从hadoop官网下载与被测应用程序版本一致的hadoop包,并根据本机的操作系统类型设置hadoop.home.dir属性;④当被测应用程序运行于Spark和Hive的大数据环境时,通过大数据组件引入器完成测试环境配置,大数据组件引入器通过添加pom.xml依赖包来完成测试环境配置;2)对SparkSession.sql(String sqlText)模拟①使用单元测试当中的Mock工具Jmockit,对SparkSQL API中执行sql语句的方法SparkSession.sql(String sqlText)进行模拟,使SparkSQL在被测应用程序内部调用SparkSession.sql(String sqlText)执行sql的同时,返回执行的具体sql语句;②使用sqlList记录器接收并保存被测应用程序执行的sql语句,sqlList记录器使用sqlList变量接收被测应用程序执行的sql语句;3)sql语句录制sql语句录制是指获取被测应用程序的SaprkSQL应用程序运行过程中顺序执行的sql,生成预期sql;①变量模拟对sqlList记录器中的sql语句相关的变量,采用Jmockit工具进行模拟,使变量的取值固定,保证在不同时间和不同应用场景下,被测应用程序的SparkSQL应用程序执行是同样的sql语句;②运行被测应用程序,在SparkSession.sql(String sqlText)模拟和变量模拟的前提下,获取程序运行中顺序执行的sql语句,将顺序执行的sql语句保存到文件生成预期sql;4)sql语句回放①获取执行sql运行被测应用程序,在SparkSession.sql(String sqlText)模拟和变量模拟的前提下,获取程序运行中顺序执行的sql语句,将顺序执行的sql语句保存到文件生成执行sql;②sql数量对比数量对比器读取预期sql和执行sql,对比预期sql的数量和执行sql的数量,当预期sql的数量和执行sql的数量不一致,测试结果为不通过,结束sql对比;当预期sql的数量和执行sql的数量一致,进行sql语句对比;③sql语句对比语句对比器读取预期sql和执行sql,去除语句中的标点符号、空格、回车、换行及非语义的内容,将预期sql和执行sql转换成预期sql字符串和执行sql字符串,对比预期sql字符串和执行sql字符串,当预期sql字符串和执行sql字符串不同时,测试结果为不通过;当预期sql字符串和执行sql字符串相同时,测试结果为通过。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亚鸿世纪科技发展有限公司,未经北京亚鸿世纪科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201811304692.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top