一种测试数据生成方法及装置的制作方法

文档序号:6382283阅读:174来源:国知局
专利名称:一种测试数据生成方法及装置的制作方法
技术领域
本发明涉及测试技术领域,特别是涉及一种测试数据生成方法及装置。
背景技术
软件测试是软件生命周期的重要组成部分,确保了计算机软件的正确性和完整性。随着软件测试技术的发展,自动化测试技术已经被越来越广泛地使用,其主要包括测试数据自动生成、测试用例的自动执行和校验、测试环境的自动部署等方面。在软件测试的过程中,测试数据的准备是重要的环节,快速、全面地准备好测试数据,不仅可以大幅提高测试效率,缩短测试周期,而且还可以避免测试用例的遗漏,增加测试的覆盖面。目前,一种较为常用的测试数据准备方法是随机测试数据生成法,其主要思想是由测试人员预先给定数据取值范围,然后由计算机在给定的取值范围内随机选取测试数 据。这种方法生成的测试数据,覆盖比较全面,适用于功能测试。在实际的测试应用过程中,发明人发现上述测试数据生成方法至少存在以下问题首先,数据之间的关联性难以维护,对于较为复杂的系统而言,如果生成的测试数据是需要在多个数据表之间关联的,那么随机法生成出的测试数据可能就是不可用的;其次,只能生成正确的数据,不能生成错误的数据,而在实际的测试过程中,为了测试程序的故障处理能力,对于错误数据的测试重要性往往远大于对正确数据的测试;最后,随机法所生成的测试数据,尽管覆盖比较全面,然而缺点在于没有侧重,生成的数据过于分散,难以满足针对性较强的测试需求。

发明内容
为解决上述技术问题,本发明实施例提供一种测试数据生成方法及装置,以解决/以实现,技术方案如下本发明实施例提供一种测试数据生成方法,其特征在于,该方法包括获取预先设置的测试数据定义信息,确定需要生成的测试数据中所包含的字段;进一步根据所述测试数据定义信息中的关联定义信息,确定需要生成的关联字段;其中所述关联字段为与外部数据具有关联关系的数据字段;读取所述外部数据,根据所述外部数据的内容,生成测试数据的关联字段数据值;利用随机法生成测试数据的非关联字段数据值。根据本发明的一种具体实施方式
,所述读取外部数据,包括根据关联定义信息中所指示的关联源信息,读取相应的外部数据。根据本发明的一种具体实施方式
,所述根据外部数据的内容,生成测试数据的关联字段数据,包括根据关联定义信息中所指示的关联方式,利用外部数据的内容生成测试数据的关联字段数据值。
根据本发明的一种具体实施方式
,所述关联方式包括直接复制外部数据的对应数据值;或利用外部数据的数据值进行运算,得到关联字段的数据值。根据本发明的一种具体实施方式
,所述利用随机法生成测试数据的非关联字段数据值,包括根据所述测试数据定义信息中的错误定义信息,在非关联字段中随机添加错误数据值。
根据本发明的一种具体实施方式
,所述根据测试数据定义信息中的错误定义信 息,在非关联字段中随机添加错误数据值,包括根据错误定义信息中所指定的错误类型,在非关联字段中随机添加具有指定错误类型的错误数据值。根据本发明的一种具体实施方式
,所述利用随机法生成测试数据的非关联字段数据值,包括根据所述测试数据定义信息中的特殊值定义信息,在相应的非关联字段中生成满足指定数量要求的特殊值。根据本发明的一种具体实施方式
,所述在相应的非关联字段中生成满足指定数量要求的特殊值,包括在随机生成某字段的所有数据值后,判断所生成特殊值的数量是否满足指定的数量要求,如果否,则重新生成该字段的全部或部分数据值,直到满足所述数量要求。本发明实施例还提供一种测试数据生成装置,该装置包括定义信息获取单元,用于获取预先设置的测试数据定义信息,确定需要生成的测试数据中所包含的字段;定义信息解析单元,用于根据所述测试数据定义信息中的关联定义信息,确定需要生成的关联字段;其中所述关联字段为与外部数据具有关联关系的数据字段;关联字段数据生成单元,用于读取所述外部数据,根据所述外部数据的内容,生成测试数据的关联字段数据值;非关联字段数据生成单元,用于利用随机法生成测试数据的非关联字段数据值。根据本发明的一种具体实施方式
,所述关联字段数据生成单元,具体用于根据关联定义信息中所指示的关联源信息,读取相应的外部数据。根据本发明的一种具体实施方式
,所述关联字段数据生成单元,具体用于根据关联定义信息中所指示的关联方式,利用外部数据的内容生成测试数据的关联字段数据值。根据本发明的一种具体实施方式
,所述关联方式包括直接复制外部数据的对应数据值;或利用外部数据的数据值进行运算,得到关联字段的数据值。根据本发明的一种具体实施方式
,所述非关联字段数据生成单元,具体用于根据所述测试数据定义信息中的错误定义信息,在非关联字段中随机添加错误数据值。根据本发明的一种具体实施方式
,所述非关联字段数据生成单元,具体用于根据错误定义信息中所指定的错误类型,在非关联字段中随机添加具有指定错误类型的错误数据值。根据本发明的一种具体实施方式
,所述非关联字 段数据生成单元,具体用于根据所述测试数据定义信息中的特殊值定义信息,在相应的非关联字段中生成满足指定数量要求的特殊值。根据本发明的一种具体实施方式
,所述非关联字段数据生成单元,具体用于在随机生成某字段的所有数据值后,判断所生成特殊值的数量是否满足指定的数量要求,如果否,则重新生成该字段的全部或部分数据值,直到满足所述数量要求。本发明技术方案,将需要生成的数据字段分为关联字段和非关联字段两类,对于关联字段,根据测试数据定义信息所指定的外部数据生成数据值,对于非关联字段,则利用随机法生成数据值。与现有技术相比,应用本发明技术方案,至少可以实现以下一方面的技术效果首先,在生成数据的过程中,充分考虑到与外部数据表相关联的数据字段,从而保证数据之间的关联关系,满足复杂系统的测试需求。其次,不仅可以生成正确性数据,还可以根据需求,生成错误的数据,保证了测试的全面性。最后,根据预先定义的权重,可以有侧重地生成实际的测试数据值,从而满足于某些针对性较强的测试需求。可以理解的是,上述技术效果可能是本发明所有实施例的共同效果,也可能是某些优选实施例的特殊效果,而本发明的某个具体实施例并不一定需要同时实现上述所有的技术效果。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图I为本发明实施例测试数据生成方法的一种流程图;图2为本发明实施例测试数据生成装置的一种结构示意图。
具体实施例方式首先对本发明实施例所提供的一种测试数据生成方法进行说明,该方法可以包括以下步骤获取预设的测试数据定义信息,确定需要生成的测试数据中所包含的字段;进一步根据所述测试数据定义信息中的关联定义信息,确定需要生成的关联字段;其中所述关联字段为与外部数据具有关联关系的数据字段;读取所述外部数据,根据所述外部数据的内容,生成测试数据的关联字段数据值;利用随机法生成测试数据的非关联字段数据值。本发明技术方案,将需要生成的数据字段分为关联字段和非关联字段两类,对于关联字段,根据测试数据定义信息所指定的外部数据生成数据值,充分考虑到与外部数据表相关联的数据字段,从而保证数据之间的关联关系,满足复杂系统的测试需求。根据本发明的方案,测试人员预先根据测试需要,将对测试数据的基本要求进行定义,生成测试数据定义信息。在该定义信息中,可以包含测试数据名称、类型,需要生成的数据字段名称、字段类型、取值范围等基本信息。在本发明的一种实施例中,以XML文件的形式对测试数据进行定义,XML的标签和属性可以类似表I的形式
权利要求
1.一种测试数据生成方法,其特征在于,该方法包括 获取预设的测试数据定义信息,确定需要生成的测试数据中所包含的字段; 进一步根据所述测试数据定义信息中的关联定义信息,确定需要生成的关联字段;其中所述关联字段为与外部数据具有关联关系的数据字段; 读取所述外部数据,根据所述外部数据的内容,生成测试数据的关联字段数据值; 利用随机法生成测试数据的非关联字段数据值。
2.根据权利要求I所述的方法,其特征在于,所述读取外部数据,包括 根据关联定义信息中所指示的关联源信息,读取相应的外部数据。
3.根据权利要求I所述的方法,其特征在于,所述根据外部数据的内容,生成测试数据的关联字段数据,包括 根据关联定义信息中所指示的关联方式,利用外部数据的内容生成测试数据的关联字段数据值。
4.根据权利要求3所述的方法,其特征在于,所述关联方式包括 直接复制外部数据的对应数据值; 或 利用外部数据的数据值进行运算,得到关联字段的数据值。
5.根据权利要求I所述的方法,其特征在于,所述利用随机法生成测试数据的非关联字段数据值,包括 根据所述测试数据定义信息中的错误定义信息,在非关联字段中随机添加错误数据值。
6.根据权利要求5所述的方法,其特征在于,所述根据测试数据定义信息中的错误定义信息,在非关联字段中随机添加错误数据值,包括 根据错误定义信息中所指定的错误类型,在非关联字段中随机添加具有指定错误类型的错误数据值。
7.根据权利要求I所述的方法,其特征在于,所述利用随机法生成测试数据的非关联字段数据值,包括 根据所述测试数据定义信息中的特殊值定义信息,在相应的非关联字段中生成满足指定数量要求的特殊值。
8.根据权利要求7所述的方法,其特征在于,所述在相应的非关联字段中生成满足指定数量要求的特殊值,包括 在随机生成某字段的所有数据值后,判断所生成特殊值的数量是否满足指定的数量要求,如果否,则重新生成该字段的全部或部分数据值,直到满足所述数量要求。
9.一种测试数据生成装置,其特征在于,该装置包括 定义信息获取单元,用于获取预设的测试数据定义信息,确定需要生成的测试数据中所包含的字段; 定义信息解析单元,用于根据所述测试数据定义信息中的关联定义信息,确定需要生成的关联字段;其中所述关联字段为与外部数据具有关联关系的数据字段; 关联字段数据生成单元,用于读取所述外部数据,根据所述外部数据的内容,生成测试数据的关联字段数据值;非关联字段数据生成单元,用于利用随机法生成测试数据的非关联字段数据值。
10.根据权利要求9所述的装置,其特征在于,所述关联字段数据生成单元,具体用于 根据关联定义信息中所指示的关联源信息,读取相应的外部数据。
11.根据权利要求9所述的装置,其特征在于,所述关联字段数据生成单元,具体用于 根据关联定义信息中所指示的关联方式,利用外部数据的内容生成测试数据的关联字段数据值。
12.根据权利要求11所述的装置,其特征在于,所述关联方式包括 直接复制外部数据的对应数据值; 或 利用外部数据的数据值进行运算,得到关联字段的数据值。
13.根据权利要求9所述的装置,其特征在于,所述非关联字段数据生成单元,具体用于 根据所述测试数据定义信息中的错误定义信息,在非关联字段中随机添加错误数据值。
14.根据权利要求13所述的装置,其特征在于,所述非关联字段数据生成单元,具体用于 根据错误定义信息中所指定的错误类型,在非关联字段中随机添加具有指定错误类型的错误数据值。
15.根据权利要求9所述的装置,其特征在于,所述非关联字段数据生成单元,具体用于 根据所述测试数据定义信息中的特殊值定义信息,在相应的非关联字段中生成满足指定数量要求的特殊值。
16.根据权利要求15所述的装置,其特征在于,所述非关联字段数据生成单元,具体用于 在随机生成某字段的所有数据值后,判断所生成特殊值的数量是否满足指定的数量要求,如果否,则重新生成该字段的全部或部分数据值,直到满足所述数量要求。
全文摘要
本发明公开了一种测试数据生成方法及装置。所述测试数据生成方法包括获取预设的测试数据定义信息,确定需要生成的测试数据中所包含的字段;进一步根据所述测试数据定义信息中的关联定义信息,确定需要生成的关联字段;其中所述关联字段为与外部数据具有关联关系的数据字段;读取所述外部数据,根据所述外部数据的内容,生成测试数据的关联字段数据值;利用随机法生成测试数据的非关联字段数据值。应用本发明技术方案,可以在生成数据的过程中,充分考虑到与外部表相关联的数据字段,从而保证数据之间的关联关系,满足复杂系统的测试需求。
文档编号G06F11/36GK102968370SQ20121048731
公开日2013年3月13日 申请日期2012年11月26日 优先权日2012年11月26日
发明者崔萌, 江峰, 谢朝阳 申请人:中国电信股份有限公司云计算分公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1