基于数据库的工具系统的测试方法及装置的制作方法

文档序号:6429524阅读:581来源:国知局

专利名称::基于数据库的工具系统的测试方法及装置的制作方法
技术领域
:本申请涉及计算机数据库领域,尤其涉及一种基于数据库的工具系统的测试方法及装置。
背景技术
:在诸如ETL测试等时,“造数据”是必要的一项工作。目前,通常采用造数据程序或人工手动书写SQL语句的方式生成数据。但是,通过现有的造数据程序(如datafactory)来生成数据时,新增数据源(数据集)不方便,且维护也不方便,需要上传txt文本;同时,配置的数据不能再调整,因此,需要一次性配好,这给实际使用带来很大的不便。而通过人工手动写SQL语句来造数据,一般通过写循环实现某几个字段的迪卡尔集、赋值等,生成SQL语句,数据准备时间和人工成本大,且没有可视化界面,配置与维护都不方便。
发明内容本申请的目的在于提供一种数据生成方法及系统,基于本申请,可以使测试时准备数据的过程更简单、更易操作,进而节省准备数据的时间和成本。为了解决上述问题,本发明公开了一种基于数据库的工具系统的测试方法,包括字段选择步骤,在需要生成数据的表中,选择待配置数据字段;约束规则和数据集分配步骤,分别确定每一所述待配置数据字段的约束规则和对应的工具数据集;所述约束规则用于确定所述工具数据集中数据的组合方式;数据生成步骤,依据所述约束规则和所述工具数据集,为所述每一待配置数据字段生成数据;SQL文件生成步骤,基于所述数据,生成SQL文件;导入和测试步骤,将所述SQL文件导入待测试系统,对待测试系统进行测试;其中,所述工具数据集包括公用数据集和私人数据集,所述公用数据集包括能在多个项目中通用的数据,所述私人数据集包括项目独用的数据。优选的,所述数据生成步骤后还设置有修改或删除步骤,对所有待配置字段所生成的数据进行预览;并进行修改或删除。优选的,所述约束规则包括顺序约束、随机约束或迪卡尔集约束。优选的,根据需求对公用数据集和私人数据集进行添加或修改。优选的、在确定每一所述待配置数据字段对应的工具数据集时,对工具数据集进行筛选得到与待配置字段相应的数据集。本发明还公开了一种基于数据库的工具系统的测试装置,包括字段选择模块,用于在需要生成数据的表中,选择待配置数据字段;约束规则和数据集分配模块,用于分别确定每一所述待配置数据字段的约束规则和对应的工具数据集;其中,所述工具数据集包括公用数据集和私人数据集,所述公用数据集包括能在多个项目中通用的数据,所述私人数据集包括项目独用的数据。数据生成模块,用于依据所述约束规则和所述工具数据集,为所述每一待配置数据字段生成数据。SQL文件生成模块,用于基于所述数据,生成SQL文件;导入和测试模块,用于将所述SQL文件导入待测试系统,对待测试系统进行测试。优选的,所述数据生成模块后还设置有修改或删除模块,用于对所有待配置字段所生成的数据进行预览,并进行修改或删除。优选的,还包括工具数据集添加修改模块,连接数据生成模块,用于根据需求对公用数据集和私人数据集进行添加或修改。优选的,在约束规则和数据集分配模块之中包括筛选子模块,用于在确定每一所述待配置数据字段对应的工具数据集时,对工具数据集进行筛选得到与待配置字段相应的数据集。相对于现有技术而言,本申请通过确定每一字段配置的工具数据集和对应的约束规则生成数据,使得测试时准备数据的过程更简单、更易操作,进而节省测试时准备数据的时间和成本。图I为本申请一种基于数据库的工具系统的测试方法的步骤流程图;图2为本申请优选的一种基于数据库的工具系统的测试方法的步骤流程图;图3为本申请一种基于数据库的工具系统的测试装置的结构框图;图4为本申请优选的基于数据库的工具系统的测试装置的结构框图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,图I为本申请一种数据生成方法的步骤流程图,包括如下步骤字段选择步骤SI10,在需要生成数据的表中,选择待配置数据字段。在实际中,可以按项目需求决定需要生成数据的表中的待配置数据字段,比如财务系统的某个方面的表中的工资、缴税、福利或者某个市场的公司和在此市场的各公司营运的产品等字段。约束规则和数据集分配步骤S120,分别确定每一所述待配置数据字段的约束规则和对应的工具数据集;所述约束规则用于确定所述工具数据集中数据的组合方式;其中,所述工具数据集包括公用数据集和私人数据集,所述公用数据集包括能在多个项目中通用的数据,所述私人数据集包括某个项目独用的数据。其中,待配置数据字段的约束规则包括随机、顺序和笛卡尔集。具体而言,随机是指该字段取值时,随机选择已配置数据集中的任一数据,如以待配置数据字典对应的数据集为某个市场的产品,那么,在此数据集中的所有产品中随机选择任一产品;顺序是指选择已配置数据集中的所有数据,顺序生成到结果中,如待配置字段对应的数据集为2001000的数据,那么可以按照从小到大的顺序,将所有数据生成到结果中,也可以以从大到小的顺序,将所有数据生成到结果中;迪卡尔集是指所有选择迪卡尔集的字段,生成的数据为这些字段的全迪卡尔集组合,可调整字段顺序,选择优先字段为基础,对后面字段进行迪卡尔集组合,如coll0字段有al,a2值,colli字段有bl,b2值,采用迪卡尔集时,collO优先,则结果为albIalb2a2bla2b2;其中,工具数据集可以分为公用数据集和私人数据集,所述公用数据集包括能在多个项目中通用的数据,所述私人数据集包括某个项目独用的数据;在选择工具数据集时,可选择公用数据集,勾选需要的数据项或是新增自定义的私人数据集,或进行单独的数据集维护。这其中,用户可以根据实际项目情况将某些数据集添加入公用数据集供所有用户使用,也可以授权给其他用户使用其私人数据集;用户还可以根据实际情况对公用数据集的内容进行修改或删除,也可以自定义私人数据集。比如,A、B、C、D、E五个数据集在多个种类的项目中都可以采用,那么将此五个数据集放入公用数据集,而每个项目可能会存在自己单独需要的数据集,那么可以在私人数据集中进行自定义构造数据集。随着项目的进行,可能有些项目私人数据集中的数据又会有多个项目会采用,那么用户可以将这类私人数据集中的数据放入公用数据集,让所有用户都可以采用。在实际中,当公用数据集相对较多时,还可以采用字段筛选的方法在公用数据集里面将与待配置字段相应的数据集找出。数据生成步骤S130,依据所述约束规则和所述工具数据集,为所述每一待配置数据字段生成数据。当约束规则和数据集分配步骤选定约束规则和相应数据集后,依据此数据集和约束规则,为每一待配置字段生成数据。比如当上述步骤SllO选择了字段C011、C012、C013、col4;上述步骤S120对coll、col2、col3、col4分别选定约束规则迪卡尔集模式、迪卡尔集模式、顺序模式、随机模式,并分别选定相应数据集I里面选值I、2、3,数据集2里面选值a、b,数据集3里面选值1、2、3,数据集4里面选值aa、bb、cc。则本步骤S130依据上述结果通过java程序读取配置的字段、配置的模式、与数据集,然后选将迪卡尔集的字段进行组合,在本示例中将coll与col2的数据集通过迪卡尔集的方式生成collcol2Ia1b2a2b3a3b接着将顺序模式的字段读出,填充到已生成的数据矩阵中,本例中会生成collcol2col3IaI1b22a32bI3a23b3最后填充随机模式的字段,随机读取随机模式字段配置的数据集中值。那么生成数据矩阵可能为collcol2col3col4IaIaa1b2cc2a3aa2bIaa3a2bb3b3cc其中,迪卡尔集模式的字段组合之后,列长度与顺序模式的字段最大列长度不一致时,不足的矩阵循环顺序补足。如上述中col3循环补足已生成的迪卡尔集字段矩阵。SQL文件生成步骤S140,基于所述数据,生成SQL文件。实际中,可以通过java程序做拼接,生成包含所述数据的SQL文件。例如通过java程序生成含如上述示例内容的sql文件insertintotable_a(coll,cοI2,cοI3,cοI4)values('I','a','I','aa');insertintotable_a(coll,coI2,coI3,coI4)values(1I1,1h1,12','cc1);insertintotable_a(coll,coI2,coI3,coI4)values('2','a','3','aa');insertintotable_a(coll,coI2,coI3,coI4)values(121,1h1,1I1,1aa');insertintotable_a(coll,coI2,coI3,coI4)values(131,1a1,121,1bb1);insertintotable_a(coll,coI2,coI3,coI4)values('3','b','3','cc');由此就生成了SQL文件。导入和测试步骤S150,将所述SQL文件导入待测试系统,对待测试系统进行测试。·本实施例针对ETL测试等时,需要花很多时间来准备很多表、很多种测试数据的问题,通过配置表中具体字段选用的工具数据集与约束规则(即,工具数据集内数据的组合方式),使得准备数据的过程更简单、更易操作,节省准备数据的时间。参照图2,图2为本申请优选的基于数据库的工具系统的测试方法的步骤流程图,包括如下步骤字段选择步骤S210,在需要生成数据的表中,选择待配置数据字段。比如,选择待生成数据的表tableA,确定待配置数据字段colI。约束规则和数据集分配步骤S220,分别确定每一所述待配置数据字段的约束规则和对应的工具数据集;所述约束规则用于确定所述工具数据集中数据的组合方式。如,为tableA.colI配置工具数据集,并制定约束规则。数据生成步骤S230,依据所述约束规则和所述工具数据集,为所述每一待配置数据字段生成数据。比如,依据选定的约束规则和工具数据集,为tableA.colI字段生成数据。对于其他字段数据的生成也采用上述方式。修改或删除步骤S240,对所有待配置字段所生成的数据进行预览;并进行修改或删除。在实际中生成的数据矩阵存于BS(Bix)WerServer)系统的数据库中,根据基于java的BS系统的性质,数据矩阵可在BS系统页面上展示效果,用户可以根据预览结果去修改或删除里面的数据,可更新修改后数据矩阵到BS(Bix)WerServer)系统的数据库中。SQL文件生成步骤S250,基于所述数据,生成SQL文件;然后根据修改后的数据矩阵通过java拼接生成SQL文件。导入和测试步骤S260,将所述SQL文件导入待测试系统,对待测试系统进行测试。本优选的实施例中,其他步骤工作原理与图I所述步骤原理类似,本优选实施例与图I所述方法的不同之处在于在数据生成步骤S230后添加了修改或删除步骤S240。实际中数据生成步骤S230生成的数据可以在BS(Bix)WerServer)系统界面进行预览展示,当用户端发现生成的数据出现问题或者不符合测试要求,那么可以通过BS系统对生成的数据进行修改或删除,使其符合测试要求。上述各个步骤均采用JAVA语言进行编程。该实施例中,首先,通过增加字段间的约束(随机、顺序循环、迪卡尔集等),实现了字段间的逻辑规则,更适合数据情况的全条件组合覆盖;其次,通过将数据集分为公用数据集和私人数据集,在配置的时候直接调用公用数据集,并可以对独立部分进行自定义配置,免除了每次配置时对相同数据集的重复配置;其次,通过JAVA写好程序,给了可视化的BS界面,在页面上可以很方便对数据集进行配置、维护、重用等;再次,配置好的数据,是可继续在BS页面上预览,再进行修改或调整的;最后,生成的SQL文件是标准SQL,可直接用于执行入库或是保存,并可以用于ETL测试等。上述各个实施例可适用于已知的所有数据库,如oracl,greenplum,postgresql,mysql等,均可实现数据的构造与生成,数据集的共享与复用。另外,需要说明的是,还可以通过如下方式实现本申请I)在现有的造数据程序中(如datafactory程序)进行一些修改和个性化的定制,增加数据集的配置与维护功能,增加字段间的逻辑约束控制,以及生成结果预览,功能预览结果修改与维护的功能。2)通过excel文件或是别的配置文件,如txt、xml、vsd等,读取文件中定义好的字段与列值,生成标准sql语句,并提供字段规则约束定义,结果预览与维护等。3)通过读取数据库中的数据源,实现对字段的数据源配置,并定义字段间约束规贝U,实现生成标准Sql语句,并提供结果预览与维护等。相应的,本申请还公开了基于数据库的工具系统的测试装置的结构框图。参照图3,图3为本申请一种基于数据库的工具系统的测试装置的结构框图,包括字段选择模块31、约束规则和数据集分配模块32、数据生成模块33、SQL文件生成模块34和导入和测试模块35。其中,字段选择模块31用于在需要生成数据的表中,选择待配置数据字段.约束规则和数据集分配模块32用于分别确定每一待配置数据字段的约束规则和对应的工具数据集;约束规则用于确定工具数据集中数据的组合方式。数据生成模块33用于依据约束规则和工具数据集,为每一待配置数据字段生成数据。SQL文件生成模块34用于基于所述数据,生成SQL文件。测试模块35用于导入和测试步骤,将所述SQL文件导入待测试系统,对待测试系统进行测试。在本申请的装置中,还可以包括工具数据集添加修改模块,连接数据生成模块,用于根据需求对公用数据集和私人数据集进行添加或修改。另外,在本申请的装置中,在约束规则和数据集分配模块之中包括筛选子模块,用于在确定每一所述待配置数据字段对应的工具数据集时,对工具数据集进行筛选得到与待配置字段相应的数据集。本实施例针对ETL测试等时,需要花很多时间来准备很多表、很多种测试数据的问题,通过配置表中具体字段选用的工具数据集与约束规则(即,工具数据集内数据的组合方式),使得准备数据的过程更简单、更易操作,节省准备数据的时间。参照图4,图4为本申请优选的一种基于数据库的工具系统的测试装置的结构框图,包括字段选择模块41、约束规则和数据集分配模块42、数据生成模块43、修改或删除模块44、SQL文件生成模块45和导入和测试模块46。其中,字段选择模块41用于在需要生成数据的表中,选择待配置数据字段。约束规则和数据集分配模块42用于分别确定每一待配置数据字段的约束规则和对应的工具数据集;约束规则用于确定工具数据集中数据的组合方式。数据生成模块43用于依据约束规则和工具数据集,为每一待配置数据字段生成数据。修改或删除模块44用于对所有待配置字段所生成的数据进行预览;并进行修改或删除。SQL文件生成模块45用于基于所述数据,生成SQL文件。测试模块46用于导入和测试步骤,将所述SQL文件导入待测试系统,对待测试系统进行测试。同理在本申请的装置中,还可以包括工具数据集添加修改模块,连接数据生成模块,用于根据需求对公用数据集和私人数据集进行添加或修改。另外,在本申请的装置中,在约束规则和数据集分配模块之中包括筛选子模块,用于在确定每一所述待配置数据字段对应的工具数据集时,对工具数据集进行筛选得到与待配置字段相应的数据集。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对本申请所提供的基于数据库的工具系统的测试方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。权利要求1.一种基于数据库的工具系统的测试方法,其特征在于,包括字段选择步骤,在需要生成数据的表中,选择待配置数据字段;约束规则和数据集分配步骤,分别确定每一所述待配置数据字段的约束规则和对应的工具数据集;所述约束规则用于确定所述工具数据集中数据的组合方式;数据生成步骤,依据所述约束规则和所述工具数据集,为所述每一待配置数据字段生成数据;SQL文件生成步骤,基于所述数据,生成SQL文件;导入和测试步骤,将所述SQL文件导入待测试系统,对待测试系统进行测试;其中,所述工具数据集包括公用数据集和私人数据集,所述公用数据集包括能在多个项目中通用的数据,所述私人数据集包括项目独用的数据。2.根据权利要求I所述的基于数据库的工具系统的测试方法,其特征在于,所述数据生成步骤后还设置有修改或删除步骤,对所有待配置字段所生成的数据进行预览;并进行修改或删除。3.根据权利要求I所述的基于数据库的工具系统的测试方法,其特征在于所述约束规则包括顺序约束、随机约束或迪卡尔集约束。4.根据权利要求I所述的基于数据库的工具系统的测试方法,其特征在于根据需求对公用数据集和私人数据集进行添加或修改。5.根据权利要求I所述的基于数据库的工具系统的测试方法,其特征在于在确定每一所述待配置数据字段对应的工具数据集时,对工具数据集进行筛选得到与待配置字段相应的数据集。6.一种基于数据库的工具系统的测试装置,其特征在于,包括字段选择模块,用于在需要生成数据的表中,选择待配置数据字段;约束规则和数据集分配模块,用于分别确定每一所述待配置数据字段的约束规则和对应的工具数据集;其中,所述工具数据集包括公用数据集和私人数据集,所述公用数据集包括能在多个项目中通用的数据,所述私人数据集包括项目独用的数据。数据生成模块,用于依据所述约束规则和所述工具数据集,为所述每一待配置数据字段生成数据。SQL文件生成模块,用于基于所述数据,生成SQL文件;导入和测试模块,用于将所述SQL文件导入待测试系统,对待测试系统进行测试。7.根据权利要求6所述的基于数据库的工具系统的测试装置,其特征在于,所述数据生成模块后还设置有修改或删除模块,用于对所有待配置字段所生成的数据进行预览,并进行修改或删除。8.根据权利要求6所述的基于数据库的工具系统的测试装置,其特征在于还包括工具数据集添加修改模块,连接数据生成模块,用于根据需求对公用数据集和私人数据集进行添加或修改。9.根据权利要求6所述的基于数据库的工具系统的测试装置,其特征在于在约束规则和数据集分配模块之中包括筛选子模块,用于在确定每一所述待配置数据字段对应的工具数据集时,对工具数据集进行筛选得到与待配置字段相应的数据集。全文摘要本发明公开了基于数据库的工具系统的测试方法及装置。该方法包括如下步骤在需要生成数据的表中,选择待配置数据字段;分别确定每一所述待配置数据字段的约束规则和对应的工具数据集;所述约束规则用于确定所述工具数据集中数据的组合方式;依据所述约束规则和所述工具数据集,为所述每一待配置数据字段生成数据;基于所述数据,生成SQL文件;将所述SQL文件导入待测试系统,对待测试系统进行测试;其中,所述工具数据集包括公用数据集和私人数据集,所述公用数据集包括能在多个项目中通用的数据,所述私人数据集包括某个项目独用的数据。基于本发明,可以使准备数据的过程更简单、更易操作,进而节省准备数据的时间和成本。文档编号G06F17/30GK102902685SQ201110211898公开日2013年1月30日申请日期2011年7月27日优先权日2011年7月27日发明者曹攀申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1