[发明专利]一种应用于同步软件测试的方法和装置有效
申请号: | 201911324337.7 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111159020B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 丁普升;冯源 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/23;G06F16/27 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 同步 软件 测试 方法 装置 | ||
1.一种应用于同步软件测试的方法,其特征在于,包括:
获取各备选数据库的数据库元信息,根据所述数据库元信息选择存在字符集差异的至少两个数据库,作为源端数据库和目的数据库;
根据选择好的源端数据库中对应的字符集属性和页大小属性,自动化生成源端表结构;
启动所述同步软件,将源端数据库中所述自动化生成源端表结构,同步到所述目的数据库;
根据同步结果与源端数据中的表结构进行比较,得到测试结果;
自动获取源数据库属性,包括:
根据数据库类型可得到的列类型集合、单表支持的最大列数;
结合数据库元信息以及数据库初始化信息得到的页大小属性、单行数据最大长度;
所述根据选择好的源端数据库中对应的字符集属性和页大小属性,自动化生成源端表结构,具体包括:
步骤a1)、根据数据库元信息,确定列类型集合Column_SET;单行数据最大长度MAX_ROW_LENGTH;单表支持的最大列数MAX_COLUMNS;
步骤b1)、随机生成表的列数colCnt;其中,colCnt的范围为1=colCnt=MAX_COLUMNS;
步骤c1)、初始化表的列集合cols;此时行数据长度RowLenthCnt设置为0,cols元素数目为0;
步骤d1)、进入生成表结构循环,具体,循环起始通过判定列集合cols元素数目是否小于colCnt;如果为真,跳转到步骤e1);否则,跳转到步骤h1);
步骤e1)、从列类型集合Column_SET中随机取出一个列类型Column,并确定Column的最大长度是MAX_ROW_LENGTH–RowLenthCnt;
步骤f1)、设置Column的列名、精度和标度,并计算Column实际的存储长度len;
步骤g1)、判定len+RowLenthCnt是否小于MAX_ROW_LENGTH;如果为真,Column加入表的列集合cols,更新RowLenthCnt,转到步骤d1);否则,舍去Column,转到步骤h1);
步骤h1)、完成表的属性处理,包括增加主键约束和非空约束;
步骤i1)、结束表结构生成操作。
2.根据权利要求1所述的应用于同步软件测试的方法,其特征在于,所述根据所述数据库元信息选择存在字符集差异的至少两个数据库,作为源端数据库和目的数据库,具体包括:
选择字符集之间,具有向下兼容的一方作为源端数据库,而另一方作为目的数据库;或者,
在所选择的至少两个数据库之间,其字符集相互之间不兼容,则任意选择一方作为源端数据库,而另一方作为目的数据库。
3.根据权利要求2所述的应用于同步软件测试的方法,其特征在于,所述根据同步结果与源端数据中的表结构进行比较,具体包括:
比较目的数据库被同步过去的目的表结构,与源端数据库中的源端表结构,两者在数据对应性上是否存在偏差;所述偏差具体包括,是否存在字符的异常和/或丢失。
4.根据权利要求1所述的应用于同步软件测试的方法,其特征在于,所述方法还包括:
以表为单位,根据表结构的列信息,针对每一列构造数据生成器,形成表的数据生成器;
其中,所有数据类型均转换为JDBC的标准数据类型处理。
5.根据权利要求4所述的应用于同步软件测试的方法,其特征在于,为了统一管理列的数据生成器,将数据生成器作为一个抽象类;每个列在生成数据生成器的时候,根据列类型确定所实现的类对象,并输入包括标度和精度在内的列信息,确定数据生成器的各项参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911324337.7/1.html,转载请声明来源钻瓜专利网。