一种呈现测试用例的执行故障原因的方法及装置与流程

文档序号:16735959发布日期:2019-01-28 12:37阅读:278来源:国知局
一种呈现测试用例的执行故障原因的方法及装置与流程

本申请涉及自动化测试技术领域,特别是涉及一种呈现测试用例的执行故障原因的方法及装置。



背景技术:

在软件测试的过程中,测试人员通常需要对已开发出的软件进行测试,以检验该软件是否满足预期的需求或者弄清实际结果与预期结果之间的差别。在测试过程中,通过执行测试人员预先编写的测试用例,可以对测试过程中的某个测试阶段(如集成测试阶段、功能测试阶段等)进行测试,得到该测试阶段的测试报告,以便于测试人员根据该测试报告进行相应的分析处理。

如果在对某个测试阶段进行测试时,存在部分测试用例跳过,即该部分测试用例没有被执行,则在所生成的测试报告中,只能呈现具体是有哪些测试用例跳过,但是并不能呈现出该部分测试用例跳过的具体原因,这就使得对于开发人员或者测试用例不熟悉的测试人员等,无法根据该测试报告弄清具体是什么原因导致了该部分的测试用例发生跳过,比如,测试人员无法弄清测试用例是因为已开发的软件中存在部分功能未实现而发生跳过,还是因为测试用例未完成而导致测试用例发生跳过等,从而给部分测试人员以及开发人员等造成一定的困扰。



技术实现要素:

本申请实施例提供了一种呈现测试用例的执行故障原因的方法及装置,以使得测试用例发生执行异常后,能够呈现出该测试用例发生执行异常的具体原因。

第一方面,本申请实施例提供了一种呈现测试用例的执行故障原因的方法,所述方法包括:

确定目标测试用例,所述目标测试用例为测试过程中执行异常的测试用例;

记录所述目标测试用例的执行故障原因,所述执行故障原因使得所述目标测试用例在所述测试过程中发生执行异常;

呈现所述目标测试用例的执行故障原因。

在一些可能的实施方式中,所述目标测试用例具体为所述测试过程中未被执行的测试用例。

在一些可能的实施方式中,所述确定目标测试用例,包括:

检测测试过程中是否存在未被执行的测试用例;

将所述测试过程中未被执行的测试用例确定为目标测试用例。

在一些可能的实施方式中,所述记录所述目标测试用例的执行故障原因,包括:

利用装饰器记录所述目标测试用例的执行故障原因。

在一些可能的实施方式中,所述呈现所述目标测试用例的执行故障原因,包括:

响应于呈现所述目标测试用例的执行故障原因的触发操作,呈现所述目标测试用例的执行故障原因。

第二方面,本申请实施例还提供了一种呈现测试用例的执行故障原因的装置,所述装置包括:

确定单元,用于确定目标测试用例,所述目标测试用例为测试过程中执行异常的测试用例;

记录单元,用于记录所述目标测试用例的执行故障原因,所述执行故障原因使得所述目标测试用例在所述测试过程中发生执行异常;

呈现单元,用于呈现所述目标测试用例的执行故障原因。

在一些可能的实施方式中,所述目标测试用例具体为所述测试过程中未被执行的测试用例。

在一些可能的实施方式中,所述确定单元,包括:

检测子单元,用于检测测试过程中是否存在未被执行的测试用例;

确定子单元,用于将所述测试过程中未被执行的测试用例确定为目标测试用例。

在一些可能的实施方式中,所述记录单元,具体用于利用装饰器记录所述目标测试用例的执行故障原因。

在一些可能的实施方式中,所述呈现单元,具体用于响应于呈现所述目标测试用例的执行故障原因的触发操作,呈现所述目标测试用例的执行故障原因。

在本申请实施例的上述实现方式中,可以先确定测试过程中发生执行异常的测试用例,并将该部分测试作为目标测试用例,并且,可以记录该目标测试用例的执行故障原因,该执行故障原因也即使得目标测试用例在测试过程中发生执行异常的原因,在记录该执行故障原因后,呈现该目标测试用例的执行故障原因,可见,由于在目标测试用例发生执行故障后,及时的记录下了该目标测试用例发生执行故障的具体原因,并将其进行了呈现,因此,测试人员或者开发者等其他人员就可以基于所呈现的执行故障原因,明确目标测试用例发生执行故障的具体原因,从而便于测试人员能够基于该原因对目标测试用例或者测试过程中所需使用到的测试用例进行相应的调整。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本申请实施例中一种示例性应用场景示意图;

图2为本申请实施例中一种呈现测试用例的执行故障原因的方法流程示意图;

图3为目标测试用例的一示例性呈现结果示意图;

图4为本申请实施例中一种呈现测试用例的执行故障原因的装置结构示意图。

具体实施方式

发明人经研究发现,测试人员在对已开发的软件进行测试时,通常是通过执行相应的多个测试用例来完成对软件的测试。而现有的测试方案中,如果在对软件进行测试时存在部分测试用例发生跳过,则会在针对于此次测试过程所得到的测试报告中,呈现出具体哪些测试用例发生跳过,但是并不能呈现出导致该部分测试用例发生跳过的具体原因,这就使得对于开发人员或者测试用例不熟悉的测试人员等,无法根据该测试报告弄清具体是什么原因导致了该部分的测试用例发生跳过,从而给部分测试人员以及开发人员等造成一定的困扰。

基于此,本申请实施例提供了一种呈现测试用例的执行故障原因的方法,以使得测试用例发生执行异常后,能够呈现出该测试用例发生执行异常的具体原因。具体的,可以先确定测试过程中发生执行异常的测试用例,并将该部分测试作为目标测试用例,并且,可以记录该目标测试用例的执行故障原因,该执行故障原因也即使得目标测试用例在测试过程中发生执行异常的原因,在记录该执行故障原因后,呈现该目标测试用例的执行故障原因,可见,由于在目标测试用例发生执行故障后,及时的记录下了该目标测试用例发生执行故障的具体原因,并将其进行了呈现,因此,测试人员或者开发者等其他人员就可以基于所呈现的执行故障原因,明确目标测试用例发生执行故障的具体原因,从而便于测试人员能够基于该原因对目标测试用例或者测试过程中所需使用到的测试用例进行相应的调整。

举例来说,本申请实施例可以应用至图1所示的示例性应用场景。在该应用场景中,测试人员101可以在终端102上执行针对于待测试软件进行测试的触发操作;终端102可以响应该触发操作,开始对待测试软件进行测试,在测试过程中,终端102可以检测测试过程中发生执行异常的目标测试用例,确定存在部分测试用例发生执行异常,则可以将该部分测试用例作为目标测试用例,并及时记录下该目标测试用例的执行故障原因,该执行故障原因使得目标测试用例在测试过程中发生执行异常,然后,终端102可以将目标测试用例的执行故障原因在生成的测试报告中呈现给测试人员101。

需要说明的是,上述应用场景仅作为本申请实施例众多应用场景的其中一种示例,并不用于对本申请实施例的应用场景进行限定,本申请实施例可以适用于多种场景中。

为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合附图对本申请实施例中的各种非限定性实施方式进行示例性说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

参阅图1,图1示出了本申请实施例中一种呈现测试用例的执行故障原因的方法流程示意图,该方法具体可以包括:

s201:确定目标测试用例,该目标测试用例为测试过程中执行异常的测试用例。

可以理解,在测试人员对已开发的软件进行测试时,通常会执行多个不同的测试用例,若已开发的软件存在性能不完善或者所需执行的测试用例未完成等情况,可能会造成部分测试用例出现执行异常。在一种示例中,部分测试用例可能会发生跳过,也即在此次对软件所进行测的测试过程中,该部分测试用例没有被执行。而且,针对于这部分测试用例,测试人员通常需要重点关注,以确定该部分测试用例发生执行异常,具体是因为已开发的软件存在功能不完善的问题,还是因为该部分测试用例存在编写不完善的问题等。

基于此,本实施例中,会确定出测试过程中出现执行异常的测试用例,将其作为需要特别关注的目标测试用例。为了使得本实施例的方案更加形象化,本实施例中以测试过程中未被执行的测试用例作为目标测试用例为例进行详细说明。

在一种确定目标测试用例的示例性实施方式中,若目标测试用例为未被执行的测试用例,则可以检测过程中是否存在未被执行的测试用例,若检测到存在有未被执行的测试用例,则可以将该部分测试用例确定为目标测试用例。当然,在另一些可能的实施方式中,也可以是通过特定的程序设定,使得在测试用例未完成执行后,对该测试用例进行特殊标记,这样,基于对测试用例的特殊标记,即可从测试过程所需执行的多个测试用例中确定出该部分测试。

s202:记录目标测试用例的执行故障原因,该执行故障原因使得目标测试用例在测试过程中发生执行异常。

本实施例中,若确定存在目标测试用例,则表明测试过程中存储测试用例发生执行异常,则为了使得能够将该目标测试用例执行异常的原因呈现给测试人员或者其他人员,则可以记录该目标测试用例发生执行异常的原因。比如,导致目标测试用例发生执行异常的原因,可能是该目标测试用例本身不够完善,导致测试过程中无法执行;亦或是被测试的软件缺乏相应的功能;亦或是所设定的需要执行的测试用例中不应该包含该目标测试用例;亦或是存在其它已知的问题等。

实际应用中,为了尽量减少对现有测试程序的改动,在一种可能的实施方式中,可以是利用函数装饰器在已有的测试程序中添加记录目标测试用例的执行故障原因的功能,即在尽可能不改变原有测试程序的程序代码的情况下,添加记录目标测试用例的执行故障原因的功能,从而便于本申请技术方案的实施。

s203:呈现目标测试用例的执行故障原因。

可以理解,在已经记录目标测试用例的执行故障原因后,可以将该执行故障原因呈现给测试人员,以便测试人员能够基于该原因对目标测试用例或者测试过程中所需使用到的测试用例进行相应的调整。

在一种示例性的具体实施方式中,所记录的目标测试用例发生执行异常的执行故障原因,可以追加到测试用例的测试结果列表中,这样,在生成此次测试过程的测试报告时,通过将该测试结果存放到测试用例执行详情中,就可以在测试报告中呈现出该目标测试用例的执行故障原因(如跳过原因)。

可以理解的是,由于实际应用中也存在对测试用例较为熟悉的测试人员,因此对于这部分测试人员而言,在看到目标测试用例后,基于以往的实践经验也能确定出该目标测试用例发生执行异常的原因。基于此,在进一步的实施方式中,在呈现目标测试用例的执行故障原因时,可以是基于测试人员的操作,有选择的向测试人员进行执行故障原因的呈现。具体的,当测试人员需要查看目标测试用例的执行故障原因时,测试人员可以进行针对于呈现执行故障原因的触发操作,这样,终端响应于该触发操作,向测试人员呈现目标测试用例的执行故障原因。实际应用中,可以是将目标测试用例的标识与目标测试用例对应的执行故障原因可以同时呈现给用户。如图3所示,“测试用例1”为目标测试用例的标识,实际应用中也可以是用其它字符表示,“跳过原因:功能未实现”为“测试用例1”所标识的目标测试用例对应的执行故障原因,表征为被测试软件的功能未实现,导致该目标测试用例未被执行。其中,“0.0s”表征为执行该目标测试用例的耗时,“跳过”表征该目标测试用例的具体执行故障类型,也即为未被执行。

本实施例中,可以先确定测试过程中发生执行异常的测试用例,并将该部分测试作为目标测试用例,并且,可以记录该目标测试用例的执行故障原因,该执行故障原因也即使得目标测试用例在测试过程中发生执行异常的原因,在记录该执行故障原因后,呈现该目标测试用例的执行故障原因,可见,由于在目标测试用例发生执行故障后,及时的记录下了该目标测试用例发生执行故障的具体原因,并将其进行了呈现,因此,测试人员或者开发者等其他人员就可以基于所呈现的执行故障原因,明确目标测试用例发生执行故障的具体原因,从而便于测试人员能够基于该原因对目标测试用例或者测试过程中所需使用到的测试用例进行相应的调整。

此外,本申请实施例还提供了一种呈现测试用例的执行故障原因的装置。参阅图4,图4示出了本申请实施例中一种呈现测试用例的执行故障原因的装置结构示意图,该装置400包括:

确定单元401,用于确定目标测试用例,所述目标测试用例为测试过程中执行异常的测试用例;

记录单元402,用于记录所述目标测试用例的执行故障原因,所述执行故障原因使得所述目标测试用例在所述测试过程中发生执行异常;

呈现单元403,用于呈现所述目标测试用例的执行故障原因。

在一些可能的实施方式中,所述目标测试用例具体为所述测试过程中未被执行的测试用例。

在一些可能的实施方式中,所述确定单元401,包括:

检测子单元,用于检测测试过程中是否存在未被执行的测试用例;

确定子单元,用于将所述测试过程中未被执行的测试用例确定为目标测试用例。

在一些可能的实施方式中,所述记录单元402,具体用于利用装饰器记录所述目标测试用例的执行故障原因。

在一些可能的实施方式中,所述呈现单元403,具体用于响应于呈现所述目标测试用例的执行故障原因的触发操作,呈现所述目标测试用例的执行故障原因。

本实施例中,由于在目标测试用例发生执行故障后,及时的记录下了该目标测试用例发生执行故障的具体原因,并将其进行了呈现,因此,测试人员或者开发者等其他人员就可以基于所呈现的执行故障原因,明确目标测试用例发生执行故障的具体原因,从而便于测试人员能够基于该原因对目标测试用例或者测试过程中所需使用到的测试用例进行相应的调整。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-onlymemory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例和设备实施例而言,由于其基本相似于系统实施例,所以描述得比较简单,相关之处参见系统实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。

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