一种功能测试案例的生成方法及装置的制造方法
【专利摘要】本申请公开的一种功能测试案例的生成方法和装置,获取测试规则信息、测试要素、以及测试要素对应的测试要素取值,然后针对测试规则信息生成对应的第一案例,再将获取的每一测试要素取值作为目标测试要素取值,与生成的第一案例包括的测试要素取值进行匹配,如果匹配失败,则利用未匹配成功的目标测试要素取值生成对应的第二案例,最后将第一案例和第二案例进行合并去重,生成案例列表。相比原来测试人员逐条编写案例,减少了案例的设计时间,进而提高了效率。
【专利说明】
-种功能测试案例的生成方法及装置
技术领域
[0001] 本申请设及功能测试领域,更具体地说,设及一种功能测试案例的生成方法及装 置。
【背景技术】
[0002] 功能测试是根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作 行为,W确定他们是否满足设计需求。功能测试是为了确保程序W期望的方式运行,而按功 能要求对软件进行的测试,通过对一个系统的所有特性和功能都进行测试确保符合需求和 规范。功能测试也叫黑盒测试或数据驱动测试,只需考虑需要测试的各个功能,不需要考虑 整个软件的内部结构W及代码,在程序接口进行测试,检测程序是否能在接收正确的输入 数据而产生正确的输出结果。
[0003] -般的,测试人员根据需求人为的设计出来功能测试案例,输入数据在预期结果 和实际结果之间进行测评。测试案例是指对软件产品进行测试数据、预期结果等信息进行 描述的文档。人为的设计功能测试案例,需要测试人员逐条编写,过程复杂繁琐,花费的时 间较长,效率低下。
【发明内容】
[0004] 有鉴于此,本申请提出一种功能测试案例的生成方法及装置,欲实现自动生成功 能测试案例,减少功能测试案例的设计时间,提高效率的目的。
[0005] 为了实现上述目的,现提出的方案如下:
[0006] -种功能测试案例的生成方法,包括:
[0007] 获取测试规则信息、测试要素、W及所述测试要素对应的测试要素取值;
[0008] 针对所述测试规则信息生成对应的第一案例;
[0009] 将获取的每一所述测试要素取值作为目标测试要素取值,与所述第一案例包括的 测试要素取值进行匹配,如果匹配失败,则利用未匹配成功的目标测试要素取值生成对应 的第二案例;
[0010] 将所述第一案例和所述第二案例进行合并去重,生成案例列表。
[0011] 优选的,所述测试规则信息包括:
[0012] 约束规则信息和逻辑规则信息,所述约束规则信息包括不同所述测试要素对应的 测试要素取值之间的对应关系,所述逻辑规则信息包括一个所述测试要素对应的N个测试 要素取值与另一个所述测试要素对应的M个测试要素取值之间的组合关系,N和M为正整数。 [001引优选的,所述针对所述巧聯规则信息生成对应的第一案例,包括:
[0014] 根据所述逻辑规则信息包括的所述组合关系确定第一测试要素的第一取值组合;
[0015] 判断所述第一测试要素对应的测试要素取值是否存在所述约束规则信息中,如果 存在,则确定与所述第一测试测试要素对应的测试要素取值存在对应关系的第二测试要素 对应的测试要素取值;
[0016] 针对未确定测试要素取值的第=测试要素,选取所述第=测试要素对应的测试要 素取值形成第二取值组合,如果选取的测试要素取值存在所述约束规则信息中,则需要保 障选取的测试要素取值对应的所述约束规则信息包含的其它测试要素对应的取值满足所 述约束规则;
[0017] 将所述第一取值组合、所述第二测试要素对应的测试要素取值和所述第二取值组 合进行组合形成所述第一案例。
[0018] 优选的,所述针对所述测试规则信息生成对应的第一案例,包括:
[0019] 根据每一所述约束规则信息包括的对应关系确定第四测试要素对应的测试要素 取值;
[0020] 针对未确定测试要素取值的第五测试要素,选取所述第五测试要素对应的测试要 素取值形成第=取值组合,如果选取的测试要素取值存在所述约束规则信息中,则需要保 障选取的测试要素取值对应的所述约束规则信息包含的其它测试要素对应的取值满足所 述约束规则;
[0021] 将所述第四测试要素对应的测试要素取值与所述第=取值组合进行组合形成所 述第一案例。
[0022] 优选的,所述利用未匹配成功的目标测试要素取值生成对应的第二案例,包括:
[0023] 针对未确定测试要素取值的第六测试要素,选取所述第六测试要素对应的测试要 素取值形成第=取值组合,如果选取的测试要素取值存在所述约束规则信息中,则需要保 障选取的测试要素取值对应的所述约束规则信息包含的其它测试要素对应的取值满足所 述约束规则;
[0024] 将所述目标测试要素取值与所述第四取值组合进行组合形成所述第二案例。
[0025] -种功能测试案例的生成装置,包括:
[0026] 规则获取单元,用于获取测试规则信息;
[0027] 要素获取单元,用于获取测试要素、W及所述测试要素对应的测试要素取值;
[0028] 第一案例生成单元,用于针对所述测试规则信息生成对应的第一案例;
[0029] 第二案例生成单元,用于将获取的每一所述测试要素取值作为目标测试要素取 值,与所述第一案例包括的测试要素取值进行匹配,如果匹配失败,则利用未匹配成功的目 标测试要素取值生成对应的第二案例;
[0030] 案例列表成成单元,用于将所述第一案例和所述第二案例进行合并去重,生成案 例列表。
[0031] 优选的,所述规则获取单元包括:
[0032] 约束规则获取单元,用于获取约束规则信息,所述约束规则信息包括不同所述测 试要素对应的测试要素取值之间的对应关系;
[0033] 逻辑规则获取单元,用于获取逻辑规则信息,所述逻辑规则信息包括一个所述测 试要素对应的N个测试要素取值与另一个所述测试要素对应的M个测试要素取值之间的组 合关系,N和M为正整数。
[0034] 优选的,所述第一案例生成单元包括:
[0035] 第一测试要素的取值单元,用于根据所述逻辑规则信息包括的所述组合关系确定 第一测试要素的第一取值组合;
[0036] 第二测试要素的取值单元,用于判断所述第一测试要素对应的测试要素取值是否 存在所述约束规则信息中,如果存在,则确定与所述第一测试要素对应的测试要素取值存 在对应关系的第二测试要素对应的测试要素取值;
[0037] 第=测试要素的取值单元,用于针对未确定测试要素取值的第=测试要素,选取 所述第=测试要素对应的测试要素取值形成第二取值组合,如果选取的测试要素取值存在 所述约束规则信息中,则需要保障选取的测试要素取值对应的所述约束规则信息包含的其 它测试要素对应的取值满足所述约束规则;
[0038] 案例生成第一子单元,用于将所述第一取值组合、所述第二测试要素对应的测试 要素取值和所述第二取值组合进行组合形成所述第一案例。
[0039] 优选的,所述第一案例生成单元包括:
[0040] 第四测试要素的取值单元,用于根据所述约束规则信息包括的对应关系确定第四 测试要素对应的测试要素取值;
[0041] 第五测试要素的取值单元,用于针对未确定测试要素取值的第五测试要素,选取 所述第五测试要素对应的测试要素取值形成第=取值组合,如果选取的测试要素取值存在 所述约束规则信息中,则需要保障选取的测试要素取值对应的所述约束规则信息包含的其 它测试要素对应的取值满足所述约束规则;
[0042] 案例生成第二子单元,用于将所述第四测试要素对应的测试要素取值与所述第= 取值组合进行组合形成所述第一案例。
[0043] 优选的,所述第二案例生成单元包括:
[0044] 第六测试要素的取值单元,用于针对未确定测试要素取值的第六测试要素,选取 所述第六测试要素对应的测试要素取值形成第=取值组合,如果选取的测试要素取值存在 所述约束规则信息中,则需要保障选取的测试要素取值对应的所述约束规则信息包含的其 它测试要素对应的取值满足所述约束规则;
[0045] 第二案例生成子单元,用于将所述目标测试要素取值与所述第四取值组合进行组 合形成所述第二案例。
[0046] 从上述的技术方案可W看出,本申请公开的功能测试案例的生成方法和装置,获 取测试规则信息、测试要素、W及测试要素对应的测试要素取值,然后针对测试规则信息生 成对应的第一案例,再将获取的每一测试要素取值作为目标测试要素取值,与生成的第一 案例包括的测试要素取值进行匹配,如果匹配失败,则针对未匹配成功的目标测试要素取 值生成对应的第二案例,最后将第一案例和第二案例进行合并去重,生成案例列表。相比原 来测试人员逐条编写案例,减少了案例的设计时间,进而提高了效率。
【附图说明】
[0047] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其他的附图。
[0048] 图1为本实施例公开的一种功能测试案例的生成方法的流程图;
[0049] 图2为本实施例公开的一种针对逻辑规则信息生成案例的方法的流程图;
[0050]图3为本实施例公开的一种针对约束规则信息生成案例的方法的流程图;
[0051 ]图4为本实施例公开的一种针对测试要素取值生成案例的方法的流程图;
[0052] 图5为本实施例公开的一种功能测试案例的生成装置的示意图;
[0053] 图6为本实施例公开的一种第一案例生成单元的示意图;
[0054] 图7为本实施例公开的另一种第一案例生成单元的示意图;
[0055] 图8为本实施例公开的一种第二案例生成单元的示意图。
【具体实施方式】
[0056] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。
[0057] 本申请公开的功能测试案例的生成方法和装置,实现根据测试规则、测试要素 、W 及测试要素对应的测试要素取值,自动生成功能测试案例,不需要测试人员人工逐条编写 案例,减少了功能测试案例的设计时间,提高了效率。
[0058] 本实施例公开一种功能测试案例的生成方法,参见图1所示,包括:
[0059] 步骤Sll:获取测试规则信息、测试要素、W及测试要素对应的测试要素取值。
[0060] 要素就是系统功能的基本单元,规则就是要素间的关联关系,描述多个要素之间 的关联性,体现业务规则中多个要素的约束或者组合。
[0061 ]步骤S12:针对测试规则信息生成对应的第一案例。
[0062] 步骤S13:将获取的每一测试要素取值作为目标测试要素取值,与第一案例包括的 测试要素取值进行匹配,如果匹配失败,则利用未匹配成功的目标测试要素取值生成对应 的第二案例。
[0063] 步骤S14:将第一案例和第二案例进行合并去重,生成案例列表。
[0064] 本实施例公开的功能测试案例的生成方法,根据测试规则、测试要素、W及测试要 素对应的测试要素取值,自动生成功能测试案例,不需要测试人员人工逐条编写案例,减少 了功能测试案例的设计时间,提高了效率。本方法将测试案例编写依据的业务规则划分为 测试要素和测试规则部分,W预先定义好的标准来表达着两部分内容,然后通过功能测试 案例的生成方法,自动生成功能测试案例。预先进行的标准化定义,保存了功能测试案例生 成过程中的中间资产,使得功能测试案例更加容易评审。实现功能测试案例设计的标准化, 实现功能测试案例设计思维具体化,实现功能测试案例生产自动化,W及业务规则公式化。
[0065] 测试规则信息包括:约束规则信息和逻辑规则信息,约束规则信息包括不同测试 要素对应的测试要素取值之间的对应关系,逻辑规则信息包括一个测试要素对应的N个测 试要素取值与另一个测试要素对应的M个测试要素取值之间的组合关系。例如约束规则信 息乂 :凭单(交易类别)凭单(支取方式r表示在交易类别(测试要素)取值为凭单(测试要素 取值)时,支取方式只能取值凭单。逻辑规则信息"凭单(交易类别)协议+浮动+牌告巧峰信 息)"代表生成的案例会将利率方式的"协议、浮动、牌告"运立个取值与交易类别的"凭单" 运个取值组合起来生成"凭单协议"、"凭单浮动"、"凭单牌告种取值组合。
[0066] 本实施例公开一种针对逻辑规则信息生成案例的方法,参见图2所示,包括:
[0067] 步骤S21:根据逻辑规则信息包括的组合关系确定第一测试要素的第一取值组合。
[0068] 逻辑规则信息包括一个测试要素对应的N个测试要素取值与另一个测试要素对应 的M个测试要素取值之间的组合关系。例如,逻辑规则信息"凭单(交易类别)协议+浮动+牌 告(利率方式r代表生成的案例会将利率方式的"协议、浮动、牌告"运=个取值与交易类别 的"凭单"运个取值组合起来生成"凭单协议"、"凭单浮动"、"凭单牌告种组合取值。 即根据逻辑规则信息"凭单协议+浮动+牌告",可W确定第一测试要素交易类别和利率方式 的第一取值组合"凭单协议"、"凭单浮动"和"凭单牌告个取值组合。
[0069] 步骤S22:判断第一测试要素取值是否存在约束规则信息中,如果存在,则确定与 第一测试要素对应的测试要素取值存在对应关系的第二测试要素对应的测试要素取值。
[0070] 确定"凭单协议"、"凭单浮动"、"凭单牌告种组合取值后,判断交易类别的 取值"凭单"和利率方式的取值"协议V'浮动"和"牌告"是否存在约束规则信息中。判断出 交易类别的取值"凭单"存在约束约束规则信息乂:凭单凭单"中,即交易类别取值为凭单 时,支取方式只能取值凭单,因此,确定与交易类别的取值"凭单"存在对应关系的支取方式 取值为"凭单"。即确定第二测试要素(支取方式)对应的测试要素取值为"凭单"。
[0071] 步骤S23:针对未确定测试要素取值的第=测试要素,选取第=测试要素对应的测 试要素取值形成第二取值组合,如果选取的测试要素取值存在约束规则信息中,则需要保 障选取的测试要素取值对应的约束规则信息包含的其它测试要素对应的取值满足所述约 束规则。
[0072] 执行步骤S21和S22后,支取方式、交易类别和利率信息的取值都已经确定,执行步 骤S23对于其他还未确定测试要素取值的测试要素,从每个测试要素对应全部测试要素取 值中任意选取一个测试要素取值形成取值组合,例如如果还未确定测试要素取值的测试要 素为测试要素 A和测试要素 B,其中测试要素 A对应的测试要素取值为Al和A2,从中任意选取 一个测试要素取值Al,测试要素 B对应的取值为Bl和B2,从中任意选取一个测试要素取值 B2,形成一个包含测试要素 B对应的测试要素取值Al, W及测试要素 A对应的测试要素取值 B2,的取值组合。如果选取的测试要素取值Al存在某个约束规则信息E中(测试要素 A对应的 测试要素取值为Al时,测试要素 B对应的测试要素取值只能为BI),则需要保障选取的测试 要素取值Al对应的约束规则信息E包含的其它测试要素 B对应的测试要素取值满足所述约 束规则,由于此时测试要素 B选取的测试要素取值是B2,因此,需要选取测试要素 B的测试要 素取值为B1。也可W是先确定任意一个测试要素的取值,例如,选取测试要素 A的任意一个 测试要素取值Al,判断选取的测试要素取值Al是否存在约束规则信息中,如果存在某个约 束规则信息E中(测试要素 A对应的测试要素取值为Al时,测试要素 B对应的测试要素取值只 能为BI),则确定与选取的测试要素取值Al存在对应关系的测试要素 B的测试要素取值BI; 如果不存在,则继续从剩下的未确定测试要素取值的测试要素中,选出一个测试要素邮角定 其测试要素取值,直到将所有的测试要素的测试要素取值都确定下来。
[0073] 步骤S24:将第一取值组合、第二测试要素对应的测试要素取值和第二取值组合进 行组合形成第一案例。
[0074] 本实施例公开一种针对约束规则信息生成案例的方法,参见图3所示,包括:
[0075] 步骤S31:根据每一约束规则信息包括的对应关系确定第四测试要素对应的测试 要素取值。
[0076] 约束规则信息包括不同测试要素对应的测试要素取值之间的对应关系,例如根据 约束规则信息乂:凭单凭单"确定交易类别取值为凭单,支取方式取值凭单。即第四测试要 素交易类别和支取方式的测试要素取值分别为凭单和凭单。
[0077] 步骤S32:针对未确定测试要素取值的第五测试要素,选取第五测试要素对应的测 试要素取值形成第=取值组合,如果选取的测试要素取值存在约束规则信息中,则需要保 障选取的测试要素取值对应的约束规则信息包含的其它测试要素对应的取值满足所述约 束规则。
[0078] 步骤S33:将第四测试要素取值与第=取值组合进行组合形成第一案例。
[0079] 本实施例公开一种针对测试要素取值生成案例的方法,参见图4所示,包括:
[0080] 步骤S41:针对未确定测试要素取值的第六测试要素,选取第六测试要素对应的测 试要素取值形成第=取值组合,如果选取的测试要素取值存在约束规则信息中,则需要保 障选取的测试要素取值对应的约束规则信息包含的其它测试要素对应的取值满足约束规 则;
[0081] 步骤S42:将目标测试要素取值与第四取值组合进行组合形成所述第二案例。
[0082] 本实施例公开一种功能测试案例的生成装置,参见图5所示,包括:
[0083] 规则获取单元11,用于获取测试规则信息。
[0084] 要素获取单元12,用于获取测试要素、W及测试要素对应的测试要素取值。
[0085] 第一案例生成单元13,用于针对测试规则信息生成对应的第一案例。
[0086] 第二案例生成单元14,用于将获取的每一测试要素取值作为目标测试要素取值, 与第一案例包括的测试要素取值进行匹配,如果匹配失败,则利用未匹配成功的目标测试 要素取值生成对应的第二案例。
[0087] 案例列表成成单元15,用于将第一案例和第二案例进行合并去重,生成案例列表。
[0088] 本实施例公开的功能测试案例的生成装置,根据测试规则、测试要素、W及测试要 素对应的测试要素取值,自动生成功能测试案例,不需要测试人员人工逐条编写案例,减少 了功能测试案例的设计时间,提高了效率。将测试案例编写依据的业务规则划分为测试要 素和测试规则部分,W预先定义好的标准来表达着两部分内容,然后通过功能测试案例的 生成装置,自动生成功能测试案例。预先进行的标准化定义,保存了功能测试案例生成过程 中的中间资产,使得功能测试案例更加容易评审。实现功能测试案例设计的标准化,实现功 能测试案例设计思维具体化,实现功能测试案例生产自动化,W及业务规则公式化。
[0089] 优选的,规则获取单元11包括:约束规则获取单元,用于获取约束规则信息,约束 规则信息包括不同测试要素对应的测试要素取值之间的对应关系;逻辑规则获取单元,用 于获取逻辑规则信息,逻辑规则信息包括一个测试要素对应的N个测试要素取值与另一个 测试要素对应的M个测试要素取值之间的组合关系。
[0090] 本实施例公开一种第一案例生成单元,参见图6所示,包括
[0091] 第一测试要素的取值单元131,用于根据逻辑规则信息包括的组合关系确定第一 测试要素的第一取值组合。
[0092] 第二测试要素的取值单元132,用于判断第一测试要素对应的测试要素取值是否 存在约束规则信息中,如果存在,则确定与第一测试要素对应的测试要素取值存在对应关 系的第二测试要素对应的测试要素取值。
[0093] 第=测试要素的取值单元133,用于针对未确定测试要素取值的第=测试要素,选 取第=测试要素对应的测试要素取值形成第二取值组合,如果选取的测试要素取值存在约 束规则信息中,则需要保障选取的测试要素取值对应的约束规则信息包含的其它测试要素 对应的取值满足约束规则。
[0094] 案例生成第一子单元134,用于将第一取值组合、第二测试要素对应的测试要素取 值和第二取值组合进行组合形成第一案例。
[00M]本实施例公开另一种第一案例生成单元,参见图7所示,包括:
[0096] 第四测试要素的取值单元135,用于根据约束规则信息包括的对应关系确定第四 测试要素对应的测试要素取值。
[0097] 第五测试要素的取值单元136,用于针对未确定测试要素取值的第五测试要素,选 取第五测试要素对应的测试要素取值形成第=取值组合,如果选取的测试要素取值存在约 束规则信息中,则需要保障选取的测试要素取值对应的约束规则信息包含的其它测试要素 对应的取值满足约束规则。
[0098] 案例生成第二子单元137,用于将第四测试要素对应的测试要素取值与第=取值 组合进行组合形成第一案例。
[0099] 本实施例公开一种第二案例生成单元,参见图8所示,包括:
[0100] 第六测试要素的取值单元141,用于针对未确定测试要素取值的第六测试要素,选 取第六测试要素对应的测试要素取值形成第=取值组合,如果选取的测试要素取值存在约 束规则信息中,则需要保障选取的测试要素取值对应的约束规则信息包含的其它测试要素 对应的取值满足约束规则。
[0101 ]第二案例生成子单元142,用于将目标测试要素取值与第四取值组合进行组合形 成所述第二案例。
[0102]本实施例公开了功能测试案例自动生成的具体过程,下表为测试要素、测试要素 对应的测试要素取值、W及测试规则信息。
[01031
[0104] 测试要素,如"交易种类",W及测试要素取值,如"凭单"、"不凭单"。测试规则包括 测试要素之间的关联关系,如乂:凭单凭单",表示交易类别取值为凭单时,支取方式取值 只能为凭单。"凭单协议+牌告+浮动",表示交易类别取值为凭单,利率方式为协议、牌告或 浮动,即"凭单协议"、"凭单牌告"、"凭单浮动",=种取值方式。
[0105] 自动生成功能测试案例的过程为,规则获取单元和要素获取单元分别获取测试规 则、巧聯要素、W及测试要素取值,即在上表中信息。
[0106] 第一案例生成单元针对逻辑规则生成对应的案例。针对逻辑规则生成案例时,会 判断逻辑规则包含的测试要素取值是否在其他约束规则中,如果在其他约束规则中,还需 要将相应的其他的测试要素取值确定为约束规则中的取值,比如交易类别取值"凭单",存 在约束规则乂:凭单凭单"中,因此支取方式取值都确定为"凭单"。
[0107]
[0108] 对于证件种类、通兑标志和机构信息=个未确定取值的测试要素,针对第一个案 例的证件种类的取值选择为"空",然后判断"空"不存在约束规则信息中,然后继续对下一 测试要素"通兑标识"取值进行选取,选取的取值为"不通兑",再然后判断"不通兑"存在约 束规则乂:不通兑开户机构"中,进而根据乂:不通兑开户机构"确定"机构信息"的取值为 "开户机构"。第二个案例和第=个案例的生成过程与第一个案例的生成过程类似,不再寶 述。。
[0109] 第一案例生成单元针对约束规则生成对应的案例。针对每一约束规则分别生成对 应的正案例和反案例。正案例是为了验证软件产品可W正常地完成某项功能而不会报错。 反案例是为了验证软件产品在遇到某种预先设定的不合规场景时,做出错误提示,并且不 再进行后续的处理。 rnnni
L〇111」上表中,第一个案例和第二个案例为针对约束规则"C:凭单凭单"分别生成的正 案例和反案例。第一个案例,首先根据约束规则乂:凭单凭单"确定交易类别和支取方式的 取值分别为"凭单"和"凭单"。对于未确定取值的证件种类、通兑标志、机构信息和利率方 式,首选选取证件种类的取值为"有效非空",然后判断"有效非空"不存在约束规则信息中, 然后继续对下一测试要素"通兑标识"取值进行选取,选取的取值为"通兑",再然后判断"通 兑"不存在约束规则中,再对测试要素"机构信息"的取值进行选取,选取的取值为"开户机 构",判断"开户机构"存在约束规则乂:不通兑开户机构"中,由于约束规则乂:不通兑开户 机构"表示的是通兑标识的取值为"不通兑"时,机构信息的取值只能为"开户机构",因此, 虽然"开户机称'存在约束规则信息中,但是,不影响"通兑标识"的取值,所W不用改变"通 兑标识"的取值,进而继续对"利率信息"的取值进行选取,选取的取值为"协议",判断"协 议"不存在约束协议信息中。第二个案例与第一个案例的生成过程只有在根据约束规则乂: 凭单凭单"确定交易类别和支取方式的取值时存在不同,对支取方式的取值取非得到取值 "凭印",后续过程第一案例过程相同。而针对约束规则乂 :不通兑开户机构"生成第四个和 第五个案例的过程类似,不再寶述。。第一案例生成单元针对逻辑规则生成对应的案例,W 及针对约束规则生成对应的案例可W同时进行,也可W是一先一后,本申请对此不做限定。 [0112]判断所有测试要素的所有取值是否都在已经生成的第一案例中,针对未覆盖到的 测试案例取值生成对应的第二案例。 「40 1
[0114」例如文易类别取值"小巧单"并小巧d给生成的巧一柔例中,上表中巧一个柔例刃 针对"不凭单"生成案例,第二个案例和第=个案例分别针对"凭单印"和"凭印"生成的案 例。其生成过程与第一案例中的案例生成过程类似,在此不再寶述。。
[0115] 将上述生成的所有第一案例和第二案例进行合并去重,得到案例列表。
[0116] 对于装置实施例而言,由于其基本相应于方法实施例,所W相关之处参见方法实 施例的部分说明即可。W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W 不是物理单元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的 需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不 付出创造性劳动的情况下,即可W理解并实施。
[0117] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另 一个实体或操作区分开来,而不一定要求或者暗示运些实体或操作之间存在任何运种实际 的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包 含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括 没有明确列出的其他要素,或者是还包括为运种过程、方法、物品或者设备所固有的要素。 在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素 的过程、方法、物品或者设备中还存在另外的相同要素。
[0118] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0119] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。 对运些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可W在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请 将不会被限制于本文所示的运些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
【主权项】
1. 一种功能测试案例的生成方法,其特征在于,包括: 获取测试规则信息、测试要素、以及所述测试要素对应的测试要素取值; 针对所述测试规则信息生成对应的第一案例; 将获取的每一所述测试要素取值作为目标测试要素取值,与所述第一案例包括的测试 要素取值进行匹配,如果匹配失败,则利用未匹配成功的目标测试要素取值生成对应的第 二案例; 将所述第一案例和所述第二案例进行合并去重,生成案例列表。2. 根据权利要求1所述的方法,其特征在于,所述测试规则信息包括: 约束规则信息和逻辑规则信息,所述约束规则信息包括不同所述测试要素对应的测试 要素取值之间的对应关系,所述逻辑规则信息包括一个所述测试要素对应的N个测试要素 取值与另一个所述测试要素对应的M个测试要素取值之间的组合关系,N和M为正整数。3. 根据权利要求2所述的方法,其特征在于,所述针对所述测试规则信息生成对应的第 一案例,包括: 根据所述逻辑规则信息包括的所述组合关系确定第一测试要素的第一取值组合; 判断所述第一测试要素对应的测试要素取值是否存在所述约束规则信息中,如果存 在,则确定与所述第一测试测试要素对应的测试要素取值存在对应关系的第二测试要素对 应的测试要素取值; 针对未确定测试要素取值的第三测试要素,选取所述第三测试要素对应的测试要素取 值形成第二取值组合,如果选取的测试要素取值存在所述约束规则信息中,则需要保障选 取的测试要素取值对应的所述约束规则信息包含的其它测试要素对应的测试要素取值满 足所述约束规则; 将所述第一取值组合、所述第二测试要素对应的测试要素取值和所述第二取值组合进 行组合形成所述第一案例。4. 根据权利要求2所述的方法,其特征在于,所述针对所述测试规则信息生成对应的第 一案例,包括: 根据每一所述约束规则信息包括的对应关系确定第四测试要素对应的测试要素取值; 针对未确定测试要素取值的第五测试要素,选取所述第五测试要素对应的测试要素取 值形成第三取值组合,如果选取的测试要素取值存在所述约束规则信息中,则需要保障选 取的测试要素取值对应的所述约束规则信息包含的其它测试要素对应的取值满足所述约 束规则; 将所述第四测试要素对应的测试要素取值与所述第三取值组合进行组合形成所述第 一案例。5. 根据权利要求1所述的方法,其特征在于,所述利用未匹配成功的目标测试要素取值 生成对应的第二案例,包括: 针对未确定测试要素取值的第六测试要素,选取所述第六测试要素对应的测试要素取 值形成第三取值组合,如果选取的测试要素取值存在所述约束规则信息中,则需要保障选 取的测试要素取值对应的所述约束规则信息包含的其它测试要素对应的取值满足所述约 束规则; 将所述目标测试要素取值与所述第四取值组合进行组合形成所述第二案例。6. -种功能测试案例的生成装置,其特征在于,包括: 规则获取单元,用于获取测试规则信息; 要素获取单元,用于获取测试要素、以及所述测试要素对应的测试要素取值; 第一案例生成单元,用于针对所述测试规则信息生成对应的第一案例; 第二案例生成单元,用于将获取的每一所述测试要素取值作为目标测试要素取值,与 所述第一案例包括的测试要素取值进行匹配,如果匹配失败,则利用未匹配成功的目标测 试要素取值生成对应的第二案例; 案例列表成成单元,用于将所述第一案例和所述第二案例进行合并去重,生成案例列 表。7. 根据权利要求6所述的装置,其特征在于,所述规则获取单元包括: 约束规则获取单元,用于获取约束规则信息,所述约束规则信息包括不同所述测试要 素对应的测试要素取值之间的对应关系; 逻辑规则获取单元,用于获取逻辑规则信息,所述逻辑规则信息包括一个所述测试要 素对应的N个测试要素取值与另一个所述测试要素对应的M个测试要素取值之间的组合关 系,N和M为正整数。8. 根据权利要求7所述的装置,其特征在于,所述第一案例生成单元包括: 第一测试要素的取值单元,用于根据所述逻辑规则信息包括的所述组合关系确定第一 测试要素的第一取值组合; 第二测试要素的取值单元,用于判断所述第一测试要素对应的测试要素取值是否存在 所述约束规则信息中,如果存在,则确定与所述第一测试要素对应的测试要素取值存在对 应关系的第二测试要素对应的测试要素取值; 第三测试要素的取值单元,用于针对未确定测试要素取值的第三测试要素,选取所述 第三测试要素对应的测试要素取值形成第二取值组合,如果选取的测试要素取值存在所述 约束规则信息中,则需要保障选取的测试要素取值对应的所述约束规则信息包含的其它测 试要素对应的取值满足所述约束规则; 案例生成第一子单元,用于将所述第一取值组合、所述第二测试要素对应的测试要素 取值和所述第二取值组合进行组合形成所述第一案例。9. 根据权利要求7所述的装置,其特征在于,所述第一案例生成单元包括: 第四测试要素的取值单元,用于根据所述约束规则信息包括的对应关系确定第四测试 要素对应的测试要素取值; 第五测试要素的取值单元,用于针对未确定测试要素取值的第五测试要素,选取所述 第五测试要素对应的测试要素取值形成第三取值组合,如果选取的测试要素取值存在所述 约束规则信息中,则需要保障选取的测试要素取值对应的所述约束规则信息包含的其它测 试要素对应的取值满足所述约束规则; 案例生成第二子单元,用于将所述第四测试要素对应的测试要素取值与所述第三取值 组合进行组合形成所述第一案例。10. 根据权利要求6所述的装置,其特征在于,所述第二案例生成单元包括: 第六测试要素的取值单元,用于针对未确定测试要素取值的第六测试要素,选取所述 第六测试要素对应的测试要素取值形成第三取值组合,如果选取的测试要素取值存在所述 约束规则信息中,则需要保障选取的测试要素取值对应的所述约束规则信息包含的其它测 试要素对应的取值满足所述约束规则; 第二案例生成子单元,用于将所述目标测试要素取值与所述第四取值组合进行组合形 成所述第二案例。
【文档编号】G06F11/36GK105955890SQ201610319543
【公开日】2016年9月21日
【申请日】2016年5月13日
【发明人】周子坚, 王文静, 李通, 姚庆芬, 高崇毅, 贾永洁, 马金钱
【申请人】中国建设银行股份有限公司