[发明专利]一种测试数据生成方法及装置有效
申请号: | 201711317105.X | 申请日: | 2017-12-12 |
公开(公告)号: | CN109726096B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 梁新刚;梁双春;滕滨;白国涛;张琳 | 申请(专利权)人: | 中移(苏州)软件技术有限公司;中国移动通信集团公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 215163 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 测试数据 生成 方法 装置 | ||
1.一种测试数据生成方法,其特征在于,包括:
接收到生成测试数据的指令时,解析保存的配置文件,所述配置文件中包含有生成测试数据的规则;
利用反射机制和解析所述配置文件得到的生成测试数据的规则,得到用于生成测试数据的可执行文件;
运行所述可执行文件生成满足所述规则的测试数据;
利用反射机制和解析所述配置文件得到的生成测试数据的规则,得到用于生成测试数据的可执行文件,包括:
利用Java开发工具中提供的实现反射机制的函数和解析配置文件得到的生成测试数据的规则,得到实现生成测试数据的规则的Java文件,对Java文件进行编译得到可执行的Class文件;
解析所述配置文件还得到需要生成的测试数据的总量、生成测试数据时所用的线程个数和已生成测试数据的存储路径,则运行所述可执行文件生成满足所述规则的测试数据,包括:
根据生成测试数据时所用的线程个数,启动对应个数的线程;
将生成测试数据的任务分配给每一线程;
利用每一线程运行所述可执行文件,并将利用所述线程生成的测试数据存放到所述存储路径下;
确定所述存储路径下存放的测试数据的总量达到需要生成的测试数据的总量时,停止生成测试数据。
2.如权利要求1所述的方法,其特征在于,将利用所述线程生成的测试数据存放到所述存储路径下,包括:
将利用所述线程生成的测试数据逐行写入所述线程对应的内存对象中;
确定写入所述内存对象中的测试数据的行数达到缓存行数阈值时,利用所述线程将所述内存对象中的测试数据存放到所述存储路径下,所述缓存行数阈值是解析所述配置文件得到的。
3.如权利要求2所述的方法,其特征在于,还包括,
监测生成测试数据的过程中内存的使用情况;
若确定可用内存小于目标值,则根据Java虚拟机的最大内存、Java虚拟机已使用的内存、线程个数、源文件大小和源文件中的数据行数,确定对所述缓存行数阈值进行优化的优化系数,其中,所述目标值等于所述内存对象的字节数与线程个数的乘积,所述源文件为确定所述配置文件时的参考文件;
基于所述优化系数对所述缓存行数阈值进行优化。
4.如权利要求3所述的方法,其特征在于,根据以下公式确定对所述缓存行数阈值进行优化的优化系数OPTRATION:
其中,MEMJVM_MAX为Java虚拟机的最大内存;BYTEJVM_ALREADY_USED为Java虚拟机已使用的内存;BYTESRC_DATA为源文件大小;THREADCURRENT_LAUNCH为线程个数;LINECACHE为缓存行数阈值;LINESRC_DATA为源文件中的数据行数。
5.如权利要求4所述的方法,其特征在于,根据以下公式对所述缓存行数阈值LINECACHE进行优化:
其中,0<α<1。
6.如权利要求2所述的方法,其特征在于,若所述存储路径下的测试数据是以指定文件格式进行存储,且限定以所述指定文件格式进行存储的单个文件的大小,则利用所述线程将所述内存对象中的测试数据存放到所述存储路径下,包括:
根据预设的单次数据写入量,利用所述线程将所述内存对象中的测试数据分批写入以所述指定文件格式进行存储的单个文件中;
若确定所述单个文件的大小达到限定大小,则新建文件,并将所述内存对象中剩余的测试数据分批写入新建的文件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中移(苏州)软件技术有限公司;中国移动通信集团公司,未经中移(苏州)软件技术有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711317105.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多核芯片调试的方法、系统及装置
- 下一篇:环境切换方法、装置及电子设备