一种自动生成测试用例的方法和装置的制作方法

文档序号:6444246阅读:128来源:国知局
专利名称:一种自动生成测试用例的方法和装置的制作方法
一种自动生成测试用例的方法和装置技术领域
本申请涉及软件测试的技术领域,特别是涉及一种自动生成测试用例的方法和一种自动生成测试用例装置。
背景技术
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。不同类别的软件,测试用例是不同的。
需要注意到的是,在软件产品中,一些公共功能所占的比重越来越大。例如,校验逻辑类似的文本框,翻页组件,下拉选择框等公共功能;现有技术中,相似功能校验点的测试用例需要重复设计。例如,采用现有的测试用例生成方式,某软件产品A中有下拉选择框的功能,测试工程师在测试产品A时,需要去设计下拉选择框的测试用例。若另一个软件产品B中也有下拉选择框的功能,只是在一些选项,参数等属性上不同,测试工程师在测试产品B时,又需要根据业务特点去设计产品B下拉选择框模块的测试用例。并且,这种人工重复设计功能校验点的方式还容易导致功能校验点的遗漏。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种全新的自动生成测试用例的机制,用以快速自动生成测试用例,提升测试用例的编写效率。发明内容
本申请的目的是,提供一种自动生成测试用例的方法和装置,用以快速自动生成测试用例,提升测试用例的编写效率。
为了解决上述问题,本申请公开了一种自动生成测试用例的方法,具体可以包括:
预置标准测试用例库,所述标准测试用例库中包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中包括参数变量;
提取当前所需的测试用例模板,并接收用户针对对应参数变量输入的参数值;
根据所述测试用例模板和参数值生成测试用例。
优选的是,所述当前所需的测试用例模板可以包括:
用户选取的一个或多个基础功能节点下所有校验点的测试用例模板;
和/ 或,
用户选取的一个或多个基础功能节点下,其中一个或多个校验点的测试用例模板。
优选的是,所述参数变量具有标识,在提取当前所需的测试用例模板之后,所述的方法还可以包括:
根据所述参数变量的标识在所提取的测试用例模板定位对应的参数变量;
在测试平台展示所述测试用例模板中的参数变量。
优选的是,所述根据测试用例模板和参数值生成测试用例的步骤可以为:
将测试用例模板中的参数变量采用对应的参数值进行替换,生成对应的测试用例。
优选的是,所述提取的测试用例模板为多个,用户对应输入的参数值为多个,所述根据测试用例模板和参数值生成测试用例的步骤可以为:
分别将各测试用例模板中的参数变量采用对应的参数值进行替换,批量生成对应的多个测试用例。
优选的是,所述的方法,还可以包括:
输出所述测试用例。
本申请同时公开了一种自动生成测试用例的装置,具体可以包括:
标准测试用例库设置模块,用于预置标准测试用例库,所述标准测试用例库中包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中包括参数变量;
模板提取模块,用于提取当前所需的测试用例模板;
参数输入模块,用于接收用户针对对应参数变量输入的参数值;
用例生成模块,用于根据所述测试用例模板和参数值生成测试用例。
优选的是,所述当前所需的测试用例模板可以包括:
用户选取的一个或多个基础功能节点下所有校验点的测试用例模板;
和/ 或,
用户选取的一个或多个基础功能节点下,其中一个或多个校验点的测试用例模板。
优选的是,所述参数变量具有标识,所述的装置还可以包括:
参数变量定位模块,用于根据所述参数变量的标识在所提取的测试用例模板定位对应的参数变量;
参数变量展示模块,用于在测试平台展示所述测试用例模板中的参数变量;
其中,所述参数变量定位模块与模板提取模块相连,所述参数变量展示模块与参数输入模块相连。
优选的是,所述测试用例生成模块可以包括:
替换子模块,用于将测试用例模板中的参数变量采用对应的参数值进行替换;
组织子模块,用于将所述替换的参数值及测试用例模板中的其他内容组织成测试用例。
与现有技术相比,本申请包括以下优点:
本申请通过预置标准测试用例库,并在标准测试用例库的测试用例模板中植入参数变量进行参数化,使用时根据变量情况判断是否需要用户输入的参数值,如果是,将用户输入的参数值替换对应测试用例模板中的参数变量,生成符合实际需要(即用例内容符合被测功能点)的测试用例,即根据标准测试用例库中的测试用例模板和自定义参数,即可批量、快速自动生成所需基础功能校验点的测试,从而大大提升测试用例的设计及编写效率,同时基于完善的标准测试用例库也可有效避免功能校验点的遗漏,并能实现基础功能测试用例的高效复用。


图1是本申请的一种自动生成测试用例的方法实施例1的步骤流程图2是本申请的一种自动生成测试用例的方法实施例2的步骤流程图3是本申请的一种自动生成测试用例装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。
本申请的核心构思在于,通过预置标准测试用例库,并在标准测试用例库的测试用例模板中植入参数变量进行参数化,在使用时获取用户输入的参数值,将用户输入的参数值替换对应测试用例模板中的参数变量,生成符合实际需要(即测试用例内容符合被测功能点)的测试用例。
参照图1,其示出了本申请的一种自动生成测试用例的方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101、预置标准测试用例库;
在本申请实施例中,所述标准测试用例库中可以包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中可以包括参数变量。
在具体实现中,所述基础功能节点以及各基础功能节点下的校验点可以由相关技术人员根据实际需求任意设置,例如,设置文本框,翻页组件,下拉选择框等的基础功能节点,并在各基础功能节点下,尽可能全面设计完整的校验点,以避免测试设计上的遗漏,如设计输入字符长度、输入字符类型等校验点,然后针对每个校验点生成对应的测试用例模板,即每个校验点对应一个测试用例模板。本申请的标准测试用例库中,可以包括覆盖各种基础功能模块所需的校验点的测试用例模板。
应用本申请实施例,对于测试用例模板中需要经常修改的部分,根据业务特点会变化的部分,根据测试需求会变化的部分等可变部分,可以进行参数变量化的设置,以针对上述可变部分生成参数变量。所述参数变量即在参数化的过程中所设置的变量。例如,设置文本框基础功能节点下的输入长度范围限制的校验点的测试用例模板中,包含参数变量《文本框名称》,《最大值》,《最小值》。在实际中,(O)可以被认为是参数变量的标识,(O)表示的内容即可作为参数变量进行处理。
当然,上述参数变量的设置及表示方式均只用作示例,本领域技术人员根据实际情况任意设置均可,本申请对此无需加以限制。
步骤102、提取当前所需的测试用例模板,并接收用户针对对应参数变量输入的参数值;
在本申请的一种优选实施例中,所述当前所需的测试用例模板可以为一个,也可以为多个,具体可以包括:
用户选取的一个或多个基础功能节点下所有校验点的测试用例模板;
和/ 或,
用户选取的一个或多个基础功能节点下,其中一个或多个校验点的测试用例模板。
在具体实现中,当用户(通常为测试人员)选取基础功能节点后,可以由测试平台(如CTC,公共测试中心)定位用户所选择的基础功能节点下相应校验点的测试用例模板,根据所述参数变量的标识(如上例中的《》)从所述测试用例模板中提取出参数变量,并在平台的应用界面上以参数输入框的形式展示出对应的参数变量,以方便用户输入对应的参数值。例如,下拉选择框的基础功能节点中某校验点对应测试用例模板中的参数输入选项包括1:衣服,2:裤子,3:鞋子。这些参数输入选项因具体业务不同而有不同设置。如果测试用例模板中没有参数变量,则不需要用户输入对应的参数值。应用本实施例中,用户在各参数的输入框按照当前测试需求输入相应的参数值后,即可生成参数变量及参数值的对应关系,以便后续处理。
需要说明的是,所述测试用例模板中不仅包括参数变量,还可以包括其它属性信息,如当前校验点的优先级,当前校验点的重要程度,当前校验点的标题等;在实际中,所述标准测试用例库中的测试用例模板并不一定全是包含参数变量的测试用例模板,也可以包括不包含参数变量的测试用例模板,在这种情况下,应用本申请实施例,则直接根据所述测试用例模板生成对应的测试用例即可。
步骤103、根据所述测试用例模板和参数值生成测试用例。
通过将测试用例模板中的参数变量采用对应的参数值进行替换,即可生成对应的测试用例。
当所述提取的测试用例模板为多个,用户对应输入的参数值为多个时,则会分别将各测试用例模板中的参数变量采用对应的参数值进行替换,从而批量生成对应的多个测试用例。
在具体应用中,当用户针对参数变量输入了对应的参数值后,测试平台可以将对应的测试用例模板实例化成测试用例对象,并将测试用例对象中的参数变量替换成用户输入的对应的参数值,批量、自动化生成符合实际需要(即测试用例内容符合被测功能点)的参数化后测试用例,在实际中,所生成的测试用例可以输出到目标测试用例管理域(如用例管理工具等),也可以直接生成excel等文件。
参照图2,其示出了本申请的一种自动生成测试用例的方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201、预置标准测试用例库;所述标准测试用例库中包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中包括参数变量;所述参数变量具有对应的参数变量标识;
步骤202、提取当前所需的测试用例模板,根据参数变量标识在所提取的测试用例模板定位对应的参数变量;
步骤203、在测试平台展示所述测试用例模板中的参数变量,接收用户针对对应参数变量输入的参数值;
步骤204、将测试用例模板中的参数变量采用对应的参数值进行替换,生成对应的测试用例;
步骤205、将所述生成的测试用例按预设格式输出至指定位置。
为使本领域技术人员更好地理解本申请,以下通过一个具体示例进一步说明。
假设产品A中有文本框功能时,在CTC平台上设置有标准测试用例库,包含有文本框基础功能节点,在该基础功能节点下有对应校验点的测试用例模板,在测试用例模板中,带有参数变量为“《下拉选择框名称》”,“《输入长度最大值》”。
测试人员在设计产品A的文本框功能时,选择该文本框基础功能节点,系统获取到该基础功能节点中包含参数变量“《文本框名称》”,“《输入长度最大值》”,于是在CTC平台上展示这两个参数的输入框,用户对应输入参数值后,如输入“评论输入框”,“140个字”,CTC平台从标准测试用例库中读取出该测试用例生成一个测试用例对象,并将测试用例中的“《文本框名称》”和“《输入长度最大值》”分别替换为“评论输入框”和“ 140个字”后,和测试用例模板中的其它内容一起输出为测试用例,即得到符合测试评论输入框最大值场景的测试用例。
在具体实现中,如果测试用例模板中未设参数变量,则直接依据所述测试用例模板生成测试用例即可。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
再者,上述各个方法实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
参照图3,其示出了本申请的一种自动生成测试用例装置实施例1的结构框图,具体可以包括以下模块:
标准测试用例库设置模块301,用于预置标准测试用例库,所述标准测试用例库中包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中包括参数变量;
模板提取模块302,用于提取当前所需的测试用例模板;
参数输入模块303,用于接收用户针对对应参数变量输入的参数值;
用例生成模块304,用于根据所述测试用例模板和参数值生成测试用例。
在具体实现中,所述当前所需的测试用例模板可以包括:
用户选取的一个或多个基础功能节点下所有校验点的测试用例模板;
和/ 或,
用户选取的一个或多个基础功能节点下,其中一个或多个校验点的测试用例模板。
在本申请的一种优选实施例中,所述参数变量具有标识,所述的装置还可以包括以下模块:
参数变量定位模块,用于根据所述参数变量的标识在所提取的测试用例模板定位对应的参数变量;
参数变量展示模块,用于在测试平台展示所述测试用例模板中的参数变量;
其中,所述参数变量定位模块与模板提取模块302相连,所述参数变量展示模块与参数输入模块303相连。
应用本实施例,在模板提取模块302提取当前所需的测试用例模板后,可以通过参数变量定位模块根据所述参数变量的标识在所提取的测试用例模板定位对应的参数变量;再由参数变量展示模块在测试平台展示所述测试用例模板中的参数变量;然后由参数输入模块303接收用户针对对应参数变量输入的参数值。
作为本申请实施例具体应用的一种示例,所述测试用例生成模块304可以包括如下子模块:
替换子模块,用于将测试用例模板中的参数变量采用对应的参数值进行替换;
组织子模块,用于将所述替换的参数值及测试用例模板中的其他内容组织成测试用例。
在具体实现中,所述提取的测试用例模板为多个,用户对应输入的参数值为多个,所述测试用例生成模块还可以分别将各测试用例模板中的参数变量采用对应的参数值进行替换,以批量生成对应的多个测试用例。
更为优选实施例,本申请实施例还可以包括用例输出模块,用于输出所述测试用例。具体可以将所述生成的测试用例按预设格式输出至指定位置。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本申请所提供的一种自动生成测试用例的方法和一种自动生成测试用例装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种自动生成测试用例的方法,其特征在于,包括: 预置标准测试用例库,所述标准测试用例库中包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中包括参数变量; 提取当前所需的测试用例模板,并接收用户针对对应参数变量输入的参数值; 根据所述测试用例模板和参数值生成测试用例。
2.根据权利要求1所述的方法,其特征在于,所述当前所需的测试用例模板包括: 用户选取的一个或多个基础功能节点下所有校验点的测试用例模板; 和/或, 用户选取的一个或多个基础功能节点下,其中一个或多个校验点的测试用例模板。
3.根据权利要求1所述的方法,其特征在于,所述参数变量具有标识,在提取当前所需的测试用例模板之后,所述的方法还包括: 根据所述参数变量的标识在所提取的测试用例模板定位对应的参数变量; 在测试平台展示所述测试用例模板中的参数变量。
4.根据权利要求1或2或3所述的方法,其特征在于,所述根据测试用例模板和参数值生成测试用例的步骤为: 将测试用例模板中的参数变量采用对应的参数值进行替换,生成对应的测试用例。
5.根据权利要求1或2或3所述的方法,其特征在于,所述提取的测试用例模板为多个,用户对应输入的参数值为多个,所述根据测试用例模板和参数值生成测试用例的步骤为: 分别将各测试用例 模板中的参数变量采用对应的参数值进行替换,批量生成对应的多个测试用例。
6.根据权利要求1所述的方法,其特征在于,还包括: 输出所述测试用例。
7.一种自动生成测试用例的装置,其特征在于,包括: 标准测试用例库设置模块,用于预置标准测试用例库,所述标准测试用例库中包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中包括参数变量; 模板提取模块,用于提取当前所需的测试用例模板; 参数输入模块,用于接收用户针对对应参数变量输入的参数值; 用例生成模块,用于根据所述测试用例模板和参数值生成测试用例。
8.根据权利要求7所述的装置,其特征在于,所述当前所需的测试用例模板包括: 用户选取的一个或多个基础功能节点下所有校验点的测试用例模板; 和/或, 用户选取的一个或多个基础功能节点下,其中一个或多个校验点的测试用例模板。
9.根据权利要求8所述的装置,其特征在于,所述参数变量具有标识,所述的装置还包括: 参数变量定位模块,用于根据所述参数变量的标识在所提取的测试用例模板定位对应的参数变量; 参数变量展示模块,用于在测试平台展示所述测试用例模板中的参数变量; 其中,所述参数变量定位模块与模板提取模块相连,所述参数变量展示模块与参数输入模块相连。
10.根据权利要求7或8或9所述的装置,其特征在于,所述测试用例生成模块包括: 替换子模块,用于将测试用例模板中的参数变量采用对应的参数值进行替换; 组织子模块,用于将所述替换的参数值及测试用例模板中的其他内容组织成测试用例。 ·
全文摘要
本申请提供了一种自动生成测试用例的方法和装置,其中,所述的方法包括预置标准测试用例库,所述标准测试用例库中包括基础功能节点下各校验点的测试用例模板,所述测试用例模板中包括参数变量;提取当前所需的测试用例模板,并接收用户针对对应参数变量输入的参数值;根据所述测试用例模板和参数值生成测试用例。本申请能够快速自动生成测试用例,提升测试用例的编写效率。
文档编号G06F11/36GK103186457SQ20111045231
公开日2013年7月3日 申请日期2011年12月29日 优先权日2011年12月29日
发明者高翔, 阳景邦, 李楠楠 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1