测试方法及装置、存储介质及电子设备与流程

专利2022-06-30  70


本公开涉及自动化测试技术领域,具体而言,涉及一种测试方法、测试装置、电子设备以及计算机可读存储介质。



背景技术:

触发器是提供给程序员和数据分析员来保证数据完整性的一种方法,通常包括事件、条件和动作三个部分。触发器的工作流程可以如下:当一个触发器的事件被触发时,若当前的触发器参数满足触发的条件,则执行触发器中的动作。

触发器的应用非常广泛,举例而言,作为一般游戏副本中最基本的逻辑单元,各种各样的触发器可以一起实现游戏副本中的逻辑处理功能。此外,在触发器的应用中,不可避免地会涉及到触发器的测试工作。现阶段该测试工作大多采用人工测试的方法,需要消耗大量的人力资源和工作时间,同时,还存在测试环境复杂多变,测试工作量大,测试周期长、以及测试结果难以判断等问题。

因此,需要提出一种可以实现简化测试环境、缩短测试周期,同时降低人力及时间消耗的测试方法。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开实施例的目的在于提供一种测试方法、测试装置、电子设备以及计算机可读存储介质,进而可以改善对触发器进行测试的过程中存在的需要消耗大量的人力资源和工作时间、测试环境复杂多变,测试工作量大,测试周期长、以及测试结果难以判断等问题。

根据本公开的第一方面,提供一种测试方法,包括:

初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果;

从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据;

当所述环境数据部署成功时,执行所述触发器的动作并采集数据;

将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。

在本公开的一种示例性实施例中,所述测试单元包含一个计时器;

所述部署测试对应的所述触发器所需的环境数据,包括:

执行对所述环境数据的部署操作,直至所述计时器记录的时间等于环境部署时间,其中,环境部署时间为部署所述数据所需的时间。

在本公开的一种示例性实施例中,所述方法还包括:

设定时间阈值;

当所述计时器记录的时间超过所述时间阈值时,停止对所述环境数据的部署,并将所述测试结果设置为测试不通过。

在本公开的一种示例性实施例中,所述测试单元包含一个计时器;

所述执行所述触发器的动作并采集数据,包括:

执行所述触发器的动作,同时开始计时;

当所述计时器记录的时间达到预设时间间隔时,采集执行所述触发器的动作所得到的数据,其中,所述预设时间间隔为从执行所述触发器的动作至采集数据所需的最短时间间隔。

在本公开的一种示例性实施例中,所述执行所述触发器的动作并采集数据,包括:

当通过一个第一所述测试单元的第一测试结果满足第二测试单元的触发信息时,执行所述第二测试单元对应的所述触发器的动作并采集数据,其中,所述触发信息包括所述触发器的条件及事件。

在本公开的一种示例性实施例中,所述将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中,包括:

当采集到的数据与预期数据一致时,将所述触发器的所述测试结果设置为测试通过并存储在所述测试结果队列中;

当采集到的数据与预期数据不一致或不完全一致时,将所述触发器的所述测试结果设置为测试不通过,并将所述测试结果及采集到的数据存储至所述测试结果队列中。

在本公开的一种示例性实施例中,所述方法还包括:

提取所述测试单元队列中队首的所述测试单元,并在该所述测试单元中测试对应的所述触发器;

将得到的所述测试结果存储至所述测试结果队列的队尾,并在所述测试单元队列中删除该所述测试单元,直至所述测试单元队列的队列长度为零。

根据本公开的第二方面,提供一种测试装置,包括:

初始化模块,用于初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果;

部署模块,用于从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据;

测试模块,用于当所述环境数据部署成功时,执行所述触发器的动作并采集数据;

对比模块,用于将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。

根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。

根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。

本公开示例性实施例可以具有以下部分或全部有益效果:

在公开示例实施方式所提供的测试方法中,首先,初始化测试单元队列和测试结果队列,其中,测试单元队列包括多个测试单元,每一个测试单元对应于一个触发器,在这些测试单元中对触发器进行测试,测试结果队列用于存储测试单元的测试结果;在测试单元队列和测试结果队列的初始化完成后,从测试单元队列中提取测试单元,并部署测试对应的触发器所需的环境数据;当环境数据部署成功时,执行触发器的动作并采集数据,并将采集到的数据与预期数据进行对比,得到测试结果并存储在测试结果队列中。一方面,在本公开示例性实施例所提供的测试方法中,通过部署测试单元所对应的触发器所需的环境数据,也即,使环境数据满足触发器执行相应动作的事件及条件,完成对触发器动作的测试,简化了测试的环境,提高了测试的效率。另一方面,该方法将采集到的测试数据与预期数据进行对比,从而得到测试结果。通过数据化的测试结果和自动判断流程可以解决测试结果难以判断的问题,且相比于基于人工经验的判断方法,得到的测试结果准确性更高,提高了触发器的测试质量和效率。同时,由于上述测试过程是自动化的,相比与人工测试的方法,减少了测试人员的数量,缩短了测试周期,节省了人力成本和时间成本,并且,使用统一的测试环境还可以解决因测试分工导致的测试环境复杂多样的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了可以应用本公开实施例的一种测试方法及装置的示例性系统架构的示意图;

图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;

图3示意性示出了根据本公开的一个实施例的测试方法的流程图;

图4示意性示出了根据本公开的一个具体应用场景的测试方法的测试流程组成框架示意图;

图5示意性示出了根据本公开的一个具体应用场景的测试方法中的一个测试单元的测试流程示意图;

图6示意性示出了根据本公开的一个具体应用场景的测试方法的测试流程整体示意图;

图7示意性示出了根据本公开的一个实施例的测试装置的框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

图1示出了可以应用本公开实施例的一种测试方法及装置的示例性应用环境的系统架构的示意图。

如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。

本公开实施例所提供的测试方法可以由终端设备101、102、103执行,相应的,测试装置也可以设置于终端设备101、102、103中。本公开实施例所提供的测试方法也可以由终端设备101、102、103与服务器105共同执行,相应地,测试装置可以设置于终端设备101、102、103与服务器105中。此外,本公开实施例所提供的测试方法还可以由服务器105执行,相应的,测试装置可以设置于服务器105中,本示例性实施例中对此不做特殊限定。

例如,在本示例实施方式中,在测试开始时,服务器105对测试单元队列和测试结果队列进行初始化,以便于在测试单元队列的多个测试单元中测试对应的触发器,并在测试结果队列中存储各测试单元的测试结果。初始化完成后,多个移动终端设备101、102、103从测试单元队列中提取测试单元,并部署对测试单元对应的触发器进行测试所需的环境数据。当环境数据部署成功时,执行对应触发器的动作并采集数据,并将采集到的数据与预期数据进行对比,得到测试结果,并存储在测试结果队列中。

图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图2所示,计算机系统200包括中央处理单元(cpu)201,其可以根据存储在只读存储器(rom)202中的程序或者从存储部分208加载到随机访问存储器(ram)203中的程序而执行各种适当的动作和处理。在ram203中,还存储有系统操作所需的各种程序和数据。cpu201、rom202以及ram203通过总线204彼此相连。输入/输出(i/o)接口205也连接至总线204。

以下部件连接至i/o接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至i/o接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。

触发器是提供给程序员和数据分析员来保证数据完整性的一种方法,通常包括事件、条件和动作三个部分。触发器的工作流程可以如下:当一个触发器的事件被触发,且当前参数满足触发条件时,执行触发器中的动作。

触发器的应用非常广泛,举例而言,作为一般游戏副本中最基本的逻辑单元,各种各样的触发器可以一起实现游戏副本中的逻辑处理功能。此外,在触发器的应用中,不可避免地会涉及到触发器的测试工作。

为了实现上述对触发器的测试工作,发明人尝试性地提出了以下两种方案:

第一种方法的主要思想为:将测试任务分配给多个测试人员,每个测试人员在各自的测试环境中对一个或者多个触发器进行测试,最后汇总所有测试人员的测试结果。

第二种方法的主要思想为:由同一个测试人员在同一测试环境中,按顺序对所有触发器进行测试,并以测试顺序为依据记录测试结果。

然而,经实践验证,上述两种方法存在以下问题:首先,在第一种方法中,测试流程所需的测试人员数量较多,这会带来较高的人力成本。并且,每个测试人员的测试环境不统一会造成测试环境复杂多变的问题。第二种方法虽然只需要一个测试人员,节约了人力成本,但由于整个测试流程全部由一个测试人员来完成,需要花费大量的工作时间,使得测试周期较长,从而增加了时间成本。此外,由于这两种方法都是采用人工测试的方式手动进行测试流程,测试结果的通过或不通过均需要根据测试人员的观察结果与经验来判断,但部分触发器的测试结果是难以通过观察得出明确结论的,并且,基于人工判断得出的测试结果也存在不准确的问题。

为了解决上述方法中存在的测试环境复杂多变,测试周期长,测试成本高、测试结果难以判断等问题,在本示例实施方式中,发明人又提出了一种新的技术方案,以下对本公开实施例的技术方案进行详细阐述:

本示例实施方式首先提供了一种测试方法。该测试方法可以应用于上述终端设备101、102、103中的一个或多个,也可以应用于上述服务器105,还可以应用于终端设备101、102、103与服务器105中。参考图3所示,该测试方法具体包括以下步骤:

步骤s310:初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果;

步骤s320:从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据;

步骤s330:当所述环境数据部署成功时,执行所述触发器的动作并采集数据;

步骤s340:将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。

在本示例实施方式所提供的测试方法中,一方面,通过部署测试单元所对应的触发器所需的环境数据,也即,使环境数据满足触发器执行相应动作的事件及条件,完成对触发器动作的测试,简化了测试的环境,提高了测试的效率。另一方面,该方法将采集到的测试数据与预期数据进行对比,从而得到测试结果。通过数据化的测试结果和自动判断流程可以解决测试结果难以判断的问题,且相比于基于人工经验的判断方法,得到的测试结果准确性更高,提高了触发器的测试质量和效率。同时,由于上述测试过程是自动化的,相比与人工测试的方法,减少了测试人员的数量,缩短了测试周期,节省了人力成本和时间成本,并且,使用统一的测试环境还可以解决因测试分工导致的测试环境复杂多样的问题。

下面,在另一实施例中,对上述步骤进行更加详细的说明。

在步骤s310中,初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果。

在本示例实施方式中,首先,初始化测试单元队列及测试结果队列,将需要进行测试的触发器存储在测试单元队列中,该测试单元队列由多个测试单元组成,且每个测试单元对应于一个触发器,也即,在每个测试单元中完成对应的触发器的测试工作。且在测试完成后,将得到的测试结果存储在测试结果队列中。

本示例实施方式所提供的测试方法可以应用于触发器的测试过程。该触发器由事件、条件和动作三个部分组成,其工作流程为:当一个触发器的事件被触发时,若当前的触发器参数满足触发的条件,则执行触发器中的动作,该过程表示此触发器被触发了一次。在本公开的测试方法中,举例而言,该触发器可应用于游戏领域,例如,可以作为游戏副本中最基本的逻辑单元,构成游戏副本中的逻辑处理功能。这样一来,游戏开发过程中的测试环节也即对构成游戏副本的触发器进行测试。需要说明的是,上述场景只是一种示例性说明,并不起限定作用,对于应用于其他领域的触发器使用该测试方法也属于本示例实施方式的保护范畴。

上述在测试单元中对相应的触发器进行测试的流程中,举例而言,测试单元可以由启动开关、测试流程及测试结果三个部分组成。启动开关为上述触发器的触发信息,由条件和事件共同构成,也即,在本测试方法中,可以将触发器的条件和事件简化为一个开关,从而达到简化测试环境的效果。测试流程包括测试对象及规则单元,测试对象为所要测试的触发器的动作,规则单元用于判断并得出测试结果。需要说明的是,上述对于测试单元的定义只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。

优选地,在本示例实施方式中,上述测试单元队列被初始化为测试单元数量为所要测试的触发器数量的队列,测试结果队列则被初始化为空队列。相应地,测试过程可以为:首先,取出测试单元队列队首的测试单元,在该测试单元中执行对对应触发器的测试流程并得到测试结果后,将得到的测试结果加入测试结果队列的队尾;接着,删除测试单元队列头部,并对测试单元队列进行长度判断,如果队列长度为0,则结束本次的测试流程。如果队列长度大于0,则继续取出测试单元队列的队首测试单元对触发器进行测试;重复执行上述步骤,直到测试单元队列长度为0,自动测试流程结束。需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。

在步骤s320中,从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据。

在本示例实施方式中,在完成上述对测试单元队列及测试结果队列的初始化工作后,依据一定的规则,从该测试单元队列中获取测试单元。举例而言,可以如步骤s310所述,当测试单元队列不为空时,依次从该测试单元队列中获取各测试单元,也可以同时获取多个测试单元,本示例实施方式对此不做特殊限定。

在本示例实施方式所提供的测试方法中,在提取测试单元后,为了在该测试单元中对触发器进行测试,还需要部署该触发器的测试环境所需要的环境数据。该环境数据为触发测试单元对应的触发器的动作的触发信息。也即,在进行测试时,需要部署测试环境,以确保触发器的动作被成功触发。上述为环境数据的部署过程,举例而言,可以如下:在测试单元中设置一个计时器,用于记录部署环境数据所用的时间;在对该计时器进行初始化之后,执行对环境数据的部署操作,直至计时器记录的时间等于环境部署时间,其中,环境部署时间为部署环境数据所需的时间。

优选地,在上述部署环境数据的过程中,还可以预先设置一个时间阈值,并在上述计时器记录的时间超过该时间阈值时,停止对环境数据的部署,并将测试结果设置为测试不通过。通过这样的方式,可以避免当一个测试单元的环境数据部署不成功时,在该测试单元耗费过长的时间,从而可以节约测试时间,提高测试效率。需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。

在步骤s330中,当所述环境数据部署成功时,执行所述触发器的动作并采集数据。

在本示例实施方式中,在对环境数据的部署成功后,将部署成功的环境数据传递至触发器,此时,触发器的触发信息被满足,上述测试单元中的启动开关被打开,执行触发器的动作并采集数据。该数据为执行触发器的动作所产生的数据,采集该数据的方法,举例而言,可以通过以下过程实现:在测试单元中设置一个计时器,用于记录等待采集数据所用的时间;初始化该计时器,执行触发器的动作,并同时开始计时;当计时器记录的时间达到预设时间间隔时,采集执行触发器的动作所得到的数据,其中,预设时间间隔为从执行触发器的动作至采集数据所需的最短时间间隔。需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。

此外,在本示例实施方式中,还可以将一个第一测试单元的第一测试结果作为另一个第二测试单元对应触发器的触发信息,并在当第一测试结果满足第二测试单元的触发信息时,执行第二测试单元对应的触发器的动作并采集数据。在这种情景中,将一个测试单元的测试结果作为另一个测试单元的启动开关,只需人工打开第一个测试单元的启动开关,就可以将整个流程自动执行下去,从而可以达到节约人力成本,缩短测试周期,提高测试效率的效果。需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。

在步骤s340中,将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。

在本示例实施方式中,通过步骤s310至s330中的流程采集到执行触发器动作产生的数据后,将采集到的数据与预期数据进行对比,得到测试结果,并将得到的该测试结果存储至测试结果队列中。该过程的具体实现,举例而言,可以如下:将采集到的数据与预期数据进行比较,当采集到的数据与预期数据一致时,将触发器的测试结果设置为测试通过并存储在所述测试结果队列中;当采集到的数据与预期数据不一致或不完全一致时,将触发器的测试结果设置为测试不通过。

优选地,当经过判断得到测试结果为不通过时,在将测试结果存储至测试结果队列的同时,将采集到的数据也存储至测试结果队列,以便于利用该数据对测试失败的原因进行分析。此外,通过数据化的测试结果和自动判断流程可以解决测试结果难以判断的问题,且相比于基于人工经验的判断方法,得到的测试结果准确性更高,提高了触发器的测试质量和效率。

需要说明的是,上述场景只是一种示例性说明,本示例实施方式的保护范畴并不以此为限。

下面,结合图4至图6所示的具体场景对本示例实施方式中的测试方法进行进一步的说明。

本具体应用场景所提供的测试方法中,对触发器的自动化测试流程的组成框架示意图如图4所示,由测试单元队列410和测试结果队列420组成。该测试单元队列由若干个测试单元依次排列组成。其中,每一个测试单元包括启动开关、测试流程及测试结果三个部分。启动开关是用于控制测试单元是否开始测试流程的开关。测试流程包括测试对象和规则单元。测试对象在本具体应用场景中为触发器的动作。规则单元包含有环境数据、计时器和预期数据,用于判断并得出测试结果。结果单元队列用于存储各个测试单元的测试结果数据。

在本具体应用场景中,在各个测试单元中进行对应触发器的测试流程,单个测试单元中的测试流程如图5所示,具体包括如下步骤:

在步骤s510中,开始测试流程。

在本具体应用场景中,启动开关是控制测试单元是否开始测试流程的开关,在测试开始前处于关闭状态,且该启动开关既可以人工开启,也可以由其他测试单元的测试结果来打开。当一个测试单元的启动开关被开启时,该测试单元能够完成由开始测试直至得出测试结果的完整测试流程。

通过使用启动开关的方式来控制测试过程的方式,可以将整个流程自动执行下去,从而可以达到节约人力成本,缩短测试周期,提高测试效率的效果。

在步骤s520中,部署环境数据。

在本具体应用场景中,对于触发器动作来说,环境数据是指让触发器动作成功执行所需的数据。也即,使得测试环境满足触发器的条件及事件。在该步骤中进行的即为该环境数据的部署工作。

在步骤s530中,通过计时器对环境数据的部署时间进行计时。

在本具体应用场景中,通过上述规则单元中的计时器来判断环境数据部署工作是否完成,具体实现如下:对该计时器进行初始化,并利用该计时器记录部署环境数据所用的时间,当计时器记录的时间小于环境数据部署时间时,跳转至步骤s520中,直至计时器记录的时间等于环境部署时间,其中,环境部署时间为部署环境数据所需的时间。

在上述部署环境数据的过程中,还可以预先设置一个时间阈值,并在上述计时器记录的时间超过该时间阈值时,停止对环境数据的部署,并将测试结果设置为测试不通过。通过这样的方式,可以避免当一个测试单元的环境数据部署不成功时,在该测试单元耗费过长的时间,从而可以节约测试时间,提高测试效率。

在步骤s540中,环境数据部署完成。

在本具体应用场景,当上述计时器记录的时间达到环境数据部署时间时,环境数据部署完成,将部署完成的环境数据传递至触发器。

在步骤s550中,执行触发器的动作。

在本具体应用场景中,当环境数据部署成功时,触发器的触发信息被满足,测试流程开始执行触发器的动作。

在步骤s560中,触发器执行动作。

在步骤s570中,使用计时器对数据采集的时间计时。

在本具体应用场景中,上述计时器还可以用于记录等待采集数据所用的时间,数据采集的具体实现如下:初始化该计时器,执行触发器的动作,并同时开始计时,当计时器中所记录的等待时间未达到预设时间间隔时,跳转至步骤s560;当计时器记录的时间达到预设时间间隔时时,跳转至步骤s580,其中,预设时间间隔为从执行触发器的动作至采集数据所需的最短时间间隔。

在步骤s580中,采集触发器执行动作得到的数据。

在步骤s590中,将采集到的数据与预期数据进行对比,

在本具体应用场景中,预期数据存储于规则单元中,是与采集数据一一对应的数据,通过对比预期数据和采集数据,可以得出此触发器动作执行是否符合测试的预期。当预期数据和采集数据的对比结果完全一致时,跳转至步骤s591;当对比结果不一致或者不完全一致时,跳转至步骤s592。

在步骤s591中,返回通过测试的结果标志。

在步骤s592中,返回未通过测试的结果标志。

此外,本具体应用场景所提供的测试方法,可以通过初始化一个测试单元队列及一个测试结果队列来依次对各个测试单元执行上述图5所示的测试流程,具体流程如图6所示,包括以下步骤:

在步骤s610中,提取出测试单元队列中队首的测试单元。

在步骤s620中,依照步骤s510至s592中的流程执行提取出的测试单元。

在步骤s630中,返回执行测试单元得到的如步骤s591或步骤s592中的测试结果。

在步骤s640中,将测试单元返回的测试结果加入至测试结果队列的队尾,且当测试结果失败时,将返回的采集数据也存储至测试结果队列中。

在步骤s650中,删除测试单元队列队首的测试单元,并对测试单元队列进行长度判断,当队列长度为0时,跳转至步骤s660;当队列长度大于0时,则跳转至步骤s610。

在步骤s660中,自动测试流程结束。

在本具体应用场景所提供的测试方法中,一方面,通过部署测试单元所对应的触发器所需的环境数据,也即,使环境数据满足触发器执行相应动作的事件及条件,完成对触发器动作的测试,简化了测试的环境,提高了测试的效率。另一方面,该方法将采集到的测试数据与预期数据进行对比,从而得到测试结果。通过数据化的测试结果和自动判断流程可以解决测试结果难以判断的问题,且相比于基于人工经验的判断方法,得到的测试结果准确性更高,提高了触发器的测试质量和效率。同时,由于上述测试过程是自动化的,相比与人工测试的方法,减少了测试人员的数量,缩短了测试周期,节省了人力成本和时间成本,并且,使用统一的测试环境还可以解决因测试分工导致的测试环境复杂多样的问题。

应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

进一步的,本示例实施方式中,还提供了一种测试装置。该测试装置可以应用于终端设备,也可以应用于服务器,还可以同时应用于终端设备以及服务器。参考图7所示,该测试装置700可以包括初始化模块710、部署模块720、测试模块730和对比模块740。其中:

初始化模块710可以用于初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果;

部署模块720可以用于从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据;

测试模块730可以用于当所述环境数据部署成功时,执行所述触发器的动作并采集数据;

对比模块740可以用于将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。

上述测试装置中各模块或单元的具体细节已经在对应的测试方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3~图6所示的各个步骤等。

需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。


技术特征:

1.一种测试方法,其特征在于,包括:

初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果;

从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据;

当所述环境数据部署成功时,执行所述触发器的动作并采集数据;

将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。

2.根据权利要求1所述的测试方法,其特征在于,所述测试单元包含一个计时器;

所述部署测试对应的所述触发器所需的环境数据,包括:

执行对所述环境数据的部署操作,直至所述计时器记录的时间等于环境部署时间,其中,环境部署时间为部署所述数据所需的时间。

3.根据权利要求2所述的测试方法,其特征在于,所述方法还包括:

设定时间阈值;

当所述计时器记录的时间超过所述时间阈值时,停止对所述环境数据的部署,并将所述测试结果设置为测试不通过。

4.根据权利要求1所述的测试方法,其特征在于,所述测试单元包含一个计时器;

所述执行所述触发器的动作并采集数据,包括:

执行所述触发器的动作,同时开始计时;

当所述计时器记录的时间达到预设时间间隔时,采集执行所述触发器的动作所得到的数据,其中,所述预设时间间隔为从执行所述触发器的动作至采集数据所需的最短时间间隔。

5.根据权利要求1所述的测试方法,其特征在于,所述执行所述触发器的动作并采集数据,包括:

当通过一个第一所述测试单元的第一测试结果满足第二测试单元的触发信息时,执行所述第二测试单元对应的所述触发器的动作并采集数据,其中,所述触发信息包括所述触发器的条件及事件。

6.根据权利要求4所述的测试方法,其特征在于,所述将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中,包括:

当采集到的数据与预期数据一致时,将所述触发器的所述测试结果设置为测试通过并存储在所述测试结果队列中;

当采集到的数据与预期数据不一致或不完全一致时,将所述触发器的所述测试结果设置为测试不通过,并将所述测试结果及采集到的数据存储至所述测试结果队列中。

7.根据权利要求1所述的测试方法,其特征在于,所述方法还包括:

提取所述测试单元队列中队首的所述测试单元,并在该所述测试单元中测试对应的所述触发器;

将得到的所述测试结果存储至所述测试结果队列的队尾,并在所述测试单元队列中删除该所述测试单元,直至所述测试单元队列的队列长度为零。

8.一种测试装置,其特征在于,包括:

初始化模块,用于初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果;

部署模块,用于从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据;

测试模块,用于当所述环境数据部署成功时,执行所述触发器的动作并采集数据;

对比模块,用于将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。

10.一种电子设备,其特征在于,包括:

处理器;

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的方法。

技术总结
本公开提供一种测试方法及装置、电子设备、计算机可读存储介质,涉及自动化测试技术领域。所述测试方法包括:初始化测试单元队列和测试结果队列,其中,所述测试单元队列包括多个测试单元,在各所述测试单元中测试对应的触发器,所述测试结果队列用于存储所述测试单元的测试结果;从所述测试单元队列中提取所述测试单元,并部署测试对应的所述触发器所需的环境数据;当所述环境数据部署成功时,执行所述触发器的动作并采集数据;将采集到的数据与预期数据进行对比,得到所述测试结果并存储在所述测试结果队列中。本公开可以缩短测试周期,简化测试环境,并解决测试结果难以判断的问题。

技术研发人员:石伍昱
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2020.01.20
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-58804.html

最新回复(0)