一种可变组网的自动化测试方法及相关装置与流程
未命名
09-12
阅读:106
评论:0
1.本技术涉及自动化测试技术领域,尤其涉及一种可变组网的自动化测试方法及相关装置。
背景技术:
2.自动化测试是一种通过编写脚本来自动执行测试用例的软件测试方法。相比于手动测试,自动化测试具有许多优点,如提高测试效率和测试质量,利用其可重复性也可以节省时间和人力成本,同时自动化测试还支持持续集成和持续交付。
3.在现有的并行执行自动化测试的方案中,主要采取的是分布式的架构。也就是利用一个测试流程控制端,将完整的测试任务分成多个小任务在多个测试执行端上同时执行。由此所带来的问题是,由于在测试前已经划定好了测试的各个独立子系统,那么在测试过程中将无法控制环境资源间的相互组合,无法对现有的环境资源进行充分利用。
技术实现要素:
4.本技术实施例提供一种可变组网的自动化测试方法及相关装置,解决了相关技术中在执行自动化测试任务时,无法利用环境资源相互组网来并行执行多个测试用例的问题。
5.第一方面,本技术实施例提供了一种可变组网的自动化测试方法,所述方法包括:
6.通过任务队列存储测试用例和所述测试用例对应的拓扑描述信息;
7.根据所述拓扑描述信息从数据库中占用所述测试用例所需要的环境资源;
8.在由所述环境资源所组建的网络下执行所述测试用例。
9.可以看出,在本技术中,可以根据任务队列中存储的测试用例的拓扑描述信息从数据库中占用环境资源,因此可以灵活结合数据库中的各种资源,生成组网环境供测试用例使用。
10.在第一方面的一种可选的方案中,所述通过任务队列存储测试用例和所述测试用例对应的拓扑描述信息,包括:
11.通过解析所述测试用例来获取所述测试用例所对应的拓扑类型;
12.根据所述测试用例所对应的拓扑类型查询所述数据库中的拓扑信息表,从所述拓扑信息表中获取所述测试用例所需要的环境资源所对应的设备类型和设备数量;
13.根据所述测试用例所需要的环境资源所对应的设备类型和设备数量生成所述测试用例所对应的拓扑描述信息;
14.将所述测试用例和所述拓扑描述信息存储到所述任务队列中。
15.在上述方法中,在执行测试用例之前,利用数据库来存储拓扑信息,再通过查询拓扑信息来得到测试用例所需的设备信息,之后生成测试用例所对应的描述信息。这样在后续占用所需设备,继而执行测试用例的时候,可以直接根据上述生成的测试用例所对应的描述信息来占用对应的资源,从而节省了测试的时间。
16.在第一方面的又一种可选的方案中,所述根据所述拓扑描述信息从数据库中占用所述测试用例所需要的环境资源,包括:
17.遍历所述任务队列,从所述任务队列中获取所述测试用例;
18.在根据所述测试用例的拓扑描述信息确定所述数据库中存储有所述测试用例所需要的环境资源的情况下,根据所述拓扑描述信息更新所述数据库的设备表和设备详情表所分别对应的占用字段;
19.通过更新所述设备表和所述设备详情表所分别对应的占用字段来占用所述环境资源。
20.可以看出,使用数据库存储环境资源,并且利用数据库本身acid特性(原子性atomicity、一致性consistency、隔离性isolation、持久性durability),可以减少在程序中使用锁来保证数据的一致性。而且可以在增加和删除环境资源的时候,无需被自动化测试任务感知。所以灵活性会更高,并且降低了对测试用例的维护难度。
21.在第一方面的又一种可选的方案中,所述在由所述环境资源所组建的网络下执行所述测试用例之后,还包括:
22.根据所述拓扑描述信息更新所述设备表和所述设备详情表所分别对应的占用字段;
23.通过更新所述设备表和所述设备详情表所分别对应的占用字段来释放所述测试用例所需要的环境资源。
24.在上述方法中,由于在单个测试用例执行完毕后,会释放所占用的相关环境资源。所以测试环境中的环境资源只要是在空闲的情况下,都可以相互组合,从而形成新的组网供后续测试用例使用。也可以说理论上如果环境资源足够,中央处理器(central processing unit,cpu)的核数也足够。那么采用本技术的方法,执行整套测试用例的时间会等于耗时最长的单个测试用例所用的时间。
25.在第一方面的又一种可选的方案中,所述在由所述环境资源所组建的网络下执行所述测试用例,包括:
26.在进程池中创建所述测试用例对应的测试进程,其中,所述进程池包括正在处理的其他进程;
27.在所述测试进程中执行所述测试用例的过程中,根据虚拟局域网络标识vlan id将所述环境资源组合到同一个组网下;
28.在所述同一个组网下使用所述环境资源来执行所述测试用例。
29.在上述方法中,根据测试用例的拓扑组网要求,实时地将空闲的环境资源(服务器、交换机、测试仪等)组合为特定的组网,并在组网上执行测试用例。能够灵活地结合测试环境中的各种资源,自主生成组网环境供测试用例使用。在每个测试用例所需的环境资源满足的情况下,能够在进程池中并发执行,而彼此间不会产生冲突。从而提高了执行效率,减少了整套测试用例的执行时间。
30.在第一方面的又一种可选的方案中,所述根据虚拟局域网络标识vlan id将所述环境资源组合到同一个组网下,包括:
31.从vlan id列表中获取所述测试用例的vlan id,其中,不同的测试用例对应不同的vlan id;
32.根据所述测试用例的vlan id将所述环境资源组合到同一个组网下,其中,不同的vlan id对应不同的组网。
33.可以看出,所有的测试环境都和交换机相连,通过划分不同的vlan来保证不同测试用例之间所使用的环境是隔离开的,从而保证了并行执行多个测试用例时的稳定性和可靠性。
34.在第一方面的又一种可选的方案中,所述在所述同一个组网下使用所述环境资源来执行所述测试用例之后,还包括:
35.在所述测试用例执行结束后,将所述测试用例的vlan id重新添加到所述vlan id列表中。
36.可以看出,在执行测试用例完毕后,会释放所配置的vlan信息,这样重复使用创建的vlan,可以减轻执行机的运行压力,同时也能进一步提高组网的组建速度,从而减少测试用例的执行时间。
37.第二方面,本技术实施例提供了一种可变组网的自动化测试装置,所述装置包括:
38.存储单元,用于通过任务队列存储测试用例和所述测试用例对应的拓扑描述信息;
39.获取单元,用于根据所述拓扑描述信息从数据库中占用所述测试用例所需要的环境资源;
40.处理单元,用于在由所述环境资源所组建的网络下执行所述测试用例。
41.在第二方面的一种可选的方案中,存储单元具体用于通过任务队列存储测试用例和测试用例对应的拓扑描述信息,包括:
42.获取单元,具体用于通过解析测试用例来获取测试用例所对应的拓扑类型;
43.获取单元,具体用于根据测试用例所对应的拓扑类型查询数据库中的拓扑信息表,从拓扑信息表中获取测试用例所需要的环境资源所对应的设备类型和设备数量;
44.处理单元,具体用于根据测试用例所需要的环境资源所对应的设备类型和设备数量生成测试用例所对应的拓扑描述信息;
45.存储单元,具体用于将测试用例和拓扑描述信息存储到任务队列中。
46.在第二方面的又一种可选的方案中,获取单元具体用于根据拓扑描述信息从数据库中占用测试用例所需要的环境资源,包括:
47.获取单元,具体用于遍历任务队列,从任务队列中获取测试用例;
48.处理单元,还用于在根据测试用例的拓扑描述信息确定数据库中存储有测试用例所需要的环境资源的情况下,根据拓扑描述信息更新数据库的设备表和设备详情表所分别对应的占用字段;
49.处理单元,具体用于通过更新设备表和设备详情表所分别对应的占用字段来占用环境资源。
50.在第二方面的又一种可选的方案中,处理单元具体用于在由环境资源所组建的网络下执行测试用例之后,还包括:
51.处理单元,具体用于根据拓扑描述信息更新设备表和设备详情表所分别对应的占用字段;
52.处理单元,具体用于通过更新设备表和设备详情表所分别对应的占用字段来释放
测试用例所需要的环境资源。
53.在第二方面的又一种可选的方案中,处理单元具体用于在由环境资源所组建的网络下执行测试用例,包括:
54.处理单元,还用于在进程池中创建测试用例对应的测试进程,其中,进程池包括正在处理的其他进程;
55.处理单元,还用于在测试进程中执行测试用例的过程中,根据虚拟局域网络标识vlan id将环境资源组合到同一个组网下;
56.处理单元,具体用于在同一个组网下使用环境资源来执行测试用例。
57.在第二方面的又一种可选的方案中,处理单元还用于根据虚拟局域网络标识vlan id将环境资源组合到同一个组网下,包括:
58.获取单元,具体用于从vlan id列表中获取测试用例的vlan id,其中,不同的测试用例对应不同的vlan id;
59.处理单元,还用于根据测试用例的vlan id将环境资源组合到同一个组网下,其中,不同的vlan id对应不同的组网。
60.在第二方面的又一种可选的方案中,处理单元还用于在同一个组网下使用所述环境资源来执行测试用例之后,还包括:
61.处理单元,还用于在测试用例执行结束后,将测试用例的vlan id重新添加到vlan id列表中。
62.第三方面,本技术实施例提供了一种计算设备,所述设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述第一方面任一项所描述的方法。
63.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机或处理器上运行时,实现如前述第一方面任一项所描述的方法。
64.本技术第二至第四方面所提供的技术方案,其有益效果可以参考第一方面的技术方案的有益效果,此处不再赘述。
附图说明
65.下面将对实施例描述中所需要使用的附图作简单的介绍。
66.图1是本技术实施例提供的一种自动化测试系统的架构图;
67.图2是本技术实施例提供的一种可变组网的自动化测试方法的流程示意图;
68.图3是本技术实施例提供的一种通过任务队列存储测试用例的流程图;
69.图4是本技术实施例提供的一种占用环境资源的流程图;
70.图5是本技术实施例提供的一种组网的示意图;
71.图6是本技术实施例提供的一种单个执行机执行自动化测试任务的流程图;
72.图7是本技术实施例提供的一种可变组网的自动化测试装置的功能单元组成框图;
73.图8是本技术实施例提供的一种计算设备的结构示意图。
具体实施方式
74.下面结合附图对本技术实施例进行详细介绍。
75.本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
76.为了更清楚地描述本技术的方案,下面先介绍一些与本方案自动化测试相关的知识。
77.(1)测试用例(test case)是指对一项特定的软件产品进行测试任务的描述,具体来说是为某个特殊目标而编制的一组测试输入、执行条件以及预期的结果,作用于核实某个特定软件的需求是否被满足。
78.(2)拓扑(topo)类型是一种服务器、设备和交换机配置的集合。可以根据网络的拓扑结构反映出网络中各实体的结构关系,相应的本技术实施例主要是依据测试用例的拓扑类型来组建的网络。拓扑类型分为总线拓扑、星型拓扑、环形拓扑、树型拓扑及网状拓扑,本技术实施例对此不做限定。
79.(3)组网是指将多个计算机或网络设备连接在一起,以便它们可以相互通信和共享资源。组网的目的是为了实现信息共享、资源共享、协同工作等。组网的基本原理是通过网络线路将多个计算机或设备连接在一起,形成一个局域网或广域网。本技术实施例给出的组网方式是利用交换机来组建虚拟局域网,其中交换机的组网方式又分为级联方式、端口聚合、环网、堆叠方式等,本技术实施例对此不做限定。
80.(4)虚拟局域网(virtual local area network,vlan)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样。
81.(5)数据库是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。作用是对数据进行存储以及删除等操作,数据库按照类别可分为关系数据库和非关系数据库。
82.(6)acid特性是指数据库管理系统在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。
83.为了便于理解本技术实施例,下面先分析并提出本技术所具体要解决的技术问题。
84.在自动化测试的相关技术中,大多采用串行或者并行来执行测试用例。串行是指一个测试用例执行完毕后再执行下一个测试用例,并行则是指可以同时执行多个测试用例。在测试用例数量少或者执行时间短的情况下,采用串行来执行测试用例能够大幅提高产品的迭代周期。但是当测试用例的数量一旦变得庞大,执行完测试用例所用的时间也相应会变得过长,那么此时测试将会成为整个产品在迭代周期中的瓶颈。所以在测试用例的数量比较大的时候,使用并行的执行思想去优化自动化测试框架,并且在优化后的框架下创建可以并行执行的自动化测试任务,能够节省测试时间,加快产品的迭代速度。
85.现有的并行执行自动化测试的方案中,主要采取的是分布式的架构,也就是使用一个测试服务注册端来对多个测试服务节点上的设备资源进行注册和管理。使用一个测试流程控制端来控制多个测试执行端,以实现测试流程中的开发管理、执行控制、任务调度、历史数据管理及人机交互界面管理等功能。
86.因此,本技术发现现有的采用分布式架构来执行自动化测试的方法中存在一些问题,例如:(1)现有方案首先划定了测试的独立子系统,无法控制资源相互组合,设备之间互相组网;(2)现有方案没有使用数据库技术,无法保证在并行执行测试用例的过程中不会出现资源冲突的问题,而且不利于对设备资源的维护和扩展;(3)没有对单个执行机采用多进程的方式来充分利用现有的环境资源,而是使用分布式的架构,控制多个执行机来进行测试。这对设备资源的数量要求更高了,在无形中增加了测试的成本;(4)没有使用vlan来对并行执行的测试用例进行网络隔离,不够安全和灵活;(5)没有在单台执行机上使用进程池来创建多进程,从而达到并行执行多个测试用例的目的。因此也没有使单个执行机的资源得到充分的利用。
87.鉴于此,本技术实施例提供了一种可变组网的自动化测试方法。在单个执行机上并行执行自动化测试任务时,执行机根据测试用例的拓扑组网要求,利用可以对数据进行存储以及删除的数据库,实时地将空闲的环境资源(服务器、交换机、测试仪等)组合为特定的组网,并通过配置vlan对各个不同的组网进行网络隔离。在组网上执行测试用例时,通过进程池可以保证执行机能够高效、并发地执行测试用例。利用数据库对资源进行占用和释放,可以保证资源之间不会相互冲突。本技术提供的方法能够以安全、灵活、高效的方式进行自动化测试,提高了测试的效率,降低了测试的成本,保证了产品的质量和可持续的交付。
88.接下来,对本技术实施例应用的系统架构进行介绍。需要说明的是,本技术描述的系统架构及业务场景是为了更加清楚的说明本技术的技术方案,并不构成对于本技术提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术提供的技术方案对于类似的技术问题,同样适用。
89.请参阅图1,图1是本技术实施例提供的一种自动化测试系统的架构图。如图1所示,自动化测试系统包括执行机10、数据库11以及,一个或多个设备12。图1中示例性给出了四个设备12。其中,执行机10和设备12之间可以通过网络连接的,执行机10和数据库11之间可以通过网络连接。网络例如为有线网络、无线网络、有线网络和无线网络的组合。示例性的,执行机10和设备12之间可以通过网络连接,或者,通过交换机连接。
90.执行机10可以是台式电脑、平板电脑、笔记本电脑、手机、个人数字助理和穿戴式设备等电子设备,本技术实施例对此不做限定。
91.设备12可以是linux主机、交换机、路由器、测试仪等设备,执行机可以通过占用设备,并组成隔离的网络环境,供执行机来执行测试用例,本技术实施例对设备的种类不做限定。
92.数据库11可以存储在执行机上,也可以存储在其他设备上。当执行机开始自动化测试任务时,执行机通过连接数据库来获取所有的环境资源信息。
93.在一种可能的实施方式中,执行机10通过创建任务队列来存储测试用例和测试用例对应的拓扑描述信息。再根据拓扑描述信息,执行机10可以从数据库11中查询到测试用
例所需要的设备12有哪些。在执行机10查询到所需要的设备12正好都处于没有被占用的情况时,执行机10可以占用这些需要的设备12。随后执行机10利用虚拟局域网,可以使这些需要的设备12都处在一个组网下。执行机10就可以利用这些设备12,在独立的网络下执行测试用例。
94.下面介绍本技术实施例提供的一种可变组网的自动化测试方法。
95.请参阅图2,图2是本技术实施例提供的一种可变组网的自动化测试方法的流程示意图,方法应用于如图1所示的自动化测试系统。如图2所示,方法包括但不限于如下步骤:
96.步骤s201,通过任务队列存储测试用例和测试用例对应的拓扑描述信息。
97.具体的,任务队列是用来存储需要执行的测试用例和其对应的拓扑描述信息的队列。当执行机在并行执行自动化测试任务的过程中,执行机可以从任务队列中取出测试用例来进行测试任务,同时执行机可以根据测试用例对应的拓扑描述信息来占用需要的环境资源。
98.在一种可能的实施方式中,在整个自动化测试任务开始前,执行机可以从数据库中读取全部的环境资源信息和拓扑信息表,并验证环境资源是否存在以及是否可用,为执行机后续在不同的组网下执行测试用例做好准备工作。
99.具体的,执行机从数据库中读取的环境资源信息包括但不限于如下几项:设备表、设备详情表、组网需求表等。
100.设备表包括但不限于以下设备中的一种或多种:linux主机、交换机、路由器、测试仪等设备。此外,设备表还包括但不限于设备通用唯一识别码(universally unique identifier,uuid)、设备类型、网际互连协议(internet protocol,ip)地址、用户名、密码、是否可用(默认为否)、是否被占用(默认为否)等字段中的一项或多项。
101.设备详情表包括但不限于linux主机网卡的接口信息,交换机、路由器、测试仪的接口信息等。其中,表中每一项都以设备的uuid作为外键,设备详情表包括但不限于设备详情类型、uuid、接口名称、对端的uuid、topo类型(一种服务器,设备和交换机配置的集合)、是否可用(默认为否)、是否被占用(默认为否)等字段中的一项或多项。
102.组网需求表包括但不限于:每个拓扑的组网需求和当前组网的情况。其中,组网需求是指某个拓扑类型是否有通过虚拟局域网来将环境资源组建在同一个网络下执行测试用例的需要。举例来说,在只用一台设备即可执行测试用例的时候,此时不需要交换机进行组网,也就是说此测试用例没有组网的需求。
103.当前组网的情况用于说明将环境资源组建成的当前网络中的设备情况,包括但不限于具体使用的服务器的个数和类型,服务器上的网络设备的个数和类型,交换机上的端口的个数和类型、以及当前各个组网所使用的虚拟局域网vlan等字段。
104.接下来,执行机根据从数据库中读取的环境资源信息,对设备表和设备详情表中的资源分别进行验证。
105.例如,对于设备表中的每一项设备信息的验证,执行机可以根据设备类型的不同,而调用不同的方法去验证设备资源是否可用。在验证完成之后,执行机根据验证结果来更新设备表中的是否可用字段。如果可以正常连接则表示可用,执行机可以更新该字段为是。反之如果不能正常连接则表示不可用,执行机可以更新该字段为否。举例来说,根据设备的类型去验证设备资源是否可用的方法可以是,对于服务器,需要执行机检查能否利用因特
网包探索器(packet internet groper,ping)运行通畅,热插拔配置是否正确。如果是ecpu系统,则需要执行机检查能否ping通,各项服务是否正常,版本是否符合要求。如果是交换机,需要执行机检查对应的交换机端口是否开启,本技术实施例对此不做限定。
106.再例如,对于设备详情表的验证,执行机可以根据每一项设备详情信息,去判断该设备详情信息是否真实存在。如果存在,执行机可以更新设备详情表中的是否可用字段为是。如果不存在,执行机可以更新设备详情表中的是否可用字段为否。
107.在一种可能的实施方式中,执行机解析测试用例得到测试用例的tag标签,获取tag标签标记的拓扑类型,根据测试用例对应的拓扑类型查询数据库中的拓扑信息表,从拓扑信息表中获取测试用例所需要的环境资源所对应的设备类型和设备数据。因此,执行机可以根据测试用例所需要的环境资源所对应的设备类型和设备数量生成测试用例对应的拓扑描述信息。最后,将测试用例和拓扑描述信息存储到任务队列中。
108.请参阅图3,图3是本技术实施例提供的一种通过任务队列存储测试用例的流程图。如图3所示,执行机10读取每个测试用例的标签,进一步地,执行机10读取每个测试用例对应的tag标签,根据tag标签来确定测试用例的拓扑描述信息。首先,执行机10可以根据标签判断是否需要执行此测试用例1013。如果不需要执行,则判断结束,执行机10可以继续解析下一个测试用例。如果需要执行,则执行机10通过解析此测试用例1013的标签来获取标签上标记的拓扑类型。在执行机10解析出测试用例1013对应的拓扑类型后,可以根据拓扑类型查询数据库11中的拓扑信息表。在查询得到执行此测试用例1013所需要的环境资源所对应的设备类型和数量等信息后,可以根据这些对应的设备类型和数量等信息来生成此测试用例对应的拓扑描述信息。最后,将解析完成的测试用例1013,及其对应的拓扑描述信息均加入到任务队列101中进行存储。示例性的,图3中的任务队列101还存储有已经解析完毕的测试用例1011及其对应的拓扑描述信息、测试用例1012及其对应的拓扑描述信息。其中,执行机根据测试用例的标签判断不需要执行此测试用例的情况包括但不限于如下所述:在为了节省测试时间,只保证基本功能可以正常使用的情况下,一般执行机仅执行与基本功能相关的测试用例即可。例如对于像性能、压力等耗时久的测试用例而言,此情况下执行机对其标签的解析结果为不需要执行此测试用例。
109.需要说明的是,执行机从数据库中读取的拓扑信息表包括但不限于如下几项:拓扑的类型以及每个拓扑类型所需要的环境资源。其中,每个拓扑类型所需要的环境资源包括但不限于:对应设备表中的设备类型及数目、对应设备详情表中的设备详情类型及数目,以及设备类型或设备详情类型是否排他,为了方便叙述,本技术对于设备类型及设备详情类型均统称为设备。
110.如果设备具有排他性,那么在后面执行机占用环境资源的时候,需要将此排他的设备类型或设备详情类型在对应的设备表或设备详情表中的是否被占用字段标记为是,反之,标记为否。举例来说,如果一个服务器上有两张不同的网卡a和网卡b,当只有a网卡被执行机占用时,那么a网卡是排他的,需要执行机将a网卡对应的设备表或设备详情表中的是否被占用字段标记为是。而服务器由于还有b网卡未被占用,所以服务器不是排他的,需要执行机将服务器对应的设备表或设备详情表中的是否被占用字段标记为否。
111.步骤s202,根据拓扑描述信息从数据库中占用测试用例所需要的环境资源。
112.具体的,执行机在执行测试用例的过程中,可以按照拓扑描述信息所对应的设备
类型在数据库中进行查询。如果查询得到的结果中对应的设备及其可用的数量满足拓扑描述信息的要求,那么执行机可以从数据库中占用测试用例所需要的环境资源。
113.在一种可能的实施方式中,执行机从头到尾遍历任务队列,从任务队列中获取测试用例。进一步地,执行机可以从任务队列的队首取出测试用例。执行机根据测试用例的拓扑描述信息查询数据库,在根据测试用例的拓扑描述信息确定数据库中存储有测试用例所需要的环境资源的情况下,根据拓扑描述信息更新数据库的设备表和设备详情表所分别对应的占用字段。这样,执行机通过更新设备表和设备详情表所分别对应的占用字段来占用数据库中的环境资源。
114.请参阅图4,图4是本技术实施例提供的一种占用环境资源的流程图。如图4所示,执行机从头到尾遍历任务队列,从任务队列的队首获取测试用例1011,并将测试用例1011加入到进程池102中以创建新的进程1021来执行测试用例。
115.如图4所示,执行机10在执行测试用例1011时,需要占用设备121、设备122及设备123进行测试,那么执行机10可以在数据库中按照拓扑描述信息所对应的设备类型进行查询。如果在数据库中没有查询到对应的设备信息,那么表明没有满足测试用例1011的环境资源,执行机10也无法对测试用例1011执行测试任务。此时执行机10可以将此测试用例1011放回到任务队列101的队尾,执行机10可以再次遍历任务队列101,从任务队列101的队首获取下一个测试用例来执行任务。相对应的,如果在数据库中查询到对应的设备,那么执行机10可以在数据库中查询对应设备目前可用的数量,查看是否满足测试用例1011所需要的环境资源的要求。若执行机10查询出对应设备目前可用的数量不满足测试用例1011的要求,那么执行机10可以将此测试用例1011放回到任务队列101的队尾,并且执行机10可以再次遍历任务队列101,从任务队列101的队首获取下一个测试用例来执行任务。若执行机10查询出对应设备目前可用的数量满足测试用例1011的要求,那么执行机10可以在数据库中的设备表和设备详情表中所对应的设备类型及数目处,将是否被占用字段更新为是,以此执行机10可以根据拓扑描述信息从数据库中占用测试用例1011所需要的环境资源。示例性的,图4所示的任务队列101中,存储有测试用例1011及其拓扑描述信息、测试用例1012及其对应的拓扑描述信息等多个测试用例及其拓扑描述信息。进程池102中,创建了进程1021、进程1022等多个进程。执行机10连接了设备121至设备125等多个设备,其中设备121至设备125等多个设备可以是图1所示的设备12。具体的,执行机10在进程1021中执行测试用例1011需要占用设备121、设备122及设备123,执行机10在进程1022中执行测试用例1012需要占用设备124及设备125。在执行机10执行完进程1021及进程1022后,所占用的设备121至设备125可以分别被执行机10进行释放。在后续执行机10执行新的测试用例时,又可以被执行机10再次按照测试用例所需要的环境资源进行占用。
116.步骤s203,在由环境资源所组建的网络下执行测试用例。
117.具体的,如果执行机通过查询数据库中的组网需求表,得到测试用例所对应的拓扑有组网的需求。那么执行机可以给交换机的端口配置vlan信息,将测试用例所需要的环境资源都组合到同一个组网下从而进行网络隔离。确定执行测试用例所需要的组网之后,由执行机将此测试用例提交到进程池中,由进程池在这个组网下执行测试用例。进一步地,当任务队列为空,且进程池的进程全部执行完毕后,执行机判断整个自动化测试任务为结束,随后执行机生成测试报告。
118.其中,进程池用来并行执行测试用例。进程池可以指定最大并行执行测试用例的数量,也即进程池的大小。本技术实施例给出的最大并行执行测试用例的数量的默认值,为中央处理器(central processing unit,cpu)核数的一半,同时也可以由用户在执行机上设置进程池的大小。当执行机将测试用例提交到进程池时,如果执行机判断出当前正在执行的进程数量小于进程池的大小,那么进程池就会创建一个新的进程来执行该测试用例。但是如果执行机判断出当前正在执行的进程数量等于进程池的大小,也就是进程池中的进程数已经达到指定的最大值。那么进程池暂不执行该测试用例,直到执行机判断出有进程结束后,进程池才会创建新的进程来执行该测试用例。
119.在一种可能的实施方式中,使用单个执行机来并行执行多个测试用例时,需要执行机通过给交换机的端口配置vlan信息,将各个进程所需要的环境资源组建在各自对应的不同的虚拟局域网中,即执行机在不同的组网下并行执行不同的测试用例。此时一个组网下的设备可以相互连通,不同组网下的设备无法连通。由此可以隔离出并行执行测试用例所需要的不同的网络环境,保证了测试的稳定性和安全性。
120.因此,为了防止执行机对vlan信息的重复使用,执行机可以创建多个不同的vlan,并将每个vlan用不同的vlan id进行命名,之后执行机可以创建vlan id列表来存储所有的vlan id。在执行机需要给测试用例创建组网时,执行机可以随机从vlan id列表中,取出一个vlan id来为交换机的端口配置vlan信息。同时,执行机在vlan id列表中删除此vlan id,即表示此vlan id所对应的vlan已被执行机使用。
121.举例来说,请参阅图5,图5是本技术实施例提供的一种组网的示意图。如图5所示,执行机10是在利用交换机13由设备121、设备122及设备123组成的组网141下来执行的进程1021,同样的,执行机10是在利用交换机13由设备124及设备125所组成的组网142下来执行的进程1022。在这些进程执行完毕后,被执行机释放的环境资源又可以重新与其他环境资源组建成新的网络,供后续测试用例使用,也即本技术实施例中的组网是可变的。需要说明的是,图5所示的设备121至设备125可以是图1所示的设备12。
122.在一种可能的实施方式中,执行机在执行完测试用例后,执行机需要对此测试用例所占用的环境资源及使用的vlan进行释放。具体的,执行机根据此测试用例对应的拓扑描述信息,来获取测试用例所需要的环境资源所对应的设备类型和设备数量。然后执行机在数据库的设备表和设备详情表中将所对应的设备类型及设备数量,其所对应的是否被占用字段,更新为否,以此来释放环境资源。
123.此外,执行机在执行完测试用例后,通过将此执行完毕的测试用例所使用的vlan id重新加入到vlan id列表中,以此来释放vlan资源。
124.在一种可能的实施方式中,请参阅图6,图6是本技术实施例提供的一种单个执行机执行自动化测试任务的流程图。如图6所示,执行机间隔一段时间执行第六步到第九步的过程,直到执行机判断出任务队列为空且进程池的测试用例全部执行完毕,生成了测试报告。其中默认间隔时间为60秒,也可以在执行测试用例的时候,操作执行机来指定间隔时间。
125.第一步,执行机开始执行自动化测试任务时,执行机从数据库中读取全部的环境资源信息;
126.第二步,执行机通过验证环境资源是否可用,来更新数据库中各个环境资源所对
应的是否被占用的字段;
127.第三步,执行机继续从数据库中读取拓扑信息表,来获取不同拓扑类型所需要的环境资源;
128.第四步,执行机通过创建任务队列来放置所有的测试用例,通过创建进程池来执行测试用例以及规定执行机最大并行执行的测试用例的数量;
129.第五步,执行机通过解析测试用例,来判断测试用例是否需要执行,以及获取测试用例对应的拓扑描述信息;
130.第六步,执行机将测试用例加入到任务队列中;
131.第七步,执行机从头到尾遍历任务队列,判断任务队列是否为空。为空则进行第十四步,不为空则进行第八步;
132.第八步,在执行机判断出任务队列不为空时,执行机从任务队列的队首取出测试用例;
133.第九步,执行机根据取出的测试用例的拓扑描述信息来查询数据库,判断测试用例所需要的环境资源是否满足,如果不满足,那么将测试用例放回到任务队列的尾部。如果满足,执行机继续进行第十步;
134.第十步,测试用例在环境资源满足的情况下,那么接下来就要占用环境资源,根据测试用例的拓扑描述信息,将数据库中的设备表和设备详情表,所对应的环境资源的是否被占用字段,更新为是。同时如果测试用例有组网需求,可以提前给交换机的端口配置vlan信息,使得所需要的环境资源在一个组网下可以互通,并且实现不同测试用例间的网络隔离;
135.第十一步,执行机不断将测试用例提交到进程池,由进程池来执行测试用例;
136.第十二步,进程池并行执行多个测试用例;
137.第十三步,在进程池执行完测试用例后,执行机在数据库中,将已经执行完毕的测试用例,其占用的环境资源所对应的是否被占用字段,更新为否,以此来释放环境资源;
138.第十四步,在第七步执行机从头到尾遍历任务队列,判断任务队列是否为空时。如果执行机判断结果为空,那么执行机通过创建监控进程,来判断进程池的进程是否全部结束;
139.第十五步,如果执行机判断出进程池中尚有测试用例在执行或者有测试用例在等待被执行,那么执行机可以间隔一段时间再去执行第十四步。具体的,执行机利用监控进程,每隔一段时间去判断一下进程池的状态。间隔时间默认为60秒,也可以在执行机执行测试用例的时候自定义间隔时间;
140.第十六步,自动化测试任务结束。因为执行机不断从任务队列中取出测试用例并加入到进程池中,和执行机利用进程池执行测试用例,这两个部分是并行的。所以只有当任务队列为空,且进程池的进程全部执行结束时,执行机才会判断整个自动化测试任务为结束,随后执行机生成测试报告。
141.上述详细阐述了本技术实施例的方法,下面提供本技术实施例的装置。
142.请参见图7,图7是本技术实施例提供的一种可变组网的自动化测试装置的功能单元组成框图,可变组网的自动化测试装置70包括:
143.存储单元701,用于通过任务队列存储测试用例和测试用例对应的拓扑描述信息;
144.获取单元702,用于根据拓扑描述信息从数据库中占用测试用例所需要的环境资源;
145.处理单元703,用于在由环境资源所组建的网络下执行测试用例。
146.可以看出,使用数据库记录环境资源和拓扑信息,能够在产品的快速迭代下,缩短测试用例的执行时间。并能及时发现产品的问题,使产品趋于稳定。
147.另一种可能的实施方式中,存储单元701,具体用于通过任务队列存储测试用例和测试用例对应的拓扑描述信息,包括:
148.获取单元702,具体用于通过解析测试用例来获取测试用例所对应的拓扑类型;
149.获取单元702,具体用于根据测试用例所对应的拓扑类型查询数据库中的拓扑信息表,从拓扑信息表中获取测试用例所需要的环境资源所对应的设备类型和设备数量;
150.处理单元703,具体用于根据测试用例所需要的环境资源所对应的设备类型和设备数量生成测试用例所对应的拓扑描述信息;
151.存储单元701,具体用于将测试用例和拓扑描述信息存储到任务队列中。
152.在上述方法中,在执行测试用例之前,利用数据库来存储拓扑信息,再通过查询拓扑信息来得到测试用例所需的设备信息,之后生成测试用例所对应的描述信息。这样在后续占用所需设备,继而执行测试用例的时候,可以直接根据上述生成的测试用例所对应的描述信息来占用对应的资源,从而节省了测试的时间。
153.又一种可能的实施方式中,获取单元702,具体用于根据拓扑描述信息从数据库中占用测试用例所需要的环境资源,包括:
154.获取单元702,具体用于遍历任务队列,从任务队列中获取测试用例;
155.处理单元703,还用于在根据测试用例的拓扑描述信息确定数据库中存储有测试用例所需要的环境资源的情况下,根据拓扑描述信息更新数据库的设备表和设备详情表所分别对应的占用字段;
156.处理单元703,具体用于通过更新设备表和设备详情表所分别对应的占用字段来占用环境资源。
157.可以看出,使用数据库存储环境资源,并且利用数据库本身acid特性(原子性atomicity、一致性consistency、隔离性isolation、持久性durability),可以减少在程序中使用锁来保证数据的一致性。而且可以在增加和删除环境资源的时候,无需被自动化测试任务感知。所以灵活性会更高,并且降低了对测试用例的维护难度。
158.又一种可能的实施方式中,处理单元703,具体用于在由环境资源所组建的网络下执行测试用例之后,还包括:
159.处理单元703,具体用于根据拓扑描述信息更新设备表和设备详情表所分别对应的占用字段;
160.处理单元703,具体用于通过更新设备表和设备详情表所分别对应的占用字段来释放测试用例所需要的环境资源。
161.在上述方法中,由于在单个测试用例执行完毕后,会释放所占用的相关环境资源。所以测试环境中的环境资源只要是在空闲的情况下,都可以相互组合,从而形成新的组网供后续测试用例使用。也可以说理论上如果环境资源足够,中央处理器(central processing unit,cpu)的核数也足够。那么采用本技术的方法,执行整套测试用例的时间
会等于耗时最长的单个测试用例所用的时间。
162.又一种可能的实施方式中,处理单元703,具体用于在由环境资源所组建的网络下执行测试用例,包括:
163.处理单元703,还用于在进程池中创建测试用例对应的测试进程,其中,进程池包括正在处理的其他进程;
164.处理单元703,还用于在测试进程中执行测试用例的过程中,根据虚拟局域网络标识vlan id将环境资源组合到同一个组网下;
165.处理单元703,具体用于在同一个组网下使用环境资源来执行测试用例。
166.在上述方法中,根据测试用例的拓扑组网要求,实时地将空闲的环境资源(服务器、交换机、测试仪等)组合为特定的组网,并在组网上执行测试用例。能够灵活地结合测试环境中的各种资源,自主生成组网环境供测试用例使用。在每个测试用例所需的环境资源满足的情况下,能够在进程池中并发执行,而彼此间不会产生冲突。从而提高了执行效率,减少了整套测试用例的执行时间。
167.又一种可能的实施方式中,处理单元703,还用于根据虚拟局域网络标识vlan id将环境资源组合到同一个组网下,包括:
168.获取单元702,具体用于从vlan id列表中获取测试用例的vlan id,其中,不同的测试用例对应不同的vlan id;
169.处理单元703,还用于根据测试用例的vlan id将环境资源组合到同一个组网下,其中,不同的vlan id对应不同的组网。
170.可以看出,所有的测试环境都和交换机相连,通过划分不同的vlan来保证不同测试用例之间所使用的环境是隔离开的,从而保证了并行执行多个测试用例时的稳定性和可靠性。
171.又一种可能的实施方式中,处理单元703,还用于在同一个组网下使用所述环境资源来执行测试用例之后,还包括:
172.处理单元703,还用于在测试用例执行结束后,将测试用例的vlan id重新添加到vlan id列表中。
173.可以看出,在执行测试用例完毕后,会释放所配置的vlan信息,这样重复使用创建的vlan,可以减轻执行机的运行压力,同时也能进一步提高组网的组建速度,从而减少测试用例的执行时间。
174.需要说明的是,在本技术实施例中,各个单元的具体实现及技术效果还可以对应参照图2、图3、图4、图5以及图6对应实施例的相应描述。
175.请参见图8,图8是本技术实施例提供的一种计算设备的结构示意图。如图8所示,计算设备800可包括:一个或多个处理器801、一个或多个存储器802以及一个或多个通信接口803。这些部件可通过总线804或者其他方式连接,图8以通过总线804连接为例。在一种可能的实现中,计算设备800可以是前述内容中的服务器。其中:
176.通信接口803可用于计算设备800与其他通信设备,例如其他计算设备,进行通信。具体的,通信接口803可以是有线接口。
177.存储器802可以和处理器801通过总线804或者输入输出端口耦合,存储器802也可以与处理器801集成在一起。存储器802用于存储各种软件程序和/或多组指令或者数据。具
体的,存储器802可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器802可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器802可以存储操作系统(下述简称系统),例如ucos、vxworks、rtlinux等嵌入式操作系统。存储器802还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个用户设备,一个或多个终端进行通信。存储器802可以是独立存在,通过总线804与处理器801相连接。存储器802也可以和处理器801集成在一起。
178.其中,存储器802用于存储执行以上方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器802中存储的应用程序代码。
179.处理器801可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现确定功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。
180.本技术实施例中,处理器801可用于读取和执行计算机可读指令。具体的,处理器801可用于调用存储于存储器802中的程序,用于执行以下操作:
181.通过任务队列存储测试用例和测试用例对应的拓扑描述信息;
182.根据拓扑描述信息从数据库中占用测试用例所需要的环境资源;
183.在由环境资源所组建的网络下执行测试用例。
184.在一种可能的实施方式中,处理器801具体用于:
185.通过解析测试用例通信接口803来获取测试用例所对应的拓扑类型;
186.根据测试用例所对应的拓扑类型查询数据库中的拓扑信息表,从拓扑信息表中通信接口803获取测试用例所需要的环境资源所对应的设备类型和设备数量;
187.根据测试用例所需要的环境资源所对应的设备类型和设备数量生成测试用例所对应的拓扑描述信息;
188.将测试用例和拓扑描述信息存储到任务队列中。
189.在一种可能的实施方式中,处理器801具体用于:
190.遍历任务队列,从任务队列中通信接口803获取测试用例;
191.在根据测试用例的拓扑描述信息确定数据库中存储有测试用例所需要的环境资源的情况下,根据拓扑描述信息更新数据库的设备表和设备详情表所分别对应的占用字段;
192.通过更新设备表和设备详情表所分别对应的占用字段来占用环境资源。
193.在一种可能的实施方式中,处理器801具体用于:
194.根据拓扑描述信息更新设备表和设备详情表所分别对应的占用字段;
195.通过更新设备表和设备详情表所分别对应的占用字段来释放测试用例所需要的环境资源。
196.在一种可能的实施方式中,处理器801具体用于:
197.在进程池中创建测试用例对应的测试进程,其中,进程池包括正在处理的其他进程;
198.在测试进程中执行测试用例的过程中,根据虚拟局域网络标识vlan id将环境资源组合到同一个组网下;
199.在同一个组网下使用环境资源来执行测试用例。
200.在一种可能的实施方式中,处理器801具体用于:
201.从vlan id列表中通信接口803获取测试用例的vlan id,其中,不同的测试用例对应不同的vlan id;
202.根据测试用例的vlan id将环境资源组合到同一个组网下,其中,不同的vlan id对应不同的组网。
203.在一种可能的实施方式中,处理器801具体用于:
204.在测试用例执行结束后,将测试用例的vlan id重新添加到vlan id列表中。
205.需要说明的是,在本技术实施例中,各个单元的具体实现及技术效果还可以对应参照图2、图3、图4、图5以及图6对应实施例的相应描述。
206.本技术还提供了一种算机可读存储介质,计算机可读存储介质中存储有指令,当指令在至少一个处理器上运行时,实现前述的可变组网的自动化测试方法,例如图2的方法。
207.本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,在被计算设备800执行时,实现前述的可变组网的自动化测试方法,例如图2的方法。
208.本技术实施例中,“举例来说”或者“比如”等词用于表示作例子、例证或说明。本技术中被描述为“举例来说”或者“比如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“举例来说”或者“比如”等词旨在以具体方式呈现相关概念。
209.本技术中实施例提到的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、(a和b)、(a和c)、(b和c)、或(a和b和c),其中a、b、c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a、同时存在a和b、单独存在b这三种情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
210.以及,除非有相反的说明,本技术实施例使用“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一设备和第二设备,只是为了便于描述,而并不是表示这第一设备和第二设备的结构、重要程度等的不同,在某些实施例中,第一设备和第二设备还可以是同样的设备。
211.上述实施例中所用,根据上下文,术语“当
……
时”可以被解释为意思是“如
果
……”
或“在
……
后”或“响应于确定
……”
或“响应于检测到
……”
。以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
212.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
213.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种可变组网的自动化测试方法,其特征在于,所述方法包括:通过任务队列存储测试用例和所述测试用例对应的拓扑描述信息;根据所述拓扑描述信息从数据库中占用所述测试用例所需要的环境资源;在由所述环境资源所组建的网络下执行所述测试用例。2.根据权利要求1所述的方法,其特征在于,所述通过任务队列存储测试用例和所述测试用例对应的拓扑描述信息,包括:通过解析所述测试用例来获取所述测试用例所对应的拓扑类型;根据所述测试用例所对应的拓扑类型查询所述数据库中的拓扑信息表,从所述拓扑信息表中获取所述测试用例所需要的环境资源所对应的设备类型和设备数量;根据所述测试用例所需要的环境资源所对应的设备类型和设备数量生成所述测试用例所对应的拓扑描述信息;将所述测试用例和所述拓扑描述信息存储到所述任务队列中。3.根据权利要求2所述的方法,其特征在于,所述根据所述拓扑描述信息从数据库中占用所述测试用例所需要的环境资源,包括:遍历所述任务队列,从所述任务队列中获取所述测试用例;在根据所述测试用例的拓扑描述信息确定所述数据库中存储有所述测试用例所需要的环境资源的情况下,根据所述拓扑描述信息更新所述数据库的设备表和设备详情表所分别对应的占用字段;通过更新所述设备表和所述设备详情表所分别对应的占用字段来占用所述环境资源。4.根据权利要求3所述的方法,其特征在于,所述在由所述环境资源所组建的网络下执行所述测试用例之后,还包括:根据所述拓扑描述信息更新所述设备表和所述设备详情表所分别对应的占用字段;通过更新所述设备表和所述设备详情表所分别对应的占用字段来释放所述测试用例所需要的环境资源。5.根据权利要求1至4任一项所述的方法,其特征在于,所述在由所述环境资源所组建的网络下执行所述测试用例,包括:在进程池中创建所述测试用例对应的测试进程,其中,所述进程池包括正在处理的其他进程;在所述测试进程中执行所述测试用例的过程中,根据虚拟局域网络标识vlan id将所述环境资源组合到同一个组网下;在所述同一个组网下使用所述环境资源来执行所述测试用例。6.根据权利要求5所述的方法,其特征在于,所述根据虚拟局域网络标识vlan id将所述环境资源组合到同一个组网下,包括:从vlan id列表中获取所述测试用例的vlan id,其中,不同的测试用例对应不同的vlan id;根据所述测试用例的vlan id将所述环境资源组合到同一个组网下,其中,不同的vlan id对应不同的组网。7.根据权利要求6所述的方法,其特征在于,所述在所述同一个组网下使用所述环境资源来执行所述测试用例之后,还包括:
在所述测试用例执行结束后,将所述测试用例的vlan id重新添加到所述vlan id列表中。8.一种可变组网的自动化测试装置,其特征在于,所述装置包括:存储单元,用于通过任务队列存储测试用例和所述测试用例对应的拓扑描述信息;获取单元,用于根据所述拓扑描述信息从数据库中占用所述测试用例所需要的环境资源;处理单元,用于在由所述环境资源所组建的网络下执行所述测试用例。9.一种计算设备,其特征在于,所述设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机或处理器上运行时,实现如权利要求1至7任一项所述的方法。
技术总结
本申请实施例提供一种可变组网的自动化测试方法及相关装置。该方法包括:通过任务队列存储测试用例和测试用例对应的拓扑描述信息;根据拓扑描述信息从数据库中占用测试用例所需要的环境资源;在由环境资源所组建的网络下执行测试用例。采用本申请实施例,可以结合数据库对环境资源进行占用和释放,充分利用每个服务器上的物理设备。根据测试用例的拓扑组网要求,实时地将空闲的环境资源组合为特定的组网,并在组网上执行测试用例,保证了环境资源之间不会相互冲突。通过进程池保证了对测试用例的高效、并发执行,以安全、灵活的方式实现了自动化测试。提高了测试效率、降低了测试成本,保证了产品的质量和可持续交付。保证了产品的质量和可持续交付。保证了产品的质量和可持续交付。
技术研发人员:毛航航 李恒
受保护的技术使用者:珠海星云智联科技有限公司
技术研发日:2023.06.02
技术公布日:2023/9/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
