[发明专利]一种数据同步测试用例的自动生成方法及系统有效
申请号: | 201811312235.9 | 申请日: | 2018-11-06 |
公开(公告)号: | CN109614315B | 公开(公告)日: | 2021-11-23 |
发明(设计)人: | 冯源;余院兰;宋天扬 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 黄君军 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 步测 试用 自动 生成 方法 系统 | ||
本发明公开一种数据同步测试用例的自动生成方法,包括以下步骤:步骤S1、解析用户输入的建表命令,并在源端数据库创建测试用数据表;步骤S2、解析用户输入的操作命令,并生成与所述操作命令相应的SQL测试语句;步骤S3、将所述SQL测试语句装填到测试用例的执行流程字段,将所述SQL测试语句的执行结果数据装填到测试用例的期望结果字段。本发明提供方法生成的测试用例可以完整覆盖用户的实际操作,且通用性高。
技术领域
本发明涉及数据同步测试技术领域,具体涉及一种数据同步测试用例的自动生成方法及系统。
背景技术
在传统关系型数据库数据同步软件测试过程中,由于需要测试源端数据库的各类DDL和DML语句操作是否能正常同步至目的端,因此需要人工编写大量的DDL和DML的SQL测试语句,并将SQL语句作为测试用例在源端执行。人工生成SQL测试语句的方法效率低下,劳动强度大,而且容易出现测试用例集覆盖不完全的情况。尽管有方法能够实现SQL测试用例的自动化生成,但无法覆盖到各类场景下实际用户的操作,即不能很好的模拟实际的用户操作。用户在源端会进行各种各样的操作,比如:用户可能会创建多张表,有的表有主键,有的表有索引,有的表包含10个字段,有的表包含8个字段,每个字段又有可能是不同的数据类型,如int,char,clob等,在这种情况下,现有自动生成测试用例的方法很难覆盖到所有实际场景。另外,在数据同步系统中,源端可能是各种不同类型的数据库,如db2、mysql、postgresql、oracle等,不同类型数据库在某些sql语句的语法上存在一定的差异,单独为每类数据库编写相应的sql测试用例费时费力。
发明内容
本发明的目的在于克服上述技术不足,提供一种数据同步测试用例的自动生成方法,解决现有技术中测试用例无法覆盖用户实际操作以及测试用例通用性的不足的技术问题。
为达到上述技术目的,本发明的技术方案提供一种数据同步测试用例的自动生成方法,包括以下步骤:
步骤S1、解析用户输入的建表命令,并在源端数据库创建测试用数据表;
步骤S2、解析用户输入的操作命令,并生成与所述操作命令相应的SQL测试语句;
步骤S3、将所述SQL测试语句装填到测试用例的执行流程字段,将所述SQL测试语句的执行结果数据装填到测试用例的期望结果字段。
本发明还提供一种数据同步测试用例的自动生成系统,包括输入数据解析单元、执行流程装填单元以及期望结果装填单元;
所述输入数据解析单元用于解析用户输入的建表命令,并在源端数据库创建测试用数据表;
所述输入数据解析单元还用于解析用户输入的操作命令,并生成与所述操作命令相应的SQL测试语句;
所述执行流程装填单元用于将所述SQL测试语句装填到测试用例的执行流程字段;
所述期望结果装填单元用于将所述SQL测试语句的执行结果数据装填到测试用例的期望结果字段。
与现有技术相比,本发明的有益效果包括:本发明解析用户的操作命令,并根据解析结果生成相应的SQL测试语句,然后根据SQL测试语句自动生成测试用例。由于SQL测试语句时根据用户的操作命令生成的,因此,可以较为完整的覆盖用户的实际操作,提高测试的完整性,有效减少测试人员的工作量。同时,SQL测试语句时根据用户的操作命令生成,使得测试用例适用于源端数据库,不需要测试人员针对源端数据库的类型单独编写不具备通用性的SQL语句的测试用例,提高了测试用例的通用性。
附图说明
图1是本发明提供的数据同步测试用例的自动生成方法的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811312235.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置