[发明专利]测试数据的获取方法、系统、设备及存储介质在审
申请号: | 202111149797.8 | 申请日: | 2021-09-29 |
公开(公告)号: | CN113868138A | 公开(公告)日: | 2021-12-31 |
发明(设计)人: | 季景瑜;梁树峰 | 申请(专利权)人: | 未鲲(上海)科技服务有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/242 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王勇 |
地址: | 200120 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试数据 获取 方法 系统 设备 存储 介质 | ||
本发明提供了一种测试数据的获取方法,所述方法包括:执行测试用例,监听并拦截所述测试用例中的SQL语句;从所述SQL语句中解析出表名,并通过所述表名查询第一数据库中是否存在相应的数据表;将类型为查询语句的SQL语句在第一数据库中执行,根据各个查询条件的区分度大小依次删减查询条件,执行删除查询条件后的查询语句,直至从数据表中获取到数据;通过上述方法使得测试用例中的SQL语句在数据库中执行时不会出现异常,提高了测试数据的获取速率,降低了计算机设备的能耗。
技术领域
本发明涉及人工智能技术,尤其涉及一种测试数据的获取方法、系统、设备及存储介质。
背景技术
测试是保障产品稳定性、有效性的环节之一。以单元测试任务为例,其可以包括模块接口测试、模块局部数据结构测试、模块边界条件测试、模块中所有独立执行通路测试,以及模块的各条错误处理通路测试等。
其中,用于单元测试任务中的测试数据是固定存储在数据库中的SQL文件,而非实时生成的;由于用户框架的升级和维护,在执行测试时,需要将原测试数据从数据库中重新提取出来,进行修改和替换,导致获取测试数据的效率较低。
发明内容
本发明的目的是提供一种测试数据的获取方法、系统、设备及存储介质,用于解决现有数据库获取测试数据的效率低的问题。
本发明实施例的一个方面提供了一种测试数据的获取方法,所述方法包括:
执行测试用例,监听并拦截所述测试用例中的SQL语句;
从所述SQL语句中解析出测试数据表的表名,并通过所述表名查询第一数据库中是否存在相应的数据表;
若查询到所述数据表且所述SQL语句为查询语句,则获取所述SQL语句中的各个查询条件的区分度;所述区分度用于表示删除其对应的查询条件后获取到数据的概率,每个查询条件对应一个区分度;
根据各个查询条件的区分度大小依次删减查询条件;执行删除查询条件后的查询语句,直至从所述数据表中获取到数据,并将从所述数据表获取的数据作为测试数据导入到第二数据库中。
优选地,所述通过所述表名查询第一数据库中是否存在相应的数据表之后的步骤,包括:若查询不到所述数据表,则通过所述SQL语句,在第三数据库中获取与所述SQL语句中对应的表结构;根据所述表结构生成建表语句;在所述第一数据库中执行所述建表语句,生成目标数据表;判断所述SQL语句是否为插入语句,若所述SQL语句为插入语句,则将所述SQL语句中的一个或多个测试数据值插入到所述目标数据表中。
优选地,所述通过所述表名查询第一数据库中是否存在相应的数据表;若查询到所述数据表且所述SQL语句为查询语句,则获取所述SQL语句中的各个查询条件的区分度;根据各个查询条件的区分度大小依次删减查询条件;执行删除查询条件后的查询语句,直至从所述数据表中获取到数据,并将从所述数据表获取的数据作为测试数据导入到第二数据库中的步骤,包括:判断所述SQL语句的类型;若所述SQL语句为查询语句,则执行步骤S1;
S1:执行所述SQL语句,确认是否能在所述数据表中获取到数据;
若获取到数据,则执行步骤S3;
若没有获取到数据,则获取所述SQL语句中的各个查询条件的区分度,执行步骤S2;
重复执行步骤S2,直至从所述数据表中获取到数据,根据所述SQL语句,修正获取到的数据,执行步骤S3;
S2:解析所述SQL语句中的N个查询条件,根据各个查询条件的区分度大小删减所述N个查询条件中的一个;
将未被删减的查询条件组成目标查询语句,执行所述目标查询语句,N为正整数且大于等于1,N的值自减1;
S3:将获取到的数据作为测试数据导入到所述第二数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于未鲲(上海)科技服务有限公司,未经未鲲(上海)科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111149797.8/2.html,转载请声明来源钻瓜专利网。