一种测试用例生成方法及装置与流程

文档序号:12034509阅读:213来源:国知局
一种测试用例生成方法及装置与流程

本发明涉及测试技术领域,特别涉及一种测试用例生成方法及装置。



背景技术:

在测试工作中,对基本功能的覆盖验证是基础且重要的测试活动,且需要尽可能地提高测试覆盖度,即最大程度地覆盖基本功能测试点,避免测试点的遗漏。

进行测试之前,一般需要按照业务需求设计测试用例。现有的测试用例设计方法所设计出来的测试用例的覆盖度一般较低,且测试用例存在大量冗余,进而降低了测试质量。



技术实现要素:

本发明的目的是提供一种测试用例生成方法及装置,目的在于解决现有测试用例的覆盖度低和大量冗余导致测试质量低下的问题。

为解决上述技术问题,本发明提供一种测试用例生成方法,该方法包括:

获取测试维度项,所述测试维度项为预先利用等价类划分方法对测试维度进行划分得出包括有效等价类和无效等价类的集合;

利用笛卡尔乘积方法,根据各个所述测试维度项生成待选测试用例;

根据预设精简规则,去除冗余待选测试用例,得出最终测试用例。

可选地,所述根据预设精简规则,去除冗余待选测试用例,得出最终测试用例包括:

根据包括无效等价类只需单个测试用例覆盖、有效等价类互斥性及业务需求的精简规则,去除所述冗余待选测试用例,得出所述最终测试用例。

可选地,所述获取测试维度项包括:

获取根据预设等价划分规则对所述测试维度进行等价类划分得出包括所述有效等价类和所述无效等价类的所述测试维度项;

其中,所述预设等价划分规则为根据各个测试维度输入条件确定各个所述测试维度项的有效等价类数量和无效等价类数量的规则。

此外,本发明还提供了一种测试用例生成装置,该装置包括:

获取模块,用于获取测试维度项,所述测试维度项为预先利用等价类划分方法对测试维度进行划分得出包括有效等价类和无效等价类的集合;

测试用例生成模块,用于利用笛卡尔乘积方法,根据各个所述测试维度项生成待选测试用例;

精简模块,用于根据预设精简规则,去除冗余待选测试用例,得出最终测试用例。

可选地,所述精简模块包括:

去冗余单元,用于根据包括无效等价类只需单个测试用例覆盖、有效等价类互斥性及业务需求的精简规则,去除所述冗余待选测试用例,得出所述最终测试用例。

可选地,所述获取模块包括:

获取单元,用于获取根据预设等价划分规则对所述测试维度进行等价类划分得出包括所述有效等价类和所述无效等价类的所述测试维度项;

其中,所述预设等价划分规则为根据各个测试维度输入条件确定各个所述测试维度项的有效等价类数量和无效等价类数量的规则。

本发明所提供的一种测试用例生成方法及装置,通过获取测试维度项,上述测试维度项为预先利用等价类划分方法对测试维度进行划分得出包括有效等价类和无效等价类的集合;利用笛卡尔乘积方法,根据各个测试维度项生成待选测试用例;根据预设精简规则,去除冗余待选测试用例,得出最终测试用例。本申请利用等效类划分法对各个测试维度进行划分,可以减少测试用例的大量冗余,且根据精简规则进一步精简待选测试用例,使得最终测试用例的冗余较少;利用笛卡尔乘积来生成待选测试用例集,可以保证测试用例的覆盖度。测试用例的冗余较少和覆盖度较高,可以在有限的用例成本基础上提高测试覆盖度和测试质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的测试用例生成方法的一种具体实施方式的流程示意图;

图2为本发明实施例提供的测试用例生成装置的结构示意框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例提供的测试用例生成方法的一种具体实施方式的流程示意图,该方法包括以下步骤:

步骤101:获取测试维度项,上述测试维度项为预先利用等价类划分方法对测试维度进行划分得出包括有效等价类和无效等价类的集合。

可以理解,上述测试维度项有多个,其可以利用一定的等价划分规则将各个测试维度划分为包括有效等价类和无效等价类的集合。

作为一种具体实施方式,上述获取测试维度项的过程可以具体为:获取根据预设等价划分规则对所述测试维度进行等价类划分得出包括所述有效等价类和所述无效等价类的所述测试维度项;其中,所述预设等价划分规则为根据各个测试维度输入条件确定各个所述测试维度项的有效等价类数量和无效等价类数量的规则。

上述预设等价划分规则具体可以包括:

当测试维度输入条件规定了取值范围或数值个数时,可以将该测试维度的等价类确定为一个有效等价类和两个无效等价类。例如,当输入值是学生成绩,其范围是0~100,此时,可以将学生成绩这个测试维度的等价类确定为一个有效等价类和两个无线等价类。

当测试维度输入条件规定了输入值的集合或者规定了“必须如何”的条件时,可以将该测试维度的等价类确定为一个有效等价类和一个无效等价类。

当测试维度输入条件是一个布尔量时,可以将该测试维度的等价类确定为一个有效等价类和一个无效等价类。

当规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理时,可以将该测试维度的等价类确定为n个有效等价类和一个无效等价类。

当规定了输入数据必须遵守的规则时,可以将该测试维度的等价类确定为一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

当确知已划分的等价类中各元素在程序处理中的方式不同时,再将该等价类进一步的划分为更小的等价类。

依据上述等价划分规则对各个测试维度进行划分后,可以得出包括有效等价类和无效等价类的测试维度项。为了更好地介绍等价划分,下面将以io功能测试为例进行简要说明。参见下表1:

表1

如表1所示,io功能测试包括5个测试维度,分别为控制器数量、扩展柜数量、扩展柜类型、磁盘数量及运行io时间。根据业务需求及各个测试维度的输入条件,进行等价类划分。具体地,对于控制器数量来说,其最大支持数量为2,即取值范围为0至2,则可以分别取1、2作为有效等价类,3、4作为无效等价类。其它测试维度依次类推,在此不再赘述。

可以看出,利用等价类划分测试维度,可以避免测试用例的无效膨胀,减少测试用例的大量冗余。且明确测试用例的测试维度以及业务约束,可以提供测试用例的设计效率。

步骤102:利用笛卡尔乘积方法,根据各个所述测试维度项生成待选测试用例。

将各个测试维度等效划分为有效等价类和无效等价类后,可以基于笛卡尔乘积的原理,将各个测试维度项进行相乘,即将每一个测试维度项作为一个包括有效等价类和无效等价类的集合,利用笛卡尔乘积方法对多个集合进行相乘,得出大量的待选测试用例。

步骤103:根据预设精简规则,去除冗余待选测试用例,得出最终测试用例。

需要说明,上述预设精简规则可以包括但不限于无效等价类只需单个测试用例覆盖、有效等价类的互斥性及业务需求等精简规则。

无效等价类只需单个测试用例覆盖具体是指一个无效等价类只需一个测试用例覆盖即可,例如,对于表1控制器数量中的3个测试项,只需要从多个测试用例中任意保留一个测试用例即可。

有效等价类的互斥性具体是指对存在互斥的各个有效等价类进行筛选,例如,表1中的扩展柜数量为1时,磁盘数量无法达到96,故可以将磁盘数量为96的用例删除。

业务需求具体是指对于一些无需重点关注、业务上没有需求或测试成本较高的测试维度,有效等价类可以进行适当精简,例如,表1中的io运行时间,24小时运行时间较长,故可以覆盖较少用例,具体可以选择1小时即可。

作为一种具体实施方式,上述根据预设精简规则,去除冗余待选测试用例,得出最终测试用例的过程可以具体为:根据包括无效等价类只需单个测试用例覆盖、有效等价类互斥性及业务需求的精简规则,去除所述冗余待选测试用例,得出所述最终测试用例。

可以理解,可以只根据其中的某一个精简规则进行筛选,也可以根据对个精简规则进行筛选,在此不作限定。

本实施例所提供的测试用例生成方法,通过获取测试维度项,上述测试维度项为预先利用等价类划分方法对测试维度进行划分得出包括有效等价类和无效等价类的集合;利用笛卡尔乘积方法,根据各个测试维度项生成待选测试用例;根据预设精简规则,去除冗余待选测试用例,得出最终测试用例。该方法利用等效类划分法对各个测试维度进行划分,可以减少测试用例的大量冗余,且根据精简规则进一步精简待选测试用例,使得最终测试用例的冗余较少;利用笛卡尔乘积来生成待选测试用例集,可以保证测试用例的覆盖度。测试用例的冗余较少和覆盖度较高,可以在有限的用例成本基础上提高测试覆盖度和测试质量。

下面对本发明实施例提供的一种测试用例生成装置进行介绍,下文描述的一种测试用例生成装置与上文描述的一种测试用例生成方法可相互对应参照。

请参考图2,图2为本发明实施例提供的测试用例生成装置的结构示意框图,参见图2该装置可以包括:

获取模块21,用于获取测试维度项,上述测试维度项为预先利用等价类划分方法对测试维度进行划分得出包括有效等价类和无效等价类的集合;

测试用例生成模块22,用于利用笛卡尔乘积方法,根据各个测试维度项生成待选测试用例;

精简模块23,用于根据预设精简规则,去除冗余待选测试用例,得出最终测试用例。

作为一种具体实施方式,上述精简模块可以包括:

去冗余单元,用于根据包括无效等价类只需单个测试用例覆盖、有效等价类互斥性及业务需求的精简规则,去除冗余待选测试用例,得出最终测试用例。

作为一种具体实施方式,上述获取模块可以包括:

获取单元,用于获取根据预设等价划分规则对测试维度进行等价类划分得出包括有效等价类和无效等价类的测试维度项;

其中,上述预设等价划分规则为根据各个测试维度输入条件确定各个测试维度项的有效等价类数量和无效等价类数量的规则。

本实施例所提供的测试用例生成装置,该装置利用等效类划分法对各个测试维度进行划分,可以减少测试用例的大量冗余,且根据精简规则进一步精简待选测试用例,使得最终测试用例的冗余较少;利用笛卡尔乘积来生成待选测试用例集,可以保证测试用例的覆盖度。测试用例的冗余较少和覆盖度较高,可以在有限的用例成本基础上提高测试覆盖度和测试质量。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的测试用例生成方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1