测试方法及装置、端口生成方法及端口生成器和测试系统与流程

文档序号:11620486阅读:359来源:国知局
测试方法及装置、端口生成方法及端口生成器和测试系统与流程

本申请涉及测试技术领域,尤其涉及测试方法及装置、端口生成方法及端口生成器和测试系统。



背景技术:

随着无线设备中产品所涉及的业务的不断扩展,一个服务于业务的移动自动化测试工具,是更好地提升产品研发效率和提高产品质量的重要保证。产品在无线设备中常基于webview实现,而伴随着webview的交互场景日益复杂化,每次进行测试时所使用的测试用例数量较多,每个测试用例的执行时间较长,这对测试方法提出了较高的要求。

为了改善该问题,现有的一种方法为:在测试装置与无线设备之间增加测试框架服务器,通过测试框架服务器建立测试用例端与无线设备之间的会话连接,完成测试装置和无线设备之间的命令收发、数据传递等通信,实现测试装置中所有测试用例在所述无线设备上的执行。

具体的,测试装置向测试框架服务器发送会话连接请求,测试框架服务器根据无线设备的当前资源情况确定会话id(identity,标识),并基于该会话id建立测试装置与无线设备之间的一次性单会话连接。测试装置中的所有测试用例均基于该单会话连接与无线设备进行通信,以便在无线设备上执行测试装置中的所有测试用例,完成测试。

上述方法中,所有测试用例共用一个会话连接,多个测试用例中的每个测试用例进行连接请求时都需要等待,当其中一个用例执行链路较长,则始终独占整个测试框架服务器资源,使得基于上述方法的测试用例的执行效率较低。



技术实现要素:

为了提升测试用例的执行效率,本申请实施例提出了一种测试方法、测试装置、端口生成器和测试系统。

第一方面,本申请实施例提供了一种测试系统,包括处理器和存储器,所述存储器存储由所述处理器执行的程序指令,所述程序指令包括:

获取一个或多个测试用例的端口号,其中,所述一个或多个测试用例的端口号互不相同;

基于所述一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为所述一个或多个测试用例分别建立对应的一个或多个会话连接;

基于所述一个或多个测试用例的会话连接与所述无线设备进行通信,以在所述无线设备上执行所述一个或多个测试用例。

第二方面,本申请实施例提供了一种测试方法,所述方法包括:

获取一个或多个测试用例的端口号,其中,所述一个或多个测试用例的端口号互不相同;

基于所述一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为所述一个或多个测试用例分别建立对应的一个或多个会话连接;

基于所述一个或多个测试用例的会话连接与所述无线设备进行通信,以在所述无线设备上执行所述一个或多个测试用例。

可选地,所述获取一个或多个测试用例的端口号,包括:

对于一个或多个测试用例中的任一测试用例,确定当前连接数量;

判断所述当前连接数量是否超过测试框架服务器的连接上限;

若当前连接数量未超过测试框架服务器的连接上限,则选择一个可用端口的端口号作为所述任一测试用例的端口号。

可选地,所述判断所述当前连接数量是否超过测试框架服务器的连接上限之后,还包括:

若当前连接数量超过测试框架服务器的连接上限,则每隔预设时间段,重复执行确定当前连接数量,判断所述当前连接数量是否超过测试框架服务器的连接上限的步骤,直至选择一个可用端口的端口号作为所述任一测试用例的端口号。

可选地,所述获取一个或多个测试用例的端口号,包括:

对于一个或多个测试用例中的任一测试用例,向端口生成器发送所述任一测试用例的端口号获取请求;

接收所述端口生成器返回的响应消息,所述响应消息与所述任一测试用例的端口号获取请求对应;

确定所述响应消息中是否包括端口号;

若所述响应消息中包括端口号,则将所述响应消息中包括的端口号确定为所述任一测试用例的端口号。

可选地,所述确定所述响应消息中是否包括端口号之后,还包括:

若所述响应消息中不包括端口号,则每隔预设时间段,重复执行向端口生成器发送所述任一测试用例的端口号获取请求,接收所述端口生成器返回的响应消息,确定所述响应消息中是否包括端口号的步骤,直至确定所述响应消息中包括端口号,将所述响应消息中包括的端口号确定为所述任一测试用例的端口号。

可选地,所述基于所述一个或多个测试用例的会话连接与所述无线设备进行通信之后,还包括:

若存在执行结束的测试用例,则通过测试框架服务器关闭所述执行结束的测试用例的会话连接。

第三方面,本申请实施例提供了一种测试装置,所述装置包括:

获取模块,用于获取一个或多个测试用例的端口号,其中,所述一个或多个测试用例的端口号互不相同;

建立模块,用于基于所述获取模块获取的一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为所述一个或多个测试用例分别建立对应的一个或多个会话连接;

测试模块,用于基于所述建立模块建立的一个或多个测试用例的会话连接与所述无线设备进行通信,以在所述无线设备上执行所述一个或多个测试用例。

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

第一确定单元,用于对于一个或多个测试用例中的任一测试用例,确定当前连接数量;

判断单元,用于判断所述第一确定单元确定的当前连接数量是否超过测试框架服务器的连接上限;

选择单元,用于当所述判断单元判断当前连接数量未超过测试框架服务器的连接上限时,选择一个可用端口的端口号作为所述任一测试用例的端口号。

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

第一循环单元,用于当前连接数量超过测试框架服务器的连接上限时,每隔预设时间段,重复执行确定当前连接数量,判断所述当前连接数量是否超过测试框架服务器的连接上限的步骤,直至选择一个可用端口的端口号作为所述任一测试用例的端口号。

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

发送单元,用于对于一个或多个测试用例中的任一测试用例,向端口生成器发送所述任一测试用例的端口号获取请求;

接收单元,用于接收所述端口生成器返回的响应消息,所述响应消息与所述发送单元发送的任一测试用例的端口号获取请求对应;

第二确定单元,用于确定所述接收单元接收的响应消息中是否包括端口号;

第三确定单元,用于当所述第二确定单元确定响应消息中包括端口号时,将所述响应消息中包括的端口号确定为所述任一测试用例的端口号。

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

第二循环单元,用于当所述响应消息中不包括端口号时,每隔预设时间段,重复执行向端口生成器发送所述任一测试用例的端口号获取请求,接收所述端口生成器返回的响应消息,确定所述响应消息中是否包括端口号的步骤,直至确定所述响应消息中包括端口号,将所述响应消息中包括的端口号确定为所述任一测试用例的端口号。

可选地,所述装置,还包括:

关闭模块,用于当存在执行结束的测试用例时,通过测试框架服务器关闭所述执行结束的测试用例的会话连接。

第四方面,本申请实施例提供了一种端口生成方法,所述方法包括:

接收测试装置发送的端口号获取请求后,确定当前连接数量;

判断所述当前连接数量是否超过测试框架服务器的连接上限;

若当前连接数量未超过测试框架服务器的连接上限,则选择一个可用端口的端口号,并返回与所述端口号获取请求对应的响应消息,所述响应消息中包括选择的端口号。

可选地,所述判断所述当前连接数量是否超过测试框架服务器的连接上限之后,还包括:

若当前连接数量超过测试框架服务器的连接上限,则返回与所述端口号获取请求对应的响应消息,所述响应消息中不包括端口号。

第五方面,本申请实施例提供了一种端口生成器,所述端口生成器包括:

确定模块,用于接收测试装置发送的端口号获取请求后,确定当前连接数量;

判断模块,用于判断所述确定模块确定的当前连接数量是否超过测试框架服务器的连接上限;

返回模块,用于当所述判断模块判断当前连接数量未超过测试框架服务器的连接上限时,选择一个可用端口的端口号,并返回与所述端口号获取请求对应的响应消息,所述响应消息中包括选择的端口号。

可选地,所述返回模块,还用于当前连接数量超过测试框架服务器的连接上限时,返回与所述端口号获取请求对应的响应消息,所述响应消息中不包括端口号。

有益效果如下:

获取一个或多个测试用例的端口号;基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例,通过为每个测试用例建立独立的会话连接,基于对应的会话连接执行一个或多个测试用例,从而将测试用例与无线设备的会话相互隔离,不仅提高了测试框架服务器资源的高可用性,还避免共用会话的长时间连接使测试框架服务器资源耗尽进而引起宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

附图说明

下面将参照附图描述本申请的具体实施例,其中:

图1示出了本申请一实施例提供的一种测试方法的流程示意图;

图2示出了本申请另一实施例提供的一种端口生成方法的流程示意图;

图3示出了本申请另一实施例提供的另一种测试方法的流程示意图;

图4示出了本申请另一实施例提供的一种了测试装置所在终端、测试框架服务器、无线设备之间的数据流交互示意图;

图5示出了本申请另一实施例提供的另一种测试方法的流程示意图;

图6示出了本申请另一实施例提供的一种测试装置、端口生成器、测试框架服务器之间的端口分配情况;

图7示出了本申请另一实施例提供的一种测试装置的结构示意图;

图8示出了本申请另一实施例提供的一种获取模块的结构示意图;

图9示出了本申请另一实施例提供的另一种获取模块的结构示意图;

图10示出了本申请另一实施例提供的另一种获取模块的结构示意图;

图11示出了本申请另一实施例提供的另一种获取模块的结构示意图;

图12示出了本申请另一实施例提供的另一种测试装置的结构示意图;

图13示出了本申请另一实施例提供的一种端口生成器的结构示意图;

图14示出了本申请另一实施例提供的一种测试系统的结构示意图。

具体实施方式

为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。

目前基于一次性单会话连接的测试中,所有测试用例共用一个会话连接,多个测试用例中的每个测试用例进行连接请求时都需要等待,当其中一个用例执行链路较长,则始终独占整个测试框架服务器资源,使得测试用例的执行效率较低。为了提升测试用例的执行效率,本申请提出了一种测试方法,该测试方法可以获取一个或多个测试用例的端口号;基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例,通过为每个测试用例建立独立的会话连接,基于对应的会话连接执行一个或多个测试用例,从而将测试用例与无线设备的会话相互隔离,不仅提高了测试框架服务器资源的高可用性,还避免共用会话的长时间连接使测试框架服务器资源耗尽进而引起宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

结合上述实施环境,本实施例提供了一种测试方法。参见图1,本实施例提供的方法流程具体如下:

101:获取一个或多个测试用例的端口号,其中,一个或多个测试用例的端口号互不相同;

可选地,获取一个或多个测试用例的端口号,包括:

对于一个或多个测试用例中的任一测试用例,确定当前连接数量;

判断当前连接数量是否超过测试框架服务器的连接上限;

若当前连接数量未超过测试框架服务器的连接上限,则选择一个可用端口的端口号作为任一测试用例的端口号。

可选地,判断当前连接数量是否超过测试框架服务器的连接上限之后,还包括:

若当前连接数量超过测试框架服务器的连接上限,则每隔预设时间段,重复执行确定当前连接数量,判断当前连接数量是否超过测试框架服务器的连接上限的步骤,直至选择一个可用端口的端口号作为任一测试用例的端口号。

可选地,获取一个或多个测试用例的端口号,包括:

对于一个或多个测试用例中的任一测试用例,向端口生成器发送任一测试用例的端口号获取请求;

接收端口生成器返回的响应消息,响应消息与任一测试用例的端口号获取请求对应;

确定响应消息中是否包括端口号;

若响应消息中包括端口号,则将响应消息中包括的端口号确定为任一测试用例的端口号。

可选地,确定响应消息中是否包括端口号之后,还包括:

若响应消息中不包括端口号,则每隔预设时间段,重复执行向端口生成器发送任一测试用例的端口号获取请求,接收端口生成器返回的响应消息,确定响应消息中是否包括端口号的步骤,直至确定响应消息中包括端口号,将响应消息中包括的端口号确定为任一测试用例的端口号。

102:基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;

103:基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例。

可选地,基于一个或多个测试用例的会话连接与无线设备进行通信之后,还包括:

若存在执行结束的测试用例,则通过测试框架服务器关闭执行结束的测试用例的会话连接。

有益效果:

获取一个或多个测试用例的端口号;基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间一个或多个测试用例分别建立对应的一个或多个会话连接;基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例,通过为每个测试用例建立独自的会话连接,基于对应的会话连接执行一个或多个测试用例,从而将测试用例与无线设备的会话相互隔离,不仅提高了测试框架服务器资源的高可用性,还避免共用会话的长时间连接使测试框架服务器资源耗尽进而引起宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

结合上述实施环境,本实施例提供了一种端口生成方法。参见图2,本实施例提供的方法流程具体如下:

201:接收测试装置发送的端口号获取请求后,确定当前连接数量;

202:判断所述当前连接数量是否超过测试框架服务器的连接上限;

203:若当前连接数量未超过测试框架服务器的连接上限,则选择一个可用端口的端口号,并返回与所述端口号获取请求对应的响应消息,所述响应消息中包括选择的端口号。

可选地,所述判断所述当前连接数量是否超过测试框架服务器的连接上限之后,还包括:

若当前连接数量超过测试框架服务器的连接上限,则返回与所述端口号获取请求对应的响应消息,所述响应消息中不包括端口号。

有益效果:

接收测试装置发送的端口号获取请求后,确定当前连接数量;判断当前连接数量是否超过测试框架服务器的连接上限;若当前连接数量未超过测试框架服务器的连接上限,则选择一个可用端口的端口号,并返回与端口号获取请求对应的响应消息,响应消息中包括选择的端口号,使得不同段扩和获取请求对应一个端口号,便于测试装置根据不同的端口号为不同的测试用例建立单独的会话连接,提升测试用例的执行效率。

本申请提供的测试方法针对各个测试用例,即每个测试用例进行测试时均会执行本实施例提供的方法。然而当一个测试用例采用本申请提供的方法进行测试时,可能有其他一个或多个测试用例同时采用本方法进行测试,因此,可以存在同时有多个测试用例采用本申请提供的测试方法进行测试的情况发生,例如,若每个测试用例均通过对应的进程执行本申请提供的测试方法进行测试,则同时由多个进程分别执行本申请提供的测试方法,且进程的执行进度与对应测试用例的测试进度相关,各进度的执行进度可以相同,也可以不同。

另外,本申请提供的测试方法可以有2种实现形式,一种为由测试装置单独实现,一种为由测试装置和端口生成器共同实现,下面以2个实施例,分别对每种实现方式进行详细说明。

本实施例对由测试装置单独实现测试方法的方式进行详细说明。为了便于说明,本实施例仅以一个测试用例a为例进行描述,对于其他测试用例的实现可参见测试用例a的实现方式。测试用例a通过本实施例提供的测试方法进行测试时,部分其他测试用例可以与之同时采用本实施例提供的方法进行测试,即测试用例a与部分其他测试用例同时执行各步骤。测试用例a通过本实施例提供的测试方法进行测试时,部分其他测试用例也可以先于或后于其采用本实施例提供的方法进行测试,即测试用例a开始执行本实施例提供的测试方法时,部分其他用例已完成本实施例提供的测试方法的部分步骤,或者,测试用例a完成本实施例提供的测试方法的部分步骤时,部分其他用例开始执行实施例提供的测试方法。

参见图3,本实施例提供的测试方法流程具体如下:

301:测试用例a启动时,获取测试用例a的端口号;

其中,各测试用例的端口号互不相同;

获取测试用例a的端口号的具体实现方式,包括但不限于如下4个步骤:

步骤1:确定当前连接数量;

在进行测试的一个或多个测试用例中,每个测试用例均以自己的测试轨迹进行测试,即,按自己的测试开始时间、测试步骤等测试属性进行测试,因此,测试装置所在终端的连接数量随时间的不同而不断变化。每当有测试用例需要获取端口号时,均会确定此时的连接数量。

步骤2:判断当前连接数量是否超过测试框架服务器的连接上限,若当前连接数量未超过测试框架服务器的连接上限,则执行步骤3,若当前连接数量超过测试框架服务器的连接上限,则执行步骤4;

由于会话连接是通过测试框架服务器建立的,因此,测试框架服务器的连接上限对会话连接有直接影响。若当前连接数量未超过测试框架服务器的连接上限,则说明还可以与测试框架服务器建立会话连接,若当前连接数量超过测试框架服务器的连接上限,则说明不可以与测试框架服务器建立会话连接。

步骤2会根据测试装置所在终端当前的连接数量与测试框架服务器的连接上限之间的关系确定测试用例a端口号的具体获取方法。

步骤3:选择一个可用端口的端口号作为测试用例a的端口号;

执行本步骤的前提是当前连接数量未超过测试框架服务器的连接上限,此时,测试装置所在终端还可以与测试框架服务器建立会话连接。

步骤3的具体实现方式可以为:先随机生成一个端口号,再看该端口号对应的端口是否被其他进程占用,

(1)若该端口号对应的端口未被测试装置所在终端的其他进程占用,则说明该端口号对应的端口可用,将该端口号作为测试用例a的端口号。

(2)若该端口号对应的端口被测试装置所在终端的其他进程占用,则说明该端口号对应的端口不可用,重新生成一个端口号,看重新生成的端口号对应的端口是否被测试装置所在终端的其他进程占用,

●若重新生成的端口号对应的端口未被测试装置所在终端的其他进程占用,则将重新生成的端口号作为测试用例a的端口号。

●若重新生成的端口号对应的端口被测试装置所在终端的其他进程占用,则重复执行重新生成一个端口号,看重新生成的端口号对应的端口是否被测试装置所在终端的其他进程占用的步骤,直至找到一个可用端口的端口号作为测试用例a的端口号。

步骤4:将测试用例a的端口号获取次数加1,并在预设时间段后,再次获取测试用例a的端口号。

例如,再次确定当前连接数量,判断再次确定的当前连接数量是否超过测试框架服务器的连接上限;

(1)若再次确定的当前连接数量未超过测试框架服务器的连接上限,则选择一个可用端口的端口号作为测试用例a的端口号;

(2)若再次确定的当前连接数量超过测试框架服务器的连接上限,则重复执行将测试用例a的端口号获取次数加1,并在预设时间段后,再次确定当前连接数量,判断再次确定的当前连接数量是否超过测试框架服务器的连接上限的步骤,直至选择一个可用端口的端口号作为测试用例a的端口号。

执行上述4个步骤之后,会获取测试用例a的端口号。然而,在获取测试用例a的端口号的步骤执行时,其他测试用例也可能在对应进程中执行步骤301获取其他进程的端口号。因此,会出现多个测试用例同时获取对应端口号的情况。

如例子1,测试用例a通过进程a执行本实施例提供的方法获取测试用例a的端口号,同时测试用例b通过进程b执行本实施例提供的方法获取测试用例b的端口号。

再如例子2,测试用例c先通过进程c执行本实施例提供的方法获取测试用例c的端口号,但是其执行到步骤2时判断当前连接数量超过测试框架服务器的连接上限进而执行步骤4,在执行步骤4时,测试用例c的端口号获取次数加1,且在预设时间段后,再次获取测试用例c的端口号。在再次获取测试用例c的端口号的同时,测试用例a通过进程a执行本实施例提供的方法获取测试用例a的端口号。

对于多个测试用例同时获取端口号的情况,获取各测试用例端口号的实施方式,包括但不限于:按多个测试用例的端口号获取次数,从高到低依次获取多个测试用例的端口号。

其中,每个测试用例的端口号的获取方式可以通过上述步骤1至步骤4实现。

以上述例子2为例,若各测试用例的端口号获取次数的初始值均为0,由于测试用例c的端口号获取次数曾加1,则变为1,而测试用例a第一次实施本实施例提供的方法进行测试,因此,测试用例a的端口号获取次数为0。此时,先执行获取测试用例c端口号的步骤,在获取到测试用例c端口号,或者,测试用例c的端口号获取次数再次加1,且进入预设时间段的等待期后,再执行获取测试用例a的端口号的步骤。

302:基于测试用例a的端口号,通过测试框架服务器与无线设备之间为测试用例a建立对应的会话连接;

本步骤可以通过握手协议实现。例如:测试装置所在终端基于步骤301中获取的测试用例a端口号向测试框架服务器发送会话连接请求,测试框架服务器确定无线设备是否可用,无线设备的资源、服务是否充足,且在通过无线设备必要的校验之后,确定会话id,并基于该会话id在测试装置所在终端与无线设备之间建立会话连接a。此处建立的会话连接a仅为测试用例a的会话连接,对于其他测试用例,不能通过会话连接a与无线设备通信。

现有技术中所有测试用例均通过公用的会话连接进行通信,本实施例提供的方法中每个测试用例均通过独立的会话连接进行通信。本实施例提供的该种会话连接的建立方式相比于现有技术的方式具有更好的灵活性,可以提高测试框架服务器资源的可用性,提升测试用例执行的稳定性和可靠性。

303:基于测试用例a的会话连接与无线设备进行通信,以在无线设备上执行测试用例a;

例如,测试终端按测试用例a的测试描述,基于测试用例a的会话连接与无线设备进行通信,在无线设备上执行测试用例a,以测试无线设备相应的功能。

304:若存在执行结束的测试用例,则通过测试框架服务器关闭执行结束的测试用例的会话连接。

同步步骤301至304,可以为不同的测试用例确定不同的端口号,基于不同的端口号通过测试框架服务器与无线设备建立不同的会话连接,通过不同的会话连接执行不同测试用例,完成各自测试。并当任一测试用例执行结束后,仅关闭执行结束的测试用例的会话连接,而其他正在执行的测试用例的会话连接不关闭,实现不同测试用例的会话连接相互隔离,避免了所有测试用例始终共用一个会话连接造成的测试框架服务器资源无法释放,进而带来的测试框架服务器资源耗尽、宕机等现象的发生。

图4示出了测试装置所在终端、测试框架服务器、无线设备之间的数据流交互情况,其中,黑心粗箭头表示会话连接涉及的数据流,白心粗箭头表示测试用例执行涉及的数据流。

有益效果:

获取一个或多个测试用例的端口号;基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例,通过为每个测试用例建立独立的会话连接,基于对应的会话连接执行一个或多个测试用例,从而将测试用例与无线设备的会话相互隔离,不仅提高了测试框架服务器资源的高可用性,还避免共用会话的长时间连接使测试框架服务器资源耗尽进而引起宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

本实施例对由测试装置和端口生成器共同实现测试方法的方式进行详细说明,其中,端口生成器可以与测试装置位于同一终端中,也可以位于不同终端中。

为了便于说明,本实施例仍以一个测试用例a为例进行描述,对于其他测试用例的实现方式可参见测试用例a的实现方式。当然,测试用例a通过本实施例提供的测试方法进行测试时,部分其他测试用例可以与之同时采用本实施例提供的方法进行测试,也可以先于或后于其采用本实施例提供的方法进行测试。

参见图5,本实施例提供的方法流程具体如下:

501:测试装置当测试用例a启动时,向端口生成器发送测试用例a的端口号获取请求;

其中,测试用例a的端口号获取请求中包括但不限于:测试装置标识、测试用例a的标识等。

另外,测试用例a的端口号获取请求中包括测试用例a的端口号获取次数,是否包括测试用例a的端口号获取次数,可以根据测试用例a请求端口号的次数酌情确定。例如,若第一次向端口生成器发送测试用例a的端口号获取请求,则该端口号获取请求可以包括测试用例a的端口号获取次数,也可以不包括。若非第一次向端口生成器发送测试用例a的端口号获取请求,则该端口号获取请求必须包括测试用例a的端口号获取次数。

为了描述本实施例提供的测试方法的全部执行步骤,本实施例中,以步骤501中第一次向端口生成器发送测试用例a的端口号获取请求,且该端口号获取请求中不包括测试用例a的端口号获取次数,步骤509中非第一次向端口生成器发送测试用例a的端口号获取请求,且该端口号获取请求包括测试用例a的端口号获取次数为例进行具体说明。

502:端口生成器接收测试装置发送的端口号获取请求后,确定当前连接数量;

由于各个测试用例均在以自己的测试轨迹进行测试,因此,测试装置所在终端的连接数量随时间的不同而不断变化。每当接收到测试装置发送的端口号获取请求后,均会确定此时测试装置所在终端的连接数量。

具体的,若测试装置与端口生成器位于同一终端中,则端口生成器直接获取该终端的当前连接数量。若测试装置与端口生成器位于不同终端中,则端口生成器所在终端与测试装置所在终端进行通信,获取测试装置所在终端的当前连接数量。

503:端口生成器判断当前连接数量是否超过测试框架服务器的连接上限,若当前连接数量未超过测试框架服务器的连接上限,则执行步骤504,若当前连接数量超过测试框架服务器的连接上限,则执行步骤505;

由于会话连接是通过测试框架服务器建立的,因此,测试框架服务器的连接上限对会话连接有直接影响。若当前连接数量未超过测试框架服务器的连接上限,则说明还可以与测试框架服务器建立会话连接,若当前连接数量超过测试框架服务器的连接上限,则说明不可以与测试框架服务器建立会话连接。

步骤503中端口生成器会根据测试装置所在终端当前的连接数量与测试框架服务器的连接上限之间的关系确定步骤502接收到的端口号获取请求所对应的响应消息的具体方法。

504:端口生成器选择一个可用端口的端口号,并返回与端口号获取请求对应的响应消息,且该响应消息中包括选择的端口号;

执行本步骤的前提是当前连接数量未超过测试框架服务器的连接上限,此时,测试装置所在终端还可以与测试框架服务器建立会话连接。

步骤504的具体实现方式可以为:先随机生成一个端口号,再看该端口号对应的端口是否被测试装置所在终端的其他进程占用,

(1)若该端口号对应的端口未被测试装置所在终端的其他进程占用,则说明该端口号对应的端口可用,将该端口号作为选择的端口号。

(2)若该端口号对应的端口被测试装置所在终端的其他进程占用,则说明该端口号对应的端口不可用,重新生成一个端口号,看重新生成的端口号对应的端口是否被测试装置所在终端的其他进程占用,

●若重新生成的端口号对应的端口未被测试装置所在终端的其他进程占用,则将重新生成的端口号作为选择的端口号。

●若重新生成的端口号对应的端口被测试装置所在终端的其他进程占用,则重复执行重新生成一个端口号,看重新生成的端口号对应的端口是否被测试装置所在终端的其他进程占用的步骤,直至找到一个可用端口的端口号作为选择的端口号。

505:端口生成器返回与端口号获取请求对应的响应消息,且该响应消息中不包括端口号;

在实际应用中,为了更明确的标识端口生成器未获取到可用的端口号,可以用特殊内容表示未获取到可用的端口号,例如,用空端口表示未获取到可用的端口号。此种情况下,返回的响应消息中虽不包括端口号,但可以包括空端口:

下面为了方便描述,本实施例均以端口生成器未获取到可用的端口号时,返回的响应消息中不包括端口号,但包含空端口的情况为例进行说明。

执行步骤503至步骤505后,端口生成器均会返回一个与步骤502接收到的端口号获取请求对应的响应消息,但该响应消息中可能包括端口号,或者,包括空端口。

另外,步骤502至步骤505仅针对端口生成器接收到测试装置发送的一个端口号获取请求情况,对于端口生成器同一时刻接收到测试装置发送的多个端口号获取请求情况,可以参见步骤510。

506:测试终端接收端口生成器返回的第一响应消息;

步骤506中接收到的响应消息是响应消息与步骤501中发送的测试用例a的端口号获取请求对应,且该响应消息中包括端口号,或者,该响应消息中不包括端口号,但包括空端口。

为了与后续再次发送的测试用例a的端口号获取请求对应的响应消息区分,将此处的响应消息称为第一响应消息。

507:测试终端确定第一响应消息中是否包括端口号,若第一响应消息中包括端口号,则执行步骤508,若第一响应消息中不包括端口号,但包括空端口,则执行步骤509;

508:测试终端将第一响应消息中包括的端口号确定为测试用例a的端口号;

执行此步骤后,直接执行步骤512至步骤514。

509:测试终端将测试用例a的端口号获取次数加1,并在预设时间段后,再次向端口生成器发送测试用例a的端口号获取请求;

例如,测试终端在步骤506中接收的端口生成器返回的第一响应消息中包括空端口,则在执行步骤509时,测试用例a的端口号获取次数加1,若端口号获取次数的初始值为0,则此时端口号获取次数变为1,且在预设时间段后,再次向端口生成器发送测试用例a的端口号获取请求。

510:端口生成器接收测试装置再次发送测试用例a的端口号获取请求后,返回与之对应的响应消息;

若执行步骤510时,端口生成器仅接收到测试装置再次发送测试用例a的端口号获取请求,即仅接收到一个端口号获取请求,则可以重复执行步骤503至步骤505。

若执行步骤510时,端口生成器不仅接收到测试装置再次发送测试用例a的端口号获取请求,还接收到测试装置发送的其他测试用例的端口号获取请求,即接收到多个端口号获取请求。对于此种情况,再次发送的测试用例a的端口号获取请求中会包括端口号获取次数。例如:测试用例a的端口号获取次数1。而其他测试用例的端口号获取请求中可能包括对应的端口号获取次数,也可能不包括。若不包括端口号获取次数,则可以认为端口号获取次数为初始值,例如0。

对于同时接收到多个端口号获取请求的情况,端口生成器可以先按各端口号获取请求包括的端口号获取次数,从高到低依次选择一个端口号获取请求;针对选择的端口号获取请求执行步骤503至步骤505,返回选择的端口号获取请求对应的响应消息。

例如,若端口生成器同时接收到2个端口号获取请求,分别为再次发送的测试用例a的端口号获取请求,首次发送的测试用例d的端口号获取请求。其中,测试用例a的端口号获取请求由于是第二次发送,则测试用例a的端口号获取请求中包括端口号获取次数,且为1。测试用例d的端口号获取请求由于是首次发送,若测试用例d的端口号获取请求可以包括端口号获取次数,且为0,则先执行503至步骤505响应测试用例a的端口号获取请求,在返回包括端口号或者空端口的相应消息后,再执行503至步骤505响应测试用例d的端口号获取请求。

再例如,若端口生成器同时接收到2个端口号获取请求,分别为再次发送的测试用例a的端口号获取请求,首次发送的测试用例e的端口号获取请求,且端口号获取次数的初始值均为0。其中,测试用例a的端口号获取请求由于是第二次发送,则测试用例a的端口号获取请求中包括端口号获取次数,且为1。测试用例e的端口号获取请求由于是首次发送,若测试用例e的端口号获取请求不包括端口号获取次数,则将测试用例e的端口号获取请求的端口号获取次数确定为0。此时,先执行503至步骤505响应测试用例a的端口号获取请求,在返回包括端口号或者空端口的相应消息后,再执行503至步骤505响应测试用例e的端口号获取请求。

511:测试装置接收端口生成器返回的第二响应消息,根据第二响应消息确定测试用例a的端口号;

其中,第二响应消息与再次发送的测试用例a的端口号获取请求对应。

与第一响应消息相同,第二响应消息中可以包括端口号,也可以包括空端口。

若第二响应消息中包括端口号,则测试装置执行步骤508将第二响应消息中包括的端口号确定为测试用例a的端口号。

若第二响应消息中包括空端口,则测试装置重复执行步骤509至步骤511,将任一测试用例的端口号获取次数加1,并在预设时间段后,再次向端口生成器发送任一测试用例的端口号获取请求,接收端口生成器返回的第二响应消息,第二响应消息与再次发送的任一测试用例的端口号获取请求对应,确定第二响应消息中是否包括端口号的步骤,直至确定第二响应消息中包括端口号。

512:测试装置基于测试用例a的端口号,通过测试框架服务器与无线设备之间为测试用例a建立对应的会话连接;

本步骤的实现方式与步骤302相同,详见步骤302,此处不再赘述。

513:测试装置基于测试用例a的会话连接与无线设备进行通信,以在无线设备上执行测试用例a;

本步骤的实现方式与步骤303相同,详见步骤303,此处不再赘述。

514:若存在执行结束的测试用例,则通过测试框架服务器关闭执行结束的测试用例的会话连接。

本步骤的实现方式与步骤304相同,详见步骤304,此处不再赘述。

图6示出了测试装置、端口生成器、测试框架服务器之间的端口分配情况。

有益效果:

从端口生成器获取一个或多个测试用例的端口号;基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例,通过为每个测试用例建立独立的会话连接,基于对应的会话连接执行一个或多个测试用例,从而将测试用例与无线设备的会话相互隔离,不仅提高了测试框架服务器资源的高可用性,还避免共用会话的长时间连接使服务器资源耗尽进而引起宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

基于同一发明构思,本实施例提供了一种测试装置,由于该装置解决问题的原理与图1所示的一种测试方法相似,因此该装置的实施可以参见图1所示的方法的实施例,重复之处不再赘述。

参见图7,该装置包括:

获取模块701,用于获取一个或多个测试用例的端口号,其中,一个或多个测试用例的端口号互不相同;

建立模块702,用于基于获取模块701获取的一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;

测试模块703,用于基于建立模块702建立的一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例。

参见图8,获取模块701,包括:

第一确定单元7011,用于对于一个或多个测试用例中的任一测试用例,确定当前连接数量;

判断单元7012,用于判断第一确定单元7011确定的当前连接数量是否超过测试框架服务器的连接上限;

选择单元7013,用于当判断单元7012判断当前连接数量未超过测试框架服务器的连接上限时,选择一个可用端口的端口号作为任一测试用例的端口号。

参见图9,获取模块701,还包括:

第一循环单元7014,用于当前连接数量超过测试框架服务器的连接上限时,每隔预设时间段,重复执行确定当前连接数量,判断当前连接数量是否超过测试框架服务器的连接上限的步骤,直至选择一个可用端口的端口号作为任一测试用例的端口号。

参见图10,获取模块701,包括:

发送单元7015,用于对于一个或多个测试用例中的任一测试用例,向端口生成器发送任一测试用例的端口号获取请求;

接收单元7016,用于接收端口生成器返回的响应消息,响应消息与发送单元发送的任一测试用例的端口号获取请求对应;

第二确定单元7017,用于确定接收单元7016接收的响应消息中是否包括端口号;

第三确定单元7018,用于当第二确定单元7017确定响应消息中包括端口号时,将第一响应消息中包括的端口号确定为任一测试用例的端口号。

参见图11,获取模块701,还包括:

第二循环单元7019,用于当响应消息中不包括端口号时,每隔预设时间段,重复执行向端口生成器发送任一测试用例的端口号获取请求,接收端口生成器返回的响应消息,确定响应消息中是否包括端口号的步骤,直至确定响应消息中包括端口号,将响应消息中包括的端口号确定为任一测试用例的端口号。

参见图12,该装置,还包括:

关闭模块704,用于当存在执行结束的测试用例时,通过测试框架服务器关闭执行结束的测试用例的会话连接。

有益效果如下:

获取一个或多个测试用例的端口号;基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例,通过为每个测试用例建立独立的会话连接,基于对应的会话连接执行一个或多个测试用例,从而将测试用例与无线设备的会话相互隔离,不仅提高了测试框架服务器资源的高可用性,还避免共用会话的长时间连接使服务器资源耗尽进而引起宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

基于同一发明构思,本实施例提供了一种端口生成器,由于该端口生成器解决问题的原理与图2所示的一种测试方法相似,因此该端口生成器的实施可以参见图2所示的方法的实施例,重复之处不再赘述。

参见图13,该端口生成器包括:

确定模块1301,用于接收测试装置发送的端口号获取请求后,确定当前连接数量;

判断模块1302,用于判断确定模块1301确定的当前连接数量是否超过测试框架服务器的连接上限;

返回模块1303,用于当判断模块1302判断当前连接数量未超过测试框架服务器的连接上限时,选择一个可用端口的端口号,并返回与端口号获取请求对应的响应消息,响应消息中包括选择的端口号。

可选地,返回模块1303,还用于当前连接数量超过测试框架服务器的连接上限时,返回与端口号获取请求对应的响应消息,响应消息中不包括端口号。

有益效果如下:

各测试用例启动时,从端口生成器获取各测试用例的端口号;基于各测试用例的端口号,分别通过测试框架服务器与无线设备之间建立各测试用例的会话连接;基于各测试用例的会话连接与无线设备进行通信,以在无线设备上执行各测试用例,各测试用例建立各自的会话连接,并基于各自的会话连接执行各测试用例,从而将各测试用例与无线设备的会话相互隔离,不仅提高了服务器资源的高可用性,还避免一次会话的超长时间保持连接致使服务器资源耗尽引起的宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

基于同一发明构思,参见图14,本实施例提供了一种测试系统,该系统用于执行上述实施例所提供的测试方法,该系统包括:

处理器1401和存储器1402,存储器1402存储由处理器1401执行的程序指令。

其中,程序指令包括:

获取一个或多个测试用例的端口号,其中,一个或多个测试用例的端口号互不相同;

基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;

基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例。

可选地,获取一个或多个测试用例的端口号,包括:

对于一个或多个测试用例中的任一测试用例,确定当前连接数量;

判断当前连接数量是否超过测试框架服务器的连接上限;

若当前连接数量未超过测试框架服务器的连接上限,则选择一个可用端口的端口号作为任一测试用例的端口号。

可选地,判断当前连接数量是否超过测试框架服务器的连接上限之后,还包括:

若当前连接数量超过测试框架服务器的连接上限,则每隔预设时间段,重复执行确定当前连接数量,判断当前连接数量是否超过测试框架服务器的连接上限的步骤,直至选择一个可用端口的端口号作为任一测试用例的端口号。

可选地,获取一个或多个测试用例的端口号,包括:

对于一个或多个测试用例中的任一测试用例,向端口生成器发送任一测试用例的端口号获取请求;

接收端口生成器返回的响应消息,响应消息与任一测试用例的端口号获取请求对应;

确定响应消息中是否包括端口号;

若响应消息中包括端口号,则将响应消息中包括的端口号确定为任一测试用例的端口号。

可选地,确定响应消息中是否包括端口号之后,还包括:

若响应消息中不包括端口号,则每隔预设时间段,重复执行向端口生成器发送任一测试用例的端口号获取请求,接收端口生成器返回的响应消息,确定响应消息中是否包括端口号的步骤,直至确定响应消息中包括端口号,将响应消息中包括的端口号确定为任一测试用例的端口号。

可选地,基于一个或多个测试用例的会话连接与无线设备进行通信之后,还包括:

若存在执行结束的测试用例,则通过测试框架服务器关闭执行结束的测试用例的会话连接。

有益效果如下:

处理器执行存储于处理器的如下程序指令,获取一个或多个测试用例的端口号;基于一个或多个测试用例的端口号,通过测试框架服务器与无线设备之间为一个或多个测试用例分别建立对应的一个或多个会话连接;基于一个或多个测试用例的会话连接与无线设备进行通信,以在无线设备上执行一个或多个测试用例,通过为每个测试用例建立独立的会话连接,基于对应的会话连接执行一个或多个测试用例,从而将测试用例与无线设备的会话相互隔离,不仅提高了测试框架服务器资源的高可用性,还避免共用会话的长时间连接使测试框架服务器资源耗尽进而引起宕机,提高了测试用例执行的稳定性和可靠性,提升了测试用例的执行效率。

为了描述的方便,以上装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

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