测试用例的自动生成方法和装置与流程

文档序号:12719330阅读:390来源:国知局
测试用例的自动生成方法和装置与流程

本申请涉及测试技术领域,尤其涉及一种测试用例的自动生成方法和装置。



背景技术:

测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

相关技术中,测试用例通常需要依靠开发人员、测试人员、业务对象等多方人员根据待测试软件的需求或者代码来归纳并编写。然而,在这样的实现方案中,每个待测试软件的测试用例都需要有多方人员进行多次讨论才能最终确定,效率低下。同时,由于项目进度以及资源匹配等因素的影响,编写的测试用例可能不够完整,存在遗漏。



技术实现要素:

有鉴于此,本申请提供一种测试用例的自动生成方法和装置,以解决编写测试用例效率低下,且不完整的问题。

具体地,本申请是通过如下技术方案实现的:

一种测试用例的自动生成方法,所述方法包括:

确定测试对象的属性特征;

生成所述属性特征对应的测试用例;

其中,不同属性特征对应不同功能的测试用例。

可选的,所述确定测试对象的属性特征的过程,包括:

从相关文件中获取所述测试对象的地址信息;或者

通过扫描所述测试对象代码中的预设字段获取所述测试对象的地址信息;

根据所述地址信息确定所述测试对象的属性特征是否包括跨网段通信。

可选的,当所述测试对象的属性特征包括跨网段通信时,所述属性特征对应的测试用例包括:ping测试用例以及丢包测试用例。

可选的,当所述属性特征包括数据库参数时,所述属性特征对应的测试用例包括:数据库连接测试用例以及数据库字段测试用例。

可选的,所述数据库参数包括:最大连接数、连接超时时间、主备切换信息、数据库字段信息。

一种测试用例的自动生成装置,所述装置包括:

属性确定单元,确定测试对象的属性特征;

用例生成单元,生成所述属性特征对应的测试用例;

其中,不同属性特征对应不同功能的测试用例。

可选的,所述属性确定单元,具体从相关文件中获取所述测试对象的地址信息;或者通过扫描所述测试对象代码中的预设字段获取所述测试对象的地址信息;并根据所述地址信息确定所述测试对象的属性特征是否包括跨网段通信。

可选的,当所述测试对象的属性特征包括跨网段通信时,所述属性特征对应的测试用例包括:ping测试用例以及丢包测试用例。

可选的,当所述属性特征包括数据库参数时,所述属性特征对应的测试用例包括:数据库连接测试用例以及数据库字段测试用例。

可选的,所述数据库参数包括:最大连接数、连接超时时间、主备切换信息、数据库字段信息。

由以上描述可以看出,本申请可以确定测试对象的属性特征,针对不同的属性特征可以自动生成不同的测试用例。整个过程无需人工归纳编写,可以提高测试效率,同时避免了测试用例的遗漏问题。

附图说明

图1是本申请一示例性实施例示出的一种测试用例的自动生成方法的流程示意图。

图2是本申请一示例性实施例示出的另一种测试用例的自动生成方法的流程示意图。

图3是本申请一示例性实施例示出的一种用于测试用例的自动生成装置的一结构示意图。

图4是本申请一示例性实施例示出的一种测试用例的自动生成装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应 于确定”。

图1是本申请一示例性实施例示出的一种测试用例的自动生成方法的流程示意图。

请参考图1,所述测试用例的自动生成方法可以应用在测试设备中,包括有以下步骤:

步骤101,确定测试对象的属性特征。

在本实施例中,所述测试对象通常为待测试的应用软件,所述测试对象的属性特征可以包括:是否为跨网段通信,当所述测试对象对应有进行通信的数据库时,所述测试对象的属性特征还可以包括:数据库参数,比如:数据库的最大连接数、连接超时时间、主备切换信息、数据库各个字段的信息等参数。

步骤102,生成所述属性特征对应的测试用例,其中,不同属性特征对应不同功能的测试用例。

在本实施例中,可以自动为测试对象生成其属性特征对应的测试用例。举例来说,当所述测试对象的属性特征包括跨网段通信时,可以生成ping测试用例以及丢包测试用例。当所述测试对象的属性特征包括数据库参数时,可以生成与数据库参数对应的测试用例,比如:生成用于测试连接超时的测试用例,生成用于测试数据库某字段长度的测试用例等。

由以上描述可以看出,本申请可以确定测试对象的属性特征,针对不同的属性特征可以自动生成不同的测试用例。整个过程无需人工归纳编写,可以提高测试效率,同时避免了测试用例的遗漏问题。

下面结合具体的实施方式来描述本申请的实现过程。

图2是本申请一示例性实施例示出的另一种测试用例的自动生成方法的流程示意图。

请参考图2,所述测试用例的自动生成方法可以应用在测试设备中,包括有以下步骤:

步骤201,从相关文件中获取测试对象的地址信息;或者通过扫描测试 对象代码中的预设字段获取测试对象的地址信息。

在本实施例中,所述测试对象通常为待测试的应用软件。所述测试对象的地址信息可以包括:服务器地址、数据库地址等,所述测试对象在上线运行后,往往需要与所述地址信息对应的设备进行通信。

当所述测试对象对应有相关文件时,可以从所述相关文件中获取测试对象的地址信息。其中,所述相关文件通常为保存有测试对象相关基本信息的文件,比如:txt文档等,所述相关文件可以由所述测试对象的开发人员进行设置编写。

当所述测试对象不存在对应的相关文件时,也可以扫描所述测试对象代码中的预设字段获取所述测试对象的地址信息。具体地,在软件代码中,地址信息,比如:IP地址,通常编写在字段“https://”之后,所以,在这种实现方式中,可以扫描测试对象代码中的“https://”字段,然后从“https://”字段后提取出所述测试对象的地址信息。

步骤202,根据所述地址信息确定所述测试对象的属性特征是否包括跨网段通信。

基于前述步骤201,在获取到所述测试对象的地址信息后,可以根据所述地址信息确定所述测试对象的属性特征是否包括跨网段通信。

在本实施例中,在获取到所述地址信息后,可以判断所述地址信息与测试对象的地址是否均在同一网段,如果所述地址信息与测试对象的地址均在同一网段,则可以说明测试对象与其他设备的通信过程均为同一网段内的通信,不涉及跨网段通信。如果所述地址信息与测试对象的地址不全在同一网段,则可以说明测试对象与其他设备的通信过程存在跨网通信的情况,可以确定所述测试对象的属性特征包括跨网段通信,执行步骤203。

步骤203,当所述测试对象的属性特征包括跨网段通信时,生成ping测试用例以及丢包测试用例。

在本实施例中,基于前述步骤202的确认结果,当所述测试对象的属性特征包括跨网段通信时,在本步骤中,生成与跨网段通信对应的测试用例, 比如:ping测试用例以及丢包测试用例。其中,ping测试用例用于测试测试对象的网络连接是否正常。丢包测试用例用于测试测试对象的通信过程中的丢包率,比如:可以随机生成一个100字节的报文,然后通过该报文测试丢包率。

当然,在实际应用中,当测试对象的属性特征包括跨网段通信时,还可以生成其他测试网络的测试用例,比如:与服务器通信耗时的测试用例等。当测试对象的属性特征不包括跨网段通信时,也可以生成ping测试用例,本申请对此不作特殊限制。

由以上描述可以看出,本申请可以通过测试对象的地址信息确定测试对象的属性特征是否包括跨网段通信,当测试对象的属性包括跨网段通信时,可以自动生成ping测试用例以及丢包测试用例等测试用例,以对测试对象的通信状况进行测试,整个过程无需人工归纳编写,效率较高,同时避免了测试用例的遗漏问题。

可选的,在本申请另一个实施例中,当测试对象对应有进行通信的数据库时,所述测试对象的属性特征通常还包括有:数据库参数。所述数据库参数主要包括两方面的参数,一方面为数据库连接相关参数,比如:数据库的最大连接数、数据库连接超时时间。数据库主备切换信息等。另一方面为数据库字段相关参数,比如:数据库某字段长度的信息、格式信息等。

在本实施例中,可以通过数据库的描述语言或配置信息确定与数据库连接相关的数据库参数,还可以从存储字段信息的位置获取与数据库字段相关的数据库参数,本申请在此不再一一赘述。

在本实施例中,当所述属性特征包括数据库参数时,所述属性特征对应的测试用例可以包括:数据库连接测试用例以及数据库字段测试用例。具体地,当所述数据库参数为数据库连接相关参数时,可以生成数据库连接测试用例,比如:超过数据库的最大连接数的测试用例、连接超时的测试用例、数据库切换的测试用例等。当所述数据库参数为数据线字段相关参数时,可以生成数据库字段测试用例。举例来说,假设数据库某字段规定的长度为8 字节,则针对该字段,可以生成长度为7字节以及9字节的测试用例。

由以上描述可以看出,本申请可以在确定测试对象的数据库参数后,可以自动生成数据库连接测试用例以及数据库字段测试用例,以实现对数据库的测试,整个过程无需人工归纳编写,效率较高,同时避免了测试用例的遗漏问题。

与前述测试用例的自动生成方法的实施例相对应,本申请还提供了测试用例的自动生成装置的实施例。

本申请测试用例的自动生成装置的实施例可以应用在测试设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在测试设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请测试用例的自动生成装置所在测试设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的测试设备通常根据该测试设备的实际功能,还可以包括其他硬件,对此不再赘述。

图4是本申请一示例性实施例示出的一种测试用例的自动生成装置的结构示意图。

请参考图4,所述测试用例的自动生成装置300可以应用在图3所示的测试设备中,包括有:属性确定单元301以及用例生成单元302。

其中,所述属性确定单元301,确定测试对象的属性特征;

所述用例生成单元302,生成所述属性特征对应的测试用例;

其中,不同属性特征对应不同功能的测试用例。

可选的,所述属性确定单元301,具体从相关文件中获取所述测试对象的地址信息;或者通过扫描所述测试对象代码中的预设字段获取所述测试对象的地址信息;并根据所述地址信息确定所述测试对象的属性特征是否包括跨网段通信。

可选的,当所述测试对象的属性特征包括跨网段通信时,所述属性特征 对应的测试用例包括:ping测试用例以及丢包测试用例。

可选的,当所述属性特征包括数据库参数时,所述属性特征对应的测试用例包括:数据库连接测试用例以及数据库字段测试用例。

可选的,所述数据库参数包括:最大连接数、连接超时时间、主备切换信息、数据库字段信息。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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