[发明专利]一种测试数据生成方法及装置有效
申请号: | 201210527850.8 | 申请日: | 2012-12-10 |
公开(公告)号: | CN103870381B | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | 赵辉;徐健;李正文;王昭;刘哲文 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京鸿德海业知识产权代理事务所(普通合伙)11412 | 代理人: | 倪志华 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 测试数据 生成 方法 装置 | ||
技术领域
本发明涉及测试技术领域,特别是涉及一种测试数据生成方法及装置。
背景技术
软件测试是软件生命周期的重要组成部分,确保了计算机软件的正确性和完整性。随着软件测试技术的发展,自动化测试技术已经被越来越广泛地使用。测试数据的准备,是软件测试中的一个重要环节,快速、全面地准备好测试数据,可以显著提高测试效率,缩短测试周期。
随着互联网的发展,软件需要处理信息量也不断增加,分布式软件逐渐成为主流;在分布式软件测试过程中,由于处理数据量较大,分布式集群统一运行,因此面临测试运行周期漫长、运行资源争抢等问题。其中,在准备测试数据的过程中,对测试样本进行抽样是解决上述问题的有效途径。
现有技术中,在对系统进行测试数据抽样时,主要采用对输入数据进行单文本抽样的方式,但是,如果系统存在多个输入端、并且多个输入数据之间存在关联时,分别对每个输入数据进行单文本抽样,其各自的抽样结果之间并不一定相互关联,那么这样的测试数据就失去了实际意义。另外,如果系统存在多个轮次的输入输出,由于系统各个模块的处理逻辑和限定,抽样得到的数据很可能在某个处理过程中消失,导致后面的处理模块无法得到充分测试。
发明内容
为解决上述技术问题,本发明实施例提供一种测试数据生成方法及装置,技术方案如下:
本发明实施例提供一种测试数据生成方法,该方法包括:
获取测试对象的相关数据样本,分别确定每组数据样本的键字段;所述相关数据包括:输入数据、输出数据以及中间数据;
根据测试对象的数据转换流程,确定键字段中的核心键字段;所述核心键字段为:字段数值无法转换为其他键字段数值的键字段;
对相关数据样本进行抽样,提取抽样结果中的键字段数值,如果是非核心键字段数值,则进一步转换为核心键字段数值,将得到的所有核心键字段数值添加到备选数值集合中;
在输入数据样本中,查询与备选数值集合元素相匹配的数据,利用查询结果构成测试数据。
根据本发明的一种具体实施方式,所述确定每组数据样本的键字段,包括:
识别数据样本每个字段的数值特征;
如果一组数据样本中仅出现一种键字段特征,则将该特征字段确定为该数据样本的键字段;
如果一组数据样本中出现多种键字段特征,则滤除特征重复出现的字段,将剩余的字段确定为该数据样本的键字段。
根据本发明的一种具体实施方式,所述识别数据样本每个字段的数值特征,包括:
根据预设的规则,识别数据样本每个字段的所涉及的数值类型;
针对固定列数的数据样本,如果某列所涉及的某种数值类型比例大于预设的第一阈值,则将该类型确定为该列字段的数值特征;如果该列没有大于第一阈值的数据类型,则将所有比例大于预设的第二阈值的数值类型确定为该列字段的数值特征;
针对非固定列数的数据样本,如果某列所涉及的某种数值类型比例大于预设的第三阈值,则将该类型确定为该列字段的数值特征;如果该列没有比例大于第三阈值的数据类型,则放弃对该列字段的数值特征识别。
根据本发明的一种具体实施方式,所述根据测试对象的数据转换流程,确定键字段中的核心键字段,包括:
根据测试对象的数据流方向,确定各个键字段之间的数值转换关系;
根据所确定的数值转换关系,将不存在转出关系的键字段,确定为核心键字段。
根据本发明的一种具体实施方式,所述对相关数据样本进行抽样,包括:
仅对包含键字段的数据样本进行抽样。
根据本发明的一种具体实施方式,所述对相关数据样本进行抽样,包括:
针对key-value格式的数据样本,根据value的取值区间进行分类抽样;
针对非key-value格式或value固定的数据样本,使用全随机的方式进行抽样;
其中,所述key-value格式为键值对格式。
根据本发明的一种具体实施方式,所述在输入数据样本中,查询与备选数值集合元素相匹配的数据,包括:
将输入数据样本中非核心键字段数值转换为核心键字段数值;
在原生核心键字段或转换后的核心键字段中,查询与备选数值集合元素相同的数值,进而将该数值所在的数据行作为查询结果输出。
本发明实施例还提供一种测试数据生成装置,该装置包括:
键字段确定模块,用于获取测试对象的相关数据样本,分别确定每组数据样本的键字段;所述相关数据包括:输入数据、输出数据以及中间数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210527850.8/2.html,转载请声明来源钻瓜专利网。