一种生成测试数据的方法、装置、介质及设备制造方法及图纸

技术编号:26762153 阅读:18 留言:0更新日期:2020-12-18 23:07
本申请提供了一种生成功能测试数据的方法、装置、介质及设备,所述方法包括:遍历指定目录内的数据实体类,对该数据实体类初始化赋值;将初始化赋值后的数据实体类作为测试数据。通过该方法,可以自动生成所需的测试数据,省时省力,极大节省测试/开发人员的时间精力且可以拷贝分发重复使用。

【技术实现步骤摘要】
一种生成测试数据的方法、装置、介质及设备
本申请涉及网络安全领域,尤其涉及一种生成测试数据的方法、装置及介质。
技术介绍
在系统开发的测试阶段(单元测试、接口调试)中,在前端页面不具备的情况下,经常需要测试/开发人员自行构造测试数据,当测试场景中所需的测试数据对象体量较大的时候,构造测试数据及其耗费时间,且过程本身非常枯燥,测试/开发人员的测试效率极易受到影响。
技术实现思路
为了解决上面描述的问题,本专利技术提供一种生成测试数据的方法,包括:遍历指定目录内的数据实体类,对该数据实体类初始化赋值;将初始化赋值后的数据实体类作为测试数据。所述数据实体类包括成员变量,所述成员变量的类型包括原生数据类型和/或自定义数据类型;遍历指定目录内的数据实体类,对该数据实体类初始化赋值包括:遍历指定目录内的数据实体类,如数据实体类的成员变量全部为原生数据类型的成员变量,则对该数据实体类的所有成员变量进行初始化赋值,并将该数据实体类存入查询表;如数据实体类包括自定义数据类型的成员变量和原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述查询表中查询是否有与该自定义数据类型的成员变量相对应的值;如果有,对该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述查询表;遍历所述指定目录内的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述查询表是否有对应于该未赋值的成员变量的值,如果有,将该未赋值的成员变量赋值;判断该数据实体类是否所有成员变量均已赋值,如果是,将该数据实体类存入所述查询表;直至所有数据实体类均已赋值。遍历指定目录内的数据实体类,对该数据实体类初始化赋值前,还包括:判断所述数据实体类是否为简单数据实体类;如果是,放入简单数据实体类数组;如果否,放入复杂实体数据类数组;其中,所述简单数据实体类为成员变量的类型均为原生数据类型;遍历指定目录内的数据实体类,对该数据实体类初始化赋值具体包括:遍历简单数据实体类数组中的数据实体类;将所述数据实体类中的成员变量赋值,并存入所述查询表;遍历复杂实体数据类数组中的数据实体类;如该数据实体类中包括类型为原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述查询表中查询是否有对应于该类型为自定义数据类型的成员变量的值;如果有,对该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述查询表;遍历复杂实体数据类数组中的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述查询表是否有对应于该未赋值的成员变量的值;如果有,将该未赋值的成员变量赋值,判断该数据实体类是否所有成员变量均已赋值,如果是,将该数据实体类存入所述查询表;直至所有数据实体类均已赋值。所述查询表包括简单查询表和复杂查询表;遍历指定目录内的数据实体类,对该数据实体类初始化赋值具体包括:遍历简单数据实体类数组中的数据实体类;将所述数据实体类中的成员变量赋值,并存入所述简单查询表;遍历复杂实体数据类数组中的数据实体类;如该数据实体类中包括类型为原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述简单查询表中查询是否有对应于该类型为自定义数据类型的成员变量的值;如果有,对该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述复杂查询表;遍历复杂实体数据类数组中的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述复杂查询表是否有对应于该未赋值的成员变量的值,如果有,将该未赋值的成员变量赋值;判断该数据实体类是否所有成员变量均已赋值,如果是,将该数据实体类存入所述复杂查询表;直至所有数据实体类均已赋值。所述查询表为哈希表。所述数据实体类中的成员变量按照下述方式定义:所述数据实体类中的所有成员变量的类型均为原生数据类型;或者所述数据实体类中的所有成员变量的类型包括原生数据类型和自定义数据类型,其中,所述自定义数据类型的成员变量包括类型为原生数据类型的成员变量和/或其他自定义数据类型的成员变量;或者所述数据实体类中的所有成员变量的类型均为自定义数据类型,其中,所述自定义数据类型的成员变量包括类型为原生数据类型的成员变量和/或其他自定义数据类型的成员变量。本专利技术提供一种生成测试数据的装置,包括:遍历赋值模块,用于遍历指定目录内的数据实体类,对该数据实体类初始化赋值;确定模块,用于将初始化赋值后的数据实体类作为测试数据。数据实体类包括成员变量,所述成员变量的类型包括原生数据类型和/或自定义数据类型;所述遍历赋值模块用于:遍历指定目录内的数据实体类,如数据实体类的成员变量全部为原生数据类型的成员变量,则对该数据实体类的所有成员变量进行初始化赋值,并将该数据实体类存入查询表;如数据实体类包括自定义数据类型的成员变量和原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述查询表中查询是否有与该自定义数据类型的成员变量相对应的值;如果有,对该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述查询表;遍历所述指定目录内的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述查询表是否有对应于该未赋值的成员变量的值,如果有,将该未赋值的成员变量赋值;判断该数据实体类是否所有成员变量均已赋值,如果是,将该数据实体类存入所述查询表;直至所有数据实体类均已赋值。生成测试数据的装置还包括:判断模块,用于判断所述数据实体类是否为简单数据实体类;如果是,放入简单数据实体类数组;如果否,放入复杂实体数据类数组;其中,所述简单数据实体类为成员变量的类型均为原生数据类型;所述遍历赋值模块用于:遍历简单数据实体类数组中的数据实体类;将所述数据实体类中的成员变量赋值,并存入所述查询表;遍历复杂实体数据类数组中的数据实体类;如该数据实体类中包括类型为原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述查询表中查询是否有对应于该类型为自定义数据类型的成员变量的值;如果有,该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述查询表;遍历复杂实体数据类数组中的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述查询表是本文档来自技高网...

【技术保护点】
1.一种生成测试数据的方法,其特征在于,包括:/n步骤101)遍历指定目录内的数据实体类,对该数据实体类初始化赋值;/n步骤102)将初始化赋值后的数据实体类作为测试数据。/n

【技术特征摘要】
1.一种生成测试数据的方法,其特征在于,包括:
步骤101)遍历指定目录内的数据实体类,对该数据实体类初始化赋值;
步骤102)将初始化赋值后的数据实体类作为测试数据。


2.如权利要求1所述的生成测试数据的方法,其特征在于,所述数据实体类包括成员变量,所述成员变量的类型包括原生数据类型和/或自定义数据类型;
所述步骤101)包括:
遍历指定目录内的数据实体类,如数据实体类的成员变量全部为原生数据类型的成员变量,则对该数据实体类的所有成员变量进行初始化赋值,并将该数据实体类存入查询表;
如数据实体类包括自定义数据类型的成员变量和原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述查询表中查询是否有与该自定义数据类型的成员变量相对应的值;如果有,对该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述查询表;
遍历所述指定目录内的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述查询表是否有对应于该未赋值的成员变量的值,如果有,将该未赋值的成员变量赋值;判断该数据实体类是否所有成员变量均已赋值,如果是,将该数据实体类存入所述查询表;直至所有数据实体类均已赋值。


3.如权利要求2所述的生成测试数据的方法,其特征在于,在步骤101)前,还包括:
步骤100)判断所述数据实体类是否为简单数据实体类;如果是,放入简单数据实体类数组;如果否,放入复杂实体数据类数组;其中,所述简单数据实体类为成员变量的类型均为原生数据类型;
步骤101)具体包括:
遍历简单数据实体类数组中的数据实体类;将所述数据实体类中的成员变量赋值,并存入所述查询表;
遍历复杂实体数据类数组中的数据实体类;如该数据实体类中包括类型为原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述查询表中查询是否有对应于该类型为自定义数据类型的成员变量的值;如果有,对该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述查询表;
遍历复杂实体数据类数组中的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述查询表是否有对应于该未赋值的成员变量的值;如果有,将该未赋值的成员变量赋值,判断该数据实体类是否所有成员变量均已赋值,如果是,将该数据实体类存入所述查询表;直至所有数据实体类均已赋值。


4.如权利要求3所述的生成测试数据的方法,其特征在于,所述查询表包括简单查询表和复杂查询表;
步骤101)具体包括:
遍历简单数据实体类数组中的数据实体类;将所述数据实体类中的成员变量赋值,并存入所述简单查询表;
遍历复杂实体数据类数组中的数据实体类;如该数据实体类中包括类型为原生数据类型的成员变量,则对类型为原生数据类型的成员变量进行初始化赋值;对类型为自定义数据类型的成员变量,在所述简单查询表中查询是否有对应于该类型为自定义数据类型的成员变量的值;如果有,对该类型为自定义数据类型的成员变量赋值;判断该数据实体类中所有成员变量是否均已赋值,如果是,将该数据实体类存入所述复杂查询表;
遍历复杂实体数据类数组中的数据实体类,对未赋值的数据实体类,确定该数据实体类中未赋值的成员变量,查询所述复杂查询表是否有对应于该未赋值的成员变量的值,如果有,将该未赋值的成员变量赋值;判断该数据实体类是否所有成员变量均已赋值,如果是,将该数据实体类存入所述复杂查询表;直至所有数据实体类均已赋值。


5.如权利要求1-4任一所述的生成测试数据的方法,其特征在于,所述查询表为哈希表。


6.如权利要求1-4任一所述的生成测试数据的方法,其特征在于,所述数据实体类中的成员变量按照下述方式定义:
所述数据实体类中的所有成员变量的类型均为原生数据类型;或者
所述数据实体类中的所有成员变量的类型包括原生数据类型和自定义数据类型,其中,所述自定义数据类型的成员变量包括类型为原生数据类型的成员变量和/或其他自定义数据类型的成员变量;或者
所述数据实体类中的所有成员变量的类型均为自定义数据类型,其中,所述自定义数据类型的成员变量包括类型为原生数据类型的成员变量和/或其他自定义数据类型的成员变量。


7.一种生成测试数据的装置,其特征在于,包括:
遍历赋值模块,用于遍历指定目录内的数据实体类,对该数据实体类初始化赋值;
确定模块,用于将初始...

【专利技术属性】
技术研发人员:张脉
申请(专利权)人:北京数聚鑫云信息技术有限公司
类型:发明
国别省市:北京;11

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

1