[发明专利]基于领域知识的测试用例生成方法有效

专利信息
申请号: 201911022999.9 申请日: 2019-10-25
公开(公告)号: CN110765020B 公开(公告)日: 2023-03-24
发明(设计)人: 徐立华;汪庆顺;贺樑 申请(专利权)人: 上海笃策信息科技有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 上海蓝迪专利商标事务所(普通合伙) 31215 代理人: 徐筱梅;张翔
地址: 200335 上海市长*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于领域知识的测试用例生成方法,该方法分为约束记录步骤和测试生成步骤;约束记录步骤将测试输入数据的格式、范围、依赖关系等数据约束关系,以领域专用语言或数据表格等计算机可读的形式记录。特别关注输入数据之间的依赖关系,提供引用机制表达字段之间的依赖,同时提供一种机制表达在不同情景下的期望输出。在测试生成步骤采用迭代的方式生成符合所记录的数据约束关系的若干条数据,并为每条数据构造相应的测试样例程序。采用这种方法可以高效而且全面地生成大量测试样例,减少大量重复的人工劳动,有效地提高软件测试环节的效率,保障软件的质量。
搜索关键词: 基于 领域 知识 测试 生成 方法
【主权项】:
1.一种基于领域知识的测试用例生成方法,其特征在于,该方法包括以下具体步骤:/n步骤1:约束记录/n以一种计算机可读的数据形式,记录针对待测软件的一组初始数据约束信息以及若干组期望测试结果信息;/n所述一组初始数据约束信息是若干条数据约束的集合;初始数据约束信息描述了待测软件能够正确接收的输入数据应该满足什么样的条件和限制,而每条数据约束描述了输入数据中的一个字段的数据应该满足的条件和限制;每条数据约束包括以下内容:/n1)本条数据约束所描述的字段的名称,或任何能够唯一地标识这一字段的信息;/n2)对该字段的数据类型的描述,所选的数据类型包括但不限于字符串、整型、浮点数、数组和字典;/n3)对该字段的取值的具体约束的描述,包括但不限于用正则表达式描述字符串类型的字段的数据应该符合的格式或用区间上下限限定浮点数类型的字段的数据的取值范围;在描述中能够包含对其他字段的值的引用,从而表达字段之间的依赖关系;/n记录若干组期望测试结果信息;每组期望测试结果信息包括一组输出数据约束信息,一组输出数据约束信息是若干条数据约束的集合;输出数据约束信息描述了待测软件在接收到满足该组期望测试结果信息所对应的测试数据约束信息所描述的条件和限制的输入数据后输出的数据应该满足的条件和限制,而每条数据约束描述了输出数据中的一个字段的数据应该满足的条件和限制;每条数据约束所包括的内容与所述一组初始数据约束信息中的数据约束所包括的内容相同;/n一组期望测试结果信息中包括或者不包括一组覆盖约束,一组覆盖约束是若干条数据约束的集合;当覆盖约束存在时,会在构建测试数据约束信息时被使用;覆盖约束描述了该组期望测试结果信息所对应的测试数据约束信息与初始数据约束信息之间的差异,其作用是使得生成的数据符合该组期望测试结果信息的测试目标;/n步骤2:测试生成/n以一组初始数据约束信息和若干组期望测试结果信息作为输入,为每组期望测试结果信息生成一组测试用例,每组测试用例的数量由用户指定;对每组期望测试结果信息执行以下子步骤:/n步骤2.1:构建测试数据约束信息/n构建该组期望测试结果信息所对应的测试数据约束信息;若该组期望测试结果信息不包括覆盖约束,则测试数据约束信息与初始数据约束信息相同;若包含覆盖约束,执行以下操作:/nⅰ)生成一组数据约束的集合A,内容与初始数据约束信息相同;/nⅱ)对覆盖约束中每条数据约束C,查看其对应的字段名称或唯一标识信息,若A中存在一条数据约束O,O对应的字段名称或唯一标识信息与C相同,则将O从A中移除;/nⅲ)将覆盖约束中的数据约束全部加入集合A;/n最后得到的集合A即是该组期望测试结果信息对应的测试数据约束信息;/n步骤2.2:数据生成/n以步骤2.1构建的测试数据约束信息作为输入,执行以下操作:/nⅰ)查看测试数据约束信息中的每条数据约束所描述的字段名称或唯一标识信息,为每个字段找到对应的数据约束;/nⅱ)查看每个字段,若该字段还没有被赋值,并且其对应的数据约束的内容当中不包含对其他的字段的值的引用,则随机生成一个满足该数据约束所描述的条件及限制的值,并将该值覆盖给该字段;/nⅲ)查看每个字段,若该字段还没有被赋值,并且其对应的数据约束的内容当中包含对其他的字段的值的引用,那么查看每一处引用,若该处引用所指向的字段已经被赋值,则修改数据约束,将数据约束的内容中表示该处引用的数据替换为其所指向的字段的值;/nⅳ)重复步骤ⅱ)、步骤ⅲ),直到每个字段都已被赋值;/nⅴ)将所有字段以及对应的赋值以待测软件能够识别的数据形式存储,称被存储的数据是一条测试数据;/nⅵ)重复步骤i)~步骤v),直到存储下来的测试数据的数量达到用户指定的数量;/n步骤2.3:用例生成/n以步骤2.2所生成的若干条测试数据作为输入,为每条测试数据生成一条对应的测试用例程序;为一条测试数据生成的测试用例程序时包括执行以下操作的代码:/nⅰ)将测试数据输入待测软件/n等待软件执行,获取软件的输出数据;/nⅱ)查看期望结果信息中的输出数据约束信息中的每条数据约束,若数据约束的内容中包含对其他字段的值的引用,则根据字段名称或唯一标识信息在测试数据或者本次输出数据中查找该处引用所指向的字段的值,并将数据约束的内容中标识该处引用的数据替换为该字段的值;/nⅲ)查看输出结果中的每个字段,根据字段名称或唯一标识信息在输出数据约束信息中查找得到该字段对应的数据约束,若该字段的值满足对应的数据约束所描述的条件及限制,则继续查看下一个字段;否则,执行用户事先指定的在测试不通过时执行的操作;/nⅳ)如果所有字段的值均满足对应的数据约束,执行用户事先指定的在测试通过时执行的操作。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海笃策信息科技有限公司,未经上海笃策信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201911022999.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top