[发明专利]基于SQL覆盖的数据库应用软件自动化测试方法有效
申请号: | 201510111313.9 | 申请日: | 2015-03-13 |
公开(公告)号: | CN104636257B | 公开(公告)日: | 2017-10-27 |
发明(设计)人: | 胡兢玉;李华莹;常宁;曹晖;田旭;董昕;陈光;刘怡静 | 申请(专利权)人: | 胡兢玉 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 张大威 |
地址: | 100141 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sql 覆盖 数据库 应用软件 自动化 测试 方法 | ||
1.一种基于SQL覆盖的数据库应用软件自动化测试方法,其特征在于,包括以下步骤:
S1:建立数据库访问的语法规则表,其中,所述语法规则表包括数据库操作函数的特征信息和编码;
S2:采用词法分析和语法分析技术,依赖可自定义的语法规则对源代码进行静态分析,包括:根据所述语法规则表从被测软件源代码中获取与数据库访问相关的代码信息,所述代码信息包括源代码所在的类、源代码所在的行和对应的编码;
S3:采用ASM技术对所述源代码进行动态分析,包括:分别对所述被测软件源代码中的多个类进行遍历,以获取每个类中与数据库访问相关的信息;
S4:对静态分析结果和动态分析结果进行融合以生成数据库访问行为特征模型,并根据所述数据库访问行为特征模型构造数据库访问行为特征库;
S5:捕获所述源代码执行时的数据库访问动态执行特征,并将所述数据库访问动态执行特征与数据库访问行为特征库进行匹配计算,获得基于SQL的测试覆盖数据,具体包括:截取数据库访问请求并获取请求信息,分析所述请求信息的类型,并添加数据库访问源代码所在行和数据库访问响应时间,生成完整的执行特征日志数据,将所述执行特征日志数据与所述数据库访问行为特征模型进行匹配计算,获得基于SQL的测试覆盖数据;以及
S6:展示所述基于SQL的测试覆盖数据。
2.根据权利要求1所述的基于SQL覆盖的数据库应用软件自动化测试方法,其特征在于,所述步骤S2进一步包括:
加载数据库访问特征的语法规则并通过语法规则形成规则正则表达式;
加载被测软件源代码,并使用所述规则正则表达式定位、匹配以及识别符合数据库访问规则的源代码;
对所述符合数据库访问规则的源代码中的数据库访问信息进行分类存储。
3.根据权利要求1所述的基于SQL覆盖的数据库应用软件自动化测试方法,其特征在于,所述步骤S3进一步包括:
加载所述被测软件源代码中的多个类;
解析所述多个类,获取类中包含的源代码信息;
对类中的全局变量、方法、注释进行分析,获取并存储与数据库访问相关的信息。
4.根据权利要求1所述的基于SQL覆盖的数据库应用软件自动化测试方法,其特征在于,所述步骤S4进一步包括:
加载所述源代码静态分析结果及动态分析结果;
循环对所述源代码静态分析结果及动态分析结果进行对比,确认所述静态分析结果是否为数据库访问方法,并获取符合条件的方法的源代码所在行;
分析符合条件的方法的源代码所在的行,以生成被测软件的数据库访问行为特征模型。
5.根据权利要求1所述的基于SQL覆盖的数据库应用软件自动化测试方法,其特征在于,所述数据库访问行为特征模型具有多维属性,包括关键词、源代码引用层次定义、文件以及行列号精确描述、词法表达式定义。
6.根据权利要求1所述的基于SQL覆盖的数据库应用软件自动化测试方法,其特征在于,所述执行特征日志数据包括操作标识、操作类型、返回值、操作时间。
7.根据权利要求1所述的基于SQL覆盖的数据库应用软件自动化测试方法,其特征在于,所述基于SQL的测试覆盖数据包括SQL语句覆盖、表覆盖、字段覆盖、触发器覆盖、包覆盖、存储过程覆盖、序列覆盖、函数覆盖。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于胡兢玉,未经胡兢玉许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510111313.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:螺杆泵抽油作业系统
- 下一篇:采油机构及具有其的采油系统