一种参数集合生成方法及设备的制造方法

文档序号:9687464阅读:160来源:国知局
一种参数集合生成方法及设备的制造方法
【技术领域】
[0001] 本申请涉及通信技术领域,特别涉及一种参数集合生成方法。本申请同时还涉及 一种参数集合生成设备。
【背景技术】
[0002] 现有技术中,当软件产品开发完成后,为了保障软件系统能够实现预期的需求,需 要对软件进行测试。测试工程师通过对需求及设计文档的理解,编写测试用例,模拟实际使 用场景对软件进行测试,保障系统的正确和安全运行。在目前S0A的架构体系中,应用之间 通过定义良好的接口进行交互。遵循由内而外的测试验证准则,对于接口服务的测试验证 在S0A架构体系中尤为重要。目前化nit、nunit W及testng等工具都可W支持基于接口 的测试。但是送些工具都只提供测试框架,不包含基础测试数据生成的功能。随着技术的 不断发展,现代的质量保证体系中有很大一部分是针对系统对外提供的接口做测试。在送 部分接口测试中,有相当数量的测试用例是无业务含义的对接口测试参数有效性的验证。
[0003] 发明人在实现本申请的过程中发现,现有技术中的测试用例都是靠人工来产生 的,送样每当一个新的应用软件开发完成时,便需要生成大量的针对性数据集供其进行测 试,技术人员往往需要浪费大量的时间和精力来规划生成测试参数集,送样不仅工作量大、 而且繁琐的赋值操作本身也很容易出错。因此,如何精确地批量生成不同类型的测试参数 集,成为本领域技术人员亟待解决的技术方案。

【发明内容】

[0004] 本申请提供了一种参数集合生成方法,用W解决现有技术中无法批量产生指定类 型的测试参数集合的问题,包括:
[0005] 确定需要生成的参数集合的类型;
[0006] 当所述类型为非空参数集合时,生成其中一个参数为空值,其他参数为任意有效 取值的非空参数集合,所述非空参数集合的个数与所述参数集合中所包含的参数的数量相 同,取值为空值的参数在不同的非空参数集合之间各不相同;
[0007] 当所述类型为有效参数集合时,生成所有参数均为任意有效取值的有效参数集 合,且所述多个有效参数集合各不相同;
[0008] 当所述类型为无效业务数据集合时,生成其中一个参数为无效取值,其他参数为 任意有效取值的无效参数集合,所有生成的无效参数集合包含了各参数的无效取值,且为 无效取值的参数在不同的无效参数集合之间各不相同。
[0009] 相应地,本发明还提出了一种参数集合生成设备,包括:
[0010] 确定模块,用于确定需要生成的参数集合的类型;
[0011] 生成模块,用于在当所述确定模块确定所述类型为非空参数集合时,生成其中一 个参数为空值,其他参数为任意有效取值的非空参数集合,所述非空参数集合的个数与所 述参数集合中所包含的参数的数量相同,取值为空值的参数在不同的非空参数集合之间各 不相同;当所述确定模块确定所述类型为有效参数集合时,生成所有参数均为任意有效取 值的有效参数集合,且所述多个有效参数集合各不相同;当所述确定模块确定所述类型为 无效业务数据集合时,生成其中一个参数为无效取值,其他参数为任意有效取值的无效参 数集合,所有生成的无效参数集合包含了各参数的无效取值,且为无效取值的参数在不同 的无效参数集合之间各不相同。
[0012] 通过应用W上技术方案,在确定了需要生成的参数集合的类型之后,分别根据非 空参数集合、有效参数集合及无效业务数据集合其各自的特点生成对应的参数集合。实现 了测试数据集合的批量自动生成,减少了人工操作,极大地提高了效率及测试用例的全面 性。
【附图说明】
[0013] 图1为本申请提出的一种参数集合生成方法的流程示意图;
[0014] 图2为本申请具体实施例所提出的一种参数集合生成方法流程示意图;
[0015] 图3为本申请提出的一种参数集合生成设备的结构示意图。
【具体实施方式】
[0016] 如【背景技术】所述,目前的现有技术尚无法自动生成测试数据,需要人工介入,尤其 当输入参数较多时,容易疏漏,会造成测试覆盖不完整。针对送些缺点,本发明提出了一种 根据输入参数的类型、长度、格式等自动生成功能性测试数据的方法,并能够根据接口参数 的定义自动生成功能性验证的测试用例,包括有效、无效等价类及组合测试数据,从而节省 测试人员的精力,使之能投入到更需要人工干预的业务流程测试中。
[0017] 如图1所示,为本发明提出的一种参数集合生成方法的流程示意图,包括W下步 骤:
[0018] S101,确定需要生成的参数集合的类型。
[0019] 在该步骤之前,还需要确定所述参数集合中与各参数对应的有效/无效取值的类 型,然后根据所述有效/无效取值的类型生成所有可能的所述有效取值W及所述无效取 值。
[0020] S102,当所述类型为非空参数集合时,生成其中一个参数为空值,其他参数为任意 有效取值的非空参数集合,所述非空参数集合的个数与所述参数集合中所包含的参数的数 量相同,取值为空值的参数在不同的非空参数集合之间各不相同。
[0021] 具体地,在该非空参数集合的生成步骤中,首先将生成一个新的参数集合,随后依 次判断所述新参数集合中的各参数是否已对应存在取值为空值的非空参数集合,将尚不存 在取值为空值的对应非空参数集合的参数设为空值,W及将所述新参数集合中其他参数设 为任一对应的有效取值。若所述新参数集合中的各参数均已对应存在取值为空值的非空参 数集合,则结束处理并删除所述参数集合。
[0022] S103,当所述类型为有效参数集合时,生成所有参数均为任意有效取值的有效参 数集合,且所述多个有效参数集合各不相同。
[0023] 在该有效参数集合的生成步骤中,首先将生成新的参数集合,然后循环改变所述 参数集合中各参数对应的有效取值,判断改变后的参数集合是否与已生成的有效参数集合 不同,根据w下两种情况分别处理:
[0024] 若存在与已生成的有效参数集合均不同的参数集合,则将所述参数集合作为新的 有效参数集合,并继续生成新的参数集合;
[0025] 若不存在与已生成的有效参数集合均不同的参数集合,则结束处理并删除所述新 参数集合。
[0026] S104,当所述类型为无效业务数据集合时,生成其中一个参数为无效取值,其他参 数为任意有效取值的无效参数集合,所有生成的无效参数集合包含了各参数的无效取值, 且为无效取值的参数在不同的无效参数集合之间各不相同。
[0027] 为了生成无效业务数据集合,在具体的实现过程中,该步骤首先根据所述参数集 合中各参数所对应的无效取值生成多个新参数集合,所述多个新参数集合的数量与所述参 数集合所有参数对应的无效取值的数量相同;随后依次将所述多个新参数集合中的某一参 数设为与其对应的无效取值,并将各所述多个新参数集合中除所述某一参数之外的其他参 数赋予任一有效取值。
[0028] 需要指出的是,W上S102、S103及S104均是为了能够清楚的阐述"非空参数集 合"、"有效参数集合"及"无效业务数据集合"Η者的生成过程所加之标识,其先后次序对 于本领域技术人员来说是可W根据实际情况进行置换或去除,送并不影响本申请的保护范 围。
[0029] 为了进一步阐述本申请的技术思想,现结合如图2所示的处理流程,对本申请的 技术方案进行说明。
[0030] 首先,在本申请具体实施例的技术方案中设置如下3个模块:
[0031] (1)基础数据定义模块
[0032] 该模块用于对当前常用的数据类型进行抽象和定义,包含要产生等价类数据的一 些必要描述。举例如下:
[0033] struct cha;r_test {int length, char (3) type};此处定义字符类型,包括字符串 的长度,字符串所允许的类型(1数字2字母3特殊字符,可W多选)。
[0034] struct digital_test {int length_Int, int length_decimal};此处定义的是常 规意义的数字类型,需要说明整数部分的长度及小数部分的长度。
[0035] struct enum_test {char name [100], struct enum_test*next}此处定义的是一 个枚举类型,所有枚举值通过单链表串在一起。
[0036] 似输入参数定义模块
[0037] 对于需要测试的接口,需要通过输入参数定义模块定义每个输入参数的类型、长 度,W及是否可控。需要定义的因素取决于基础数据的定义。定义完成后程序将送些实例 化的数据保存起来。
[00測 做巧Ij试数据生成模块
[0039] 此模块是整个方案中比较关键的模块,在此会固化每种基础数据类型对应的有效 及无效等价类测试数据,并根据测试原则生成各个参数的组合列表,最终生成一份完整的 测试数据。
[0040] W上面介绍的3类基础类型为例,对于长度为N的字符串类型,有效的等价类包括 长度为N的符合格式要求的字符串组合。无效的等价类包括长度为N+1的符合格式要求的 字符串、长度为N的不符合格式要求的字符串组合。而对于整数部分长度为N,小数部分长 度为Μ的数字,有效等价类是9****9. 9*蝴,其中整数部分长度为N,小数部分长度为M。无 效等价类分别是整数部分超长、小数部分超长W及0。对于枚举类,有效等价类是所有的枚 举值,有效等价类的数量是枚举的个数,无效的等价类是随机生成的字符串且和枚举值不 相同的字符。
[0041] 需要指出的是,虽然本申请实施例中模块的解释W及有效/无效等价类上Η 者为例进行了说明,但是有效/无效等价类所包括的类目并不仅限于此,本领域技术人员 可W在有效/无效取值的基础上进行其他的扩展,送并不影响本发明的保护范围。
[0042] 当能够生成单个数据的等价类测试数据后,即可开始生成组合测试数据。假设输 入参数有Ν个,W不同的类型进行区分,按照顺序生成测试用例的算法如下:
[0043] (1)非空测试用例的生成方式;循环Ν次,其中一个参数取值为空,其他参数随机 取一个有效等价类。
[0044] (2)有效业
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1