在云网系统中实现自动化测试的方法和设备及计算机可读存储介质与流程

文档序号:29156816发布日期:2022-03-08 21:04阅读:145来源:国知局
在云网系统中实现自动化测试的方法和设备及计算机可读存储介质与流程

1.本发明公开通常涉及软件测试领域,并且更具体而言,涉及在云网系统中实现自动化测试的方法、设备及计算机可读存储介质。


背景技术:

2.随着网络云化进程的不断推进,各种场合下针对云网系统开展的测试需求日趋频繁且复杂多变。可用于自动化测试平台的编排引擎框架和测试工具多种多样,通常一次测试任务会涉及多个测试对象、包含众多测试用例,不同测试用例需由不同的测试工具来执行;同一次测试任务里,不同测试工具的测试用例之间存在测试数据交互的需求,然而测试工具的数据规范和编排引擎的数据规范之间存在较大的差异性,数据通信存在现实壁垒。
3.因此,现有技术中存在对能够自适应对接测试工具及跨测试工具传递测试参数的需求。


技术实现要素:

4.本发明人提出了一种实现编排引擎自适应对接测试工具的方法,使基于编排引擎的自动化测试平台面临多用例、多对象、多工具集成带来的挑战,具备按需、自适应对接测试工具及跨测试工具传递测试参数的能力。
5.根据本发明的一个方面,可以根据测试用例的特征信息把相应的测试工具接入编排引擎,使用适配的测试工具执行测试用例,解决不同测试用例需要不同的测试工具测试的问题;
6.根据本发明的另一个方面,同时提供多种测试工具的数据规范与编排引擎的数据规范相互转化的机制,解决在同一次测试任务里,不同测试工具的数据交互问题。
7.为了实现本发明的一个目的,根据本发明的一个方面提供了一种在云网系统中实现自动化测试的方法,包括:从编排引擎获取测试用例及其数据;分析获取的测试用例以获取测试用例的特征信息;基于获取的特征信息,从多个测试工具中确定与测试用例匹配的特定测试工具;将测试用例的数据转化为符合所述特定测试工具的数据规范的测试输入数据;以及调用所述特定测试工具使用测试输入数据执行所述测试用例。
8.为了实现本发明的另一个目的,根据本发明的另一个方面提供了一种在云网系统中实现自动化测试的系统,包括:解析模块,用于从编排引擎获取测试用例及其数据,分析获取的测试用例以获取测试用例的特征信息;转化模块,用于将测试用例的数据转化为符合所述特定测试工具的数据规范的测试输入数据;以及调度模块,用于基于从解析模块获取的特征信息,从多个测试工具中确定与测试用例匹配的特定测试工具,以及调用所述特定测试工具使用从所述转化模块接收的测试输入数据执行所述测试用例。
9.为了实现上述目的,根据本发明的再一个方面提供了一种计算设备,包括:处理器;和存储器,其耦合到所述处理器并且其上存储有计算机可读指令,当由所述处理器执行
时,所述计算机可读指令使得所述处理器执行上述方法的步骤。
10.为了实现上述目的,根据本发明的再一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现上述自动化网络防御方法步骤。
附图说明
11.在下文中,将参照附图详细地描述本公开内容的优选实施例。注意,在本说明书和附图中,用相同的附图标记来表示具有基本上相同的功能和结构的结构元件,并且省略对这些结构元件的重复说明。
12.图1是示出根据本公开一实施例的在云网系统中实现自动化测试的系统的示意图;
13.图2是示出根据本公开一实施例的在云网系统中实现自动化测试的处理的示意图;以及
14.图3是示出根据本公开一实施例的在云网系统中实现自动化测试的计算设备的示意图。
具体实施方式
15.以下对示例性实施例的详细描述参考附图。不同附图中的相同标号识别相同或相似的元件。此外,附图不一定按比例绘制。而且,以下详细描述不限制本发明。相反,本发明的范围由所附权利要求限定。
16.整个说明书中对“一个实施例”或“实施例”或“一些实施例”的引用意味着结合实施例描述的特定特征、结构或特点包括在所公开的主题的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”或“在一些实施例中”不一定是指相同的(一个或多个)实施例。另外,特定特征、结构或特点可以在一个或多个实施例中以任何合适的方式组合。
17.编排引擎是一种用于测试任务编排的工作流引擎,用于监控工作流执行过程,包括工作流执行的顺序、条件,以及输出工作流的日志和反馈,但是不包括执行工作流里面的任务。编排引擎跟测试工具是一对多的关系,因为编排引擎生成的一个工作流,这个工作流里面可能包含很多不同的子任务,而不同的子任务可能需要对接不同的测试工具。
18.任务处理集成模块(例如,job worker)是一个开源的编排引擎的里面的概念。任务处理集成模块是专门用来处理工作流里面的子任务的模块。但是,每个测试工具的输入和输出规范都是不一样。一个工作流前后两个子任务可能需要做数据交互,这就需要任务处理集成模块具备把众多测试工具直接的数据规范和少数测试工具(例如,zeebe)的数据规范进行转化。但是,现有技术不能实现这种转化。本发明人认识到了现有技术中的问题并提出了本发明。本发明被提出以解决对能够自适应对接测试工具及跨测试工具传递测试参数的需求。本发明可以集成在任务处理集成模块模块里面。
19.本发明提出来在云网系统中实现自动化测试的技术方案。具体地,本技术方案包括:从编排引擎获取测试用例及其数据;分析获取的测试用例以获取测试用例的特征信息;基于获取的特征信息,从多个测试工具中确定与测试用例匹配的特定测试工具;将测试用
例的数据转化为符合所述特定测试工具的数据规范的测试输入数据;以及调用所述特定测试工具使用测试输入数据执行所述测试用例。
20.图1是示出根据本公开一实施例的在云网系统中实现自动化测试的系统的示意图。根据本实施例的系统包括编排引擎、自动化测试装置以及测试框架集合。编排引擎维护和调控:
21.1)测试用例任务队列:编排引擎的测试用例任务队列,由编排引擎调控和维护;
22.2)测试用例数据集:编排引擎的测试用例数据集合,数据符合编排引擎的数据规范。
23.测试框架集合包括系统已对接的测试工具集合,未来可以按需拓展。
24.根据本发明的自动化测试装置被集成在任务处理集成模块中,并且是在其中执行的内部逻辑。任务处理集成模块是测试用例处理系统的统称。例如,本发明以任务处理集成模块的模式对接测试工具。
25.自动化测试装置包括解析模块、调度模块和转化模块。解析模块,用于从编排引擎获取测试用例及其数据,分析获取的测试用例以获取测试用例的特征信息。转化模块,用于将测试用例的数据转化为符合所述特定测试工具的数据规范的测试输入数据。调度模块,用于基于从解析模块获取的特征信息,从多个测试工具中确定与测试用例匹配的特定测试工具,以及调用所述特定测试工具使用从所述转化模块接收的测试输入数据执行所述测试用例。
26.如图所示,在操作

从编排引擎的测试用例任务队列中获取测试用例,在操作

从编排引擎的测试用例数据集中获取测试用例的相关数据。在解析模块处分析测试用例相关信息,并在操作

把分析结果发送给调度模块。在操作

根据分析结果去执行测试用例的对应的测试任务,在操作

把测试结果反馈给编排引擎。
27.如图所示,解析模块从编排引擎的测试用例数据集获取测试用例的数据,进而提取测试用例的相关信息,根据信息对测试用例进行分类,对测试用例和测试工具进行一对一的匹配,进而分析测试用例在其适配的测试工具中所需的测试环境,把解析结果传递给调度模块。
28.调度模块根据解析的结果,为测试用例与其适配的测试工具建立会话:
29.1、测试用例的数据经过转化模块的转化作为测试用例的测试输入数据;
30.2、在适配的测试工具中为测试用例初始化所需的测试环境;
31.3、自适应测试工具的规则,启动测试用例对应的测试工作;
32.4、获取测试工具的测试结果,经过转化模块的转化后再反馈给编排引擎的测试用例数据集;
33.转化模块提供测试用例数据的转化机制:
34.1、把编排引擎获取的测试用例数据转化为符合测试工具规范的数据,进而作为测试用例的在其适配的测试工具的测试输入数据;
35.2、把测试工具获取的测试结果数据转化为符合编排引擎规范的数据,进而编排引擎可以把上一个测试用例的测试结果整合到下一个测试用例的测试输入数据中,实现不同测试工具的测试用例之间的数据交互。
36.例如,运营商构建了一个自动化测试平台用于云网系统的测试。测试平台基于
zeebe编排引擎进行构建,由zeebe broker负责管理每一个测试任务,同时调配测试任务里每一个测试用例,但是zeebe不提供对接测试工具的技术支持。云网系统的测试需求复杂,经常出现同一个测试任务里测试用例a需要对接yardstick、测试用例b需要对接functest以及测试用例a的测试结果需要作为测试用例b的测试输入数据的问题。yardstick和functest的调取测试服务的方法流程存在差异,zeebe、yardstick、functest的三者的数据规范也存在较大的差异性。
37.为了解决上述问题,在负责处理每个测试用例的job worker里面,集成可以自适应对接yardstick和functest的根据本发明的机制,以及zeebe、yardstick、functest三者数据可以根据规范自由进行转化的根据本发明的机制。这样就可以保证job worker可以根据测试用例的特征对接相应的测试工具(yardstick或functest),同时也实现了测试用例a符合yarstick数据规范的测试结果数据—》符合zeebe数据规范数据—》测试用例b符合functest数据规范的测试输入数据的转化,保证了测试用例a与测试用例b的数据交互。
38.图2示出了根据本公开一实施例的在云网系统中实现自动化测试的处理200的示意图。在框201处,根据本公开的一些实施例的在云网系统中实现自动化测试的处理200开始。
39.在框203处,从编排引擎获取测试用例及其数据。
40.在框205处,分析获取的测试用例以获取测试用例的特征信息。
41.在框207处,基于获取的特征信息,从多个测试工具中确定与测试用例匹配的特定测试工具。
42.在框209处,将测试用例的数据转化为符合所述特定测试工具的数据规范的测试输入数据。
43.在框211处,调用所述特定测试工具使用测试输入数据执行所述测试用例。
44.在框213处,在云网系统中实现自动化测试的处理200结束。
45.图3是示出了在云网系统中实现自动化测试的系统300的框图。在各种实施例中,系统300执行图2中描述的任何方法。在一些实施例中,系统300向处理单元提供用于图2中描述的方法中的一个或多个方法的指令,使得处理单元基于由系统300提供的指令来执行该方法或该方法的一部分。
46.系统300包括存储器325、存储装置330、互连(例如,bus)320、一个或多个cpu 305(在此也称为处理器305)、i/o设备接口310、i/o设备312和网络接口315。
47.每个cpu 305检索并执行存储在存储器325或存储装置330中的编程指令。互连320用于在cpu 305、i/o设备接口310、存储装置330、网络接口315和存储器325之间移动数据,诸如编程指令。互连320可以使用一个或多个总线来实现。在各种实施例中,cpu 305可以是单个cpu、多个cpu或具有多个处理内核的单个cpu。通常包括存储器325以表示随机存取存储器(例如,静态随机存取存储器(sram)、动态随机存取存储器(dram)或闪存)。存储装置330通常被包括以表示非易失性存储器,诸如硬盘驱动器、固态设备(ssd)、可移除存储卡、光学存储装置或闪存设备。
48.在一些实施例中,存储器325存储指令360,并且存储装置330存储数据库332和数据源336。然而,在各种实施方式中,指令360、数据库332和数据源336部分地存储在存储器325和部分地存储在存储装置330中,或者它们全部地存储在存储器325或全部地存储在存
储装置330中,或者它们经由网络接口315通过网络350被访问。
49.数据源336可以包括来自网络或其他源的各种数据。
50.指令360是处理器可执行指令,包括获取指令362、分析指令364、确定指令366、转化指令368、以及调用指令370。这些指令362-370可以被配置成执行先前在图2中讨论的方法。
51.在各种实施例中,i/o设备312包括能够呈现信息和接收输入的接口。例如,i/o设备312可以向与系统300交互的用户呈现信息(例如,冗余和异常样本)并且从用户接收输入(例如,标记动作)。
52.系统300经由网络接口315连接到网络350。
53.图3旨在表示根据本公开的实施例的示例系统300的主要组件。然而,在一些实施例中,各个组件可以具有比图3所示的更大或更小的复杂度,并且可以存在不同于图3所示的组件或除了那些之外的组件。此外,在一些实施例中,图3中所示的各种组件可以具有比图3中所示的更多、更少或不同的功能。
54.本技术相对现有技术而言,本发明具有显著的优点和效果。本发明使用job worker从编排引擎获取测试用例和测试用例数据,解析测试用例相关信息,为测试用例自适应对接测试工具,转化测试用例数据,使其符合测试工具的数据规范,作为测试输入数据,为测试用例在测试工具中初始化其所需的测试环境,调取测试工具的测试服务,获取测试结果,转化为符合编排引擎数据规范的数据,等待job worker获取下一个测试用例。
55.本发明相较于围绕仅使用某一特定的测试工具执行测试用例的测试平台系统具有如下优点和效果:
56.-专利方法不局限于特定的编排引擎框架、特定的测试工具,具备在多用例、多测试工具、多框架的复杂应用场景中为测试用例自适应对接测试工具的能力,具有良好的灵活性和兼容性;
57.-提供编排引擎数据规范和测试工具数据规范相互转化的机制,保证不同测试工具的测试用例的数据交互,具有良好的数据通信能力;
58.-未来,将增强系统的兼容能力,实现一个测试用例对接多个测试工具的能力。
59.如基于前述说明书将认识到的,本公开的上述实施例可以使用计算机编程或工程技术来实现,该计算机编程或工程技术包括计算机软件、固件、硬件或其任何组合或子集,其中技术效果是建立并操作基于文件系统的应用网络。具有计算机可读代码装置的任何这样得到的程序都可以在一个或多个计算机可读介质中实施或提供,从而根据本公开所讨论的实施例制作计算机程序产品(即,制品)。计算机可读介质可以是例如但不限于固定(硬)驱动器、软盘、光盘、磁带、诸如只读存储器(rom)之类的半导体存储器,和/或任何传输/接收媒体(诸如互联网或其它通信网络或链接)。包含计算机代码的制品可以通过直接从一个介质执行代码、通过将代码从一个介质复制到另一个介质或者通过经网络发送代码来制造和/或使用。
60.这些计算机程序(也称为程序、软件、软件应用、“应用”或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或者用汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存
储器、可编程逻辑设备(pld)),包括将机器指令作为机器可读信号接收的机器可读介质。但是,“机器可读介质”和“计算机可读介质”不包括瞬态信号。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
61.虽然已经结合具体示例性实施例描述了本公开,但是应该理解的是,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可以对所公开的实施例进行对本领域技术人员显而易见的各种改变、替换和更改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1