测试DB数据生成方法及装置制造方法及图纸

技术编号:15033601 阅读:52 留言:0更新日期:2017-04-05 09:28
本发明专利技术提供一种测试DB数据生成方法及装置。本发明专利技术的目的在于,提取现有DB的列和列间的依存信息,生成基于提取结果的测试用数据,由此通过测试工序检测出由测试用数据与实际数据的特性的差异引起的不良。测试DB数据生成方法生成对现有数据库进行模拟的测试用数据库,该测试DB数据生成方法的其特征在于,具有:列分布提取单元,其提取出现有数据库的各列的值的分布信息;列间依存关系提取单元,其提取出现有数据库的列间依存关系信息;以及数据生成单元,其根据列分布信息和列间依存关系信息来生成测试DB数据。

【技术实现步骤摘要】

本专利技术涉及更换企业系统时的测试工序中的数据生成。
技术介绍
在企业系统的更换中,转移存储在现有系统DB中的实际数据并使用于新系统。因此,在测试工序中,需要以现有系统的实际数据为对象来实施测试。但是,近年来,因安全要求的提高,很多情况下实际数据无法使用于正式转移。在这种事例中,SE根据现有规格书生成测试用数据,实施测试。但是,现有规格书未被维护而与实际数据的规格发生偏离或由于基于SE的测试用数据生成的设计错误等,有可能生成与实际数据的特性不同的测试用数据。因此,由于测试用数据与实际数据的特性差异,在测试阶段无法检测出不良,有时在正式转移后发生事故。作为本

技术介绍
,存在日本特开2001-256076号公报(专利文献1)。在该公报中记载了“通过实际DB数据的统计分析来提取各列的数据特征,根据提取出的数据特征来生成测试DB数据”。专利文献1:日本特开2001-256076号公报
技术实现思路
在专利文献1中,能够根据各列的数据特征以表单位生成测试DB数据。但是,在实际企业系统中,存在很多列间、表间的依存关系,仅根据各列的数据特征,无法掌握其特征。尤其,在企业系统中,执行很多以多个表、列为对象的搜索、更新的DB访问,因此需要根据反映了列间、表间的依存关系的测试DB数据来实施性能测试。为了反映这些依存关系,还存在用户直接修正所生成的测试DB数据、开发将列间依存关系反映于测试DB数据的独立程序等研究。但是,在这些中用户的作业工时高,另外,由于用户修正、独立程序而有可能各列的数据特征与实际DB不同。因此,本专利技术的目的在于生成反映了列间、表间的依存关系的测试DB数据。为了解决上述课题,在本专利技术中,生成反映了列间、表间的依存关系的测试DB数据。更详细而言,根据实际DB数据和DB定义解析与列间、表间的依存关系有关的信息,生成基于该解析结果的测试DB数据。并且,在本专利技术中还包含以下方式。测试DB数据生成方法生成对现有数据库进行模拟的测试用数据库,该测试DB数据生成方法具有:列分布提取单元,其提取出现有数据库的各列的值的分布信息;列间依存关系提取单元,其提取出现有数据库的列间依存关系信息;以及数据生成单元,其根据分布信息和列间依存关系信息来生成测试DB数据。通过本专利技术,能够生成反映了现有DB的列间、表间的依存关系的测试DB数据。由此,能够在与实际数据类似的测试DB数据来实施测试。因此,也能够在测试工序的早期检测出由列间、表间的依存关系的漏看引起的故障。通过以下实施方式的说明,使上述以外的课题、结构以及效果变得更加明确。附图说明图1是本专利技术的一个实施方式中的测试DB数据生成装置的结构图的示例。图2是说明本专利技术的一个实施方式中的测试DB数据生成装置的处理的流程图的示例。图3是说明本专利技术的一个实施方式中的现有DB数据111的表的示例。图4是说明本专利技术的一个实施方式中的数据库定义112的表的示例。图5是说明本专利技术的一个实施方式中的列分布信息113的表的示例。图6是说明本专利技术的一个实施方式中的列间依存关系信息114的表的示例。图7是说明本专利技术的一个实施方式中的列间依存关系强度信息115的表的示例。图8是说明本专利技术的一个实施方式中的测试DB数据117的表的示例。附图标记说明101列分布提取部;102列间依存关系提取部;103列间依存关系强度计算部;104表生成顺序制约提取部;105数据生成部;106数据验证部;111现有DB数据;112数据库定义;113列分布信息;114列间依存关系信息;115列间依存关系强度信息;116数据生成定义信息;117测试DB数据;118测试DB数据列分布信息。具体实施方式以下,根据附图详细说明本专利技术的一个实施方式。图1是本实施方式的现有数据库分析装置1和测试DB数据生成装置2的结构图的示例。现有数据库分析装置1是包含CPU10、主存储器11、存储装置12、输入装置13、输出装置14以及通信接口15的计算机,它们通过内部总线等进行连接。CPU10将存储在存储装置12中的部分读入到主存储器11并执行,由此进行各种处理。存储装置12存储有:列分布提取部101,其提取现有数据库的各列的值的分布状况;列间依存关系提取部102,其提取现有数据库的列间的依存关系;列间依存关系强度计算部103,其对列间的依存关系的强弱进行测定;现有DB数据111,其存储有现有数据库的数据;以及数据库定义112,其存储有现有数据库的定义信息。测试DB数据生成装置2为包含CPU20、主存储器21、存储装置22、输入装置23、输出装置24以及通信接口25的计算机,它们通过内部总线等进行连接。CPU20将存储在存储装置22中的部分读入到主存储器21并执行,由此进行各种处理。存储装置22存储有:表生成顺序制约提取部104,其提取用于生成测试DB数据的表的生成顺序的制约;数据生成部105,其对每个列决定生成数据的策略,按其生成策略来生成测试DB数据;数据验证部106,其对所生成的测试DB数据与现有DB数据的列分布信息进行比较而测定差分;列分布信息113,其存储有列的分布信息;列间依存关系信息114,其存储有与列间的依存关系有关的信息;列间依存关系强度信息115,其存储有与列间的依存关系的强弱有关的信息;数据生成定义信息116,其存储有应在各表中生成的记录数;测试DB数据117,其存储有所生成的测试DB数据;以及测试DB数据列分布信息118,其存储有所生成的测试DB数据的列的分布信息。图2是说明本实施例的现有数据库分析装置1和测试DB数据生成装置2的处理的流程图的示例。之后,根据图2的流程图来说明图1的各部的动作。在S11中,选择作为分析对象的数据库的表。在S12中,列分布提取部101以现有DB数据111和数据库定义112为输入信息,对列的值进行分组,提取出存储了每个组的出现频率的列分布信息113。图3是在本实施例中作为对象的现有DB数据111的示例。在图3中,示出了用户表1111和申请表1112,其中,该用户表1111存储有使用系统的用户的用户ID、用户名称、向系统的登记日期、用户的所属部门等,该申请表1112存储有由系统接收的申请处理信息即申请ID、进行申请的用户ID、与用户的所属部门对应的所属代码等。图4是数据库定义112的示例。存储了用户表1111和申请表1112的列名称、类型、大小、判断主要关键字的PK、存储有外部关键字的判断和相关联的主要关键字的名称的FK。在本例中,用户表、用户ID、申请表的申请ID成为PK,申请表的用户ID成为FK。在本实施例中,以该两个表为对象,详细地进行说明。图5为列分布信息113的示例。由提取了分布信息的表名1131、列名称1132、每个列的组1133、每个组的出现频率1134构成。在本例中,示出了在用户表的用户ID列中出现A0001至A9999的值的概率为50%。关于分组方法,为了使在SQL语句中命中的数据件数尽可能与实际DB相同,在字符型的情况下,进行基于前方一致的分组,在数值的情况下,进行基于位数的分组,在日期(年月日)的情况下,进行基于年月的分组。另外,用户也可以对使用于系统的SQL语句进行分析,定义分组的规则。在S13中,列间依存关系提取部102从数据库定义112的FK信息中结合分析对本文档来自技高网...

【技术保护点】
一种测试DB数据生成装置,生成对现有数据库进行模拟的测试用数据库,该测试DB数据生成装置的其特征在于,具有:列分布提取单元,其提取出上述现有数据库的各列的值的分布信息;列间依存关系提取单元,其提取出上述现有数据库的列间依存关系信息;以及数据生成单元,其根据上述分布信息和上述列间依存关系信息来生成测试DB数据。

【技术特征摘要】
2015.09.28 JP 2015-1891211.一种测试DB数据生成装置,生成对现有数据库进行模拟的测试用数据库,该测试DB数据生成装置的其特征在于,具有:列分布提取单元,其提取出上述现有数据库的各列的值的分布信息;列间依存关系提取单元,其提取出上述现有数据库的列间依存关系信息;以及数据生成单元,其根据上述分布信息和上述列间依存关系信息来生成测试DB数据。2.根据权利要求1所述的测试DB数据生成装置,其特征在于,该测试DB数据生成装置还具有:列间依存关系提取单元,其对上述现有数据库的每个列设定规则并对数据进行分组,用该分组后的各组的组名称来置换数据,对于2个列的组合,对数据的同现强度进行度量化。3.根...

【专利技术属性】
技术研发人员:大岛敬志桥本康范三部良太团野博文山口洁
申请(专利权)人:株式会社日立制作所
类型:发明
国别省市:日本;JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1