CN109491889A - Nfv中自动化测试的方法和装置 - Google Patents

Nfv中自动化测试的方法和装置 Download PDF

Info

Publication number
CN109491889A
CN109491889A CN201811179958.6A CN201811179958A CN109491889A CN 109491889 A CN109491889 A CN 109491889A CN 201811179958 A CN201811179958 A CN 201811179958A CN 109491889 A CN109491889 A CN 109491889A
Authority
CN
China
Prior art keywords
test
component
testing
message
nfv
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811179958.6A
Other languages
English (en)
Other versions
CN109491889B (zh
Inventor
童俊杰
朱常波
唐雄燕
高功应
赫罡
张岩
李沸乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201811179958.6A priority Critical patent/CN109491889B/zh
Publication of CN109491889A publication Critical patent/CN109491889A/zh
Application granted granted Critical
Publication of CN109491889B publication Critical patent/CN109491889B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种NFV中自动化测试的方法和装置,涉及通信领域。该方法包括:根据测试类别确定测试用例并调用与测试用例对应的测试脚本执行测试过程;记录开始测试时间;获取待测组件中虚拟机的状态信息;接收待测组件发送的第一消息;若发现错误,则停止测试,记录停止测试时间;若待测组件中虚拟机的状态信息为正常,则获取开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息;根据预设映射关系,将第一消息中的源IP地址、目的IP地址分别替换为源组件名称、目的组件名称,将访问消息,替换为接口名称和接口参数,得到第二消息;根据第二消息,定位所述错误的位置。

Description

NFV中自动化测试的方法和装置
技术领域
本申请涉及通信领域,尤其涉及一种NFV中自动化测试的方法和装置。
背景技术
网络功能虚拟化(network function virtualization,NFV)是指借助于虚拟化技术,通过服务器、存储器和交换机承载各种各样软件化的网络功能以替代传统的专有硬件设备(如路由器、防火墙、内容分发网络等)的技术。
NFV架构包括:虚拟化基础设施管理器(virtual infrastructure manager,VIM),负责对基础设施层(network function virtualization infrastructure,NFVI)的软硬件资源进行管理。虚拟网络功能管理器(virtual network function manager,VNFM),负责对虚拟网元(virtual network function,VNF)的生命周期管理。网管(element managementsystem,EMS),负责虚拟网元的配置、故障和告警等管理。网络功能虚拟化编排器(networkfunction virtualization orchestrator,NFVO),负责网络服务(network service,NS)的生命周期管理。
由于NFV架构中涉及的组件很多、组件本身和不同组件之间接口复杂繁多,测试和对接工作量繁重。现有技术由人工部署待测软件和测试环境,并且由人工执行测试和对测试中出现的问题进行定位和分析。因此,现有技术测试耗时长,消耗成本大。
发明内容
本申请提供一种NFV中自动化测试的方法和装置及NFV中自动化测试的装置,能够在使用UDP传输数据时,降低拥塞时的丢包率,提高传输可靠性。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种NFV中自动化测试的方法和装置,所述方法应用于自动化测试工具,所述自动化测试工具中保存有至少一个测试用例和测试用例对应的测试脚本;所述自动化测试工具中预先保存有预设映射关系,所述预设映射关系包括互联网协议IP地址和组件标识之间的映射关系;所述方法包括:
所述自动化测试工具根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程;所述测试类别包括以下任意一项:功能测试、接口测试或待测组件和其他组件的互联互通关系测试;所述待测组件为NFV***或NFV***中的组件;所述自动化测试工具记录开始测试时间;所述自动化测试工具获取待测组件中虚拟机的状态信息;在测试过程中,所述自动化测试工具接收待测组件发送的第一消息;所述第一消息包括测试用例标识、源IP地址、目的IP地址和所述待测组件收到的访问消息;所述测试用例标识用于表示当前测试用例;所述访问消息包括接口名称和接口参数;在接收所述第一消息的过程中,所述自动化测试工具若发现错误,则停止测试,记录停止测试时间;若待测组件中虚拟机的状态信息为正常,则所述自动化测试工具获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息;所述自动化测试工具根据预设映射关系,将所述第一消息中的所述源IP地址、所述目的IP地址分别替换为源组件名称、目的组件名称,将所述第一消息中的所述访问消息,替换为所述接口名称和所述接口参数,得到第二消息;所述自动化测试工具根据所述第二消息,定位所述错误的位置。
第二方面,本申请提供一种NFV中自动化测试的装置,该NFV中自动化测试的装置包括:确定模块、处理模块和定位模块。其中,确定模块,用于根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程;所述测试类别包括以下任意一项:功能测试、接口测试或待测组件和其他组件的互联互通关系测试;所述待测组件为NFV***或NFV***中的组件。处理模块,用于记录开始测试时间;获取待测组件中虚拟机的状态信息;在测试过程中,接收待测组件发送的第一消息;所述第一消息包括测试用例标识、源IP地址、目的IP地址和所述待测组件收到的访问消息;所述测试用例标识用于表示当前测试用例;所述访问消息包括接口名称和接口参数;在接收所述第一消息的过程中,若发现错误,则停止测试,记录停止测试时间;若待测组件中虚拟机的状态信息为正常,则获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息;根据预设映射关系,将所述第一消息中的所述源IP地址、所述目的IP地址分别替换为源组件名称、目的组件名称,将所述第一消息中的所述访问消息,替换为所述接口名称和所述接口参数,得到第二消息。定位模块,用于根据所述第二消息,定位所述错误的位置。
第三方面,本申请提供一种NFV中自动化测试的装置,该NFV中自动化测试的装置包括:处理器、收发器和存储器。其中,存储器用于存储一个或多个程序。该一个或多个程序包括计算机执行指令,当该NFV中自动化测试的装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该NFV中自动化测试的装置执行第一方面及其各种可选的实现方式中任意之一所述的NFV中自动化测试的方法和装置。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述第一方面及其各种可选的实现方式中任意之一所述的NFV中自动化测试的方法和装置。
第五方面,本申请提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面及其各种可选的实现方式中任意之一所述的NFV中自动化测试的方法和装置。
本申请提供的NFV中自动化测试的方法和装置,根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程。在测试过程中,接收待测组件发送的第一消息。若发现错误,则停止测试,记录停止测试时间。若待测组件中虚拟机的状态信息为正常,则获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息。根据预设映射关系,将所述第一消息中的源IP地址、目的IP地址分别替换为源组件名称、目的组件名称,将访问消息替换为所述接口名称和所述接口参数,得到第二消息。根据所述第二消息,定位所述错误的位置。从而实现对NFV***或组件的端到端自动化测试,并实现问题的定位,相比现有技术由人工部署待测软件和测试环境,并且由人工执行测试和对测试中出现的问题进行定位和分析的方法,耗时更少,效率更高。
附图说明
图1为本申请实施例提供的NFV中自动化测试的方法和装置及NFV中自动化测试的装置应用的通信网络结构示意图;
图2为本申请实施例提供的NFV中自动化测试的方法的流程示意图;
图3为本申请实施例提供的NFV中自动化测试的装置的结构示意图一;
图4为本申请实施例提供的NFV中自动化测试的装置的结构示意图二。
具体实施方式
下面结合附图对本申请实施例提供的NFV中自动化测试的方法和装置、装置及***进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
本申请实施例提供的NFV中自动化测试的方法和装置可以应用于图1所示的NFV自动化测试架构中。图1中的自动化测试工具100,与通用设备101、仪表设备102、待测组件103、周围组件104均有接口或联系。其中通用设备101,主要是通用的服务器、集中式存储以及交换设备。仪表设备102,包括物理仪表和虚拟仪表。待测组件103,可以是端到端的、符合NFV架构的整体***,也可以是NFV架构中某个特定的软件功能组件。周围组件104则是与待测组件103配套的组件,以便于对待测组件103进行测试。
本申请实施例提供一种NFV中自动化测试的方法,该方法应用于自动化测试工具。自动化测试工具中保存有至少一个测试用例和测试用例对应的测试脚本;自动化测试工具中预先保存有预设映射关系,该预设映射关系包括互联网协议IP地址和组件标识之间的映射关系。如图2所示,该方法可以包括S201-S209:
S201、自动化测试工具根据测试环境部署模板,部署测试用例对应的组件,以构建端到端的测试环境。
具体的,本实施例中,自动化测试工具根据测试环境部署模板,先按照顺序部署虚拟化基础设施管理器(virtual infrastructure manager,VIM)、虚拟网络功能管理器(virtual network function manager,VNFM)和网络功能虚拟化编排器(networkfunction virtualization orchestrator,NFVO),然后调用VNFM创建虚拟网元(virtualnetwork function,VNF)或者直接在VNFM上创建VNF,创建和启动所需的虚拟机,以构建端到端的测试环境。
其中,测试环境部署模板包括测试用例对应的组件,包括待测组件、周围组件,以及这些组件对应的参数,比如管理协议、基本输入输出***(basic input putput system,BIOS)参数、磁盘阵列(Redundant Arrays of Independent Drives,RAID)参数、虚拟机参数(如虚拟机IP、虚拟机名称、虚拟机容量)等。测试环境部署模板可以为TOSCA或YAML等格式。
可选的,测试环境部署模板还可以包括仪表软件,仪表软件可以用于测量组件的性能。
自动化测试工具在完成部署端到端的测试环境后,保存各个虚拟机的标识VM_ID,并对成功创建和启动的虚拟机执行PING命令,以检查其网络是否正常可达。
若各个虚拟机均正常可达,则自动化测试工具在管理组件中部署一个控制代理Agent,自动化测试工具执行PING命令检查自己与控制代理之间是否正常可达。若正常可达,则通过控制代理检查待测组件与其他组件或仪表之间的网络拓扑是否符合测试要求。其中,管理组件包括:VIM、VNFM、NFVO和EMS。
若待测组件与其他组件或仪表之间的网络拓扑符合测试要求,则自动化测试工具中保存如下映射关系:<NFV***或组件名称,VM_ID,IP,VM_User,VM_Password,Host_ID>,其中NFV***或组件名称包括VIM、VNFM、NFVO、EMS等组件名称,VM_ID为组件的ID,IP为组件的IP地址,VM_User和VM_Password分别为虚拟机的用户名和密码,Host_ID为相应***或组件部署所在的主机标识。
可选的,自动化测试工具中还可以保存如下映射关系<组件,Service_Point>,其中Service_Point为管理组件提供服务的入口。
S202、所述自动化测试工具根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程。
其中,所述测试类别包括以下任意一项:功能测试、接口测试、性能测试或所述待测组件和其他组件的互联互通关系。
所述待测组件为NFV***或NFV***中的组件。
具体的,自动化测试工具根据测试类别确定测试用例标识Test_ID,
然后将测试用例标识Test_ID下发到所有与用例相关组件的控制代理Agent。
自动化测试工具确定与所述测试用例对应的测试脚本。
若所述测试类别为功能测试,则调用所述待测组件的应用程序接口应用程序编程接口(Application Programming Interface,API)执行所述测试脚本对所述待测组件的功能进行测试。
若所述测试类别为接口测试,则调用对所述待测组件与周围组件之间的接口执行所述测试脚本。
若所述测试类别为所述待测组件和其他组件的互联互通关系,则通过所述测试脚本监控所述待测组件与周围组件的状态。
可选的,在下发测试用例标识之前,自动化测试工具通过网络时间协议(networktime protocol,NTP)与组件之间进行时间同步。
S203、所述自动化测试工具记录开始测试时间。
具体的,记录下发测试用例标识Test_ID时的时间Start_Time作为测试用例开始执行的时间。
S204、所述自动化测试工具获取待测组件中虚拟机的状态信息。
在测试用例开始执行时,自动化测试工具按照预设周期获取测试环境中所有虚拟机的状态信息以及状态信息持续的时间,本实施例中,状态信息包括:虚拟机所在主机中的Host OS和vSwtich的状态、虚拟机Guest OS的状态等。
S205、在测试过程中,所述自动化测试工具接收待测组件发送的第一消息。
所述第一消息包括测试用例标识、源IP地址、目的IP地址和所述待测组件收到的访问消息。所述测试用例标识用于表示当前测试用例。所述访问消息包括接口名称和接口参数。
具体的,在测试执行过程中,当待测组件被其他组件调用时,会收到来自其他NFV***或NFV***中的组件的访问消息时,待测组件上的控制代理Agent都会将访问消息以第一消息的形式发送到自动化测试工具,该第一消息的形式为<Test_ID,源IP,目的IP,访问消息内容,访问消息时间>,然后开始分析和执行访问消息中的相关指令。在待测组件执行指令后,会返回回复消息给调用待测组件的NFV***或组件,该NFV***或组件的控制代理Agent将收到的回复消息同样以第一消息的形式发送到自动化测试工具,该第一消息的形式为<Test_ID,源IP,目的IP,回复消息内容,回复消息时间>。其中,访问消息和回复消息中都包含接口名称和接口参数。
可选的,自动化测试工具接收到各个NFV***和组件中控制代理Agent发送的信息后,按照Test_ID进行归类,然后按照消息时间排序。
S206、在接收所述第一消息的过程中,所述自动化测试工具若发现错误,则停止测试,记录停止测试时间。
具体的,自动化测试工具接收到各个NFV***或组件中控制代理发送的第一消息,如果发现第一消息中包含错误,则将该第一消息的接收的时间作为测试用例Test_ID的截止时间Stop_Time,并向各个NFV***或组件发送测试用例Test_ID终止消息,以使各个NFV***或组件停止运行该测试用例。
S207、若待测组件中虚拟机的状态信息为正常,则所述自动化测试工具获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息。
具体的,自动化测试工具根据获取的待测组件中虚拟机的状态信息,判断此时待测组件中虚拟机的状态信息是否正常,即状态信息中没有出现告警或错误。若待测组件中虚拟机的状态信息为正常,则提取从测试用例Test_ID开始时间Start_Time到结束时间Stop_Time期间内,和该测试用例所有相关的第一消息。
S208、所述自动化测试工具根据预设映射关系,将所述第一消息中的所述源IP地址、所述目的IP地址分别替换为源组件名称、目的组件名称,将所述第一消息中的所述访问消息,替换为所述接口名称和所述接口参数,得到第二消息。
具体的,将每条第一消息<Test_ID,源IP,目的IP,消息内容,消息时间>中的源IP地址、目的IP地址,根据预设的IP地址和组件标识之间的映射关系,转换为相应的NFV***或组件名称。比如,源IP转换为NFV***或组件名称1,目的IP转换为NFV***或组件名称2。然后将消息内容中的接口名称、接口参数键值对提取出来,即将第一消息转换为<用例编号,NFV***或组件名称1,NFV***或组件名称2,接口名称,接口参数键值对,消息时间>的形式,得到第二消息。本实施例中,预设映射关系的形式为<NFV***或组件名称,VM_ID,IP,>。可选的,预设映射关系还可以为<NFV***或组件名称,VM_ID,IP,VM_User,VM_Password,Host_ID>。
S209、所述自动化测试工具根据所述第二消息,定位所述错误的位置。
具体的,若所述第二消息中的接口名称和接口参数键值对不正确,则确定所述接口名称对应的设备出现错误。本实施例中的错误包括字段与正确字段不一致,以及字段的范围超过合理范围等。举例来说,若自动化测试工具在分析某条第二消息中的接口名称和接口参数键值时,发现NFV***或组件名称1的接口1对应的接口参数设置有误,则可定位到错误位置为NFV***或组件名称1的接口1。
本申请提供的NFV中自动化测试的方法中,根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程。在测试过程中,接收待测组件发送的第一消息。若发现错误,则停止测试,记录停止测试时间。若待测组件中虚拟机的状态信息为正常,则获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息。根据预设映射关系,将所述第一消息中的源IP地址、目的IP地址分别替换为源组件名称、目的组件名称,将访问消息替换为所述接口名称和所述接口参数,得到第二消息。根据所述第二消息,定位所述错误的位置。从而实现对NFV***或组件的端到端自动化测试,并实现问题的定位,相比现有技术由人工部署待测软件和测试环境,并且由人工执行测试和对测试中出现的问题进行定位和分析的方法,耗时更少,效率更高。
本申请的一个典型实施例如下:
本实例要对NFV架构中的VIM进行功能测试。本实施例中,VIM基于开源Openstack实现,VIM的部署对服务器设备硬件没有特殊的要求。VIM分为控制节点和计算节点,控制节点采用主备方式部署,且主和备的资源消耗相同。
自动化测试工具纳管了若干通用x86服务器,其IP地址设置为192.168.1.90。测试用例为“输入:POST/servers/CreateServers{imageRef,flavorRef,name,networks}返回:{Location,server,id,links}”,该测试用例可以测试VIM为虚拟机创建接口的功能。
自动化测试工具根据测试环境部署模板分配相应的虚拟资源,给VIM分配1台裸机服务器以完成对VIM的部署。同理,对VIM周边组件如VNFM和NFVO进行部署。然后调用VNFM创建VNF,创建和启动所需的虚拟机01和虚拟机02,保存这两个虚拟机的标识VM_ID(01和02),并对成功创建和启动的虚拟机执行PING命令,以检查其网络是否正常可达。
若各个虚拟机均正常可达,则自动化测试工具分别在虚拟机01和02中部署控制代理Agent。自动化测试工具执行PING命令检查自己与控制代理之间是否正常可达,若正常可达,则通过控制代理检查待测组件与其他组件或仪表之间的网络拓扑是否符合测试要求。
若待测组件与其他组件或仪表之间的网络拓扑符合测试要求,则自动化测试工具中保存如下表1和表2中的映射关系。
表1
表2
组件 Service_Point
VIM 192.168.1.1:8080
由于本实施例的测试类型是功能测试,因此自动化测试工具根据测试类别确定测试用例为Test_01。自动化测试工具通过NTP和各个组件进行时间同步,然后将测试用例标识Test_01下发到所有与用例相关组件的控制代理Agent。自动化测试工具确定与所述测试用例对应的测试脚本,调用所述待测组件的应用程序接口应用程序编程接口(ApplicationProgramming Interface,AP I)执行所述测试脚本对所述待测组件的功能进行测试。然后记录此时的时间为2018:09:12:9:21:21(格式为年月日时分秒),即开始测试的时间。
自动化测试工具通过VIM上的Agent获取测试环境中虚拟机01和02的状态信息以及状态信息持续的时间。
在测试用例执行的过程中VIM会收到自动化测试工具发来的“POST/Servers/CreateServers{testvm,70a599e0-31e7-49b7-b260-868f441e862b”,http://openstack.example.com/flavors/1,auto}”的访问消息。VIM中的Agent会以<Test_ID,源IP,目的IP,访问消息内容,访问消息时间>形式发送到自动化测试工具。然后VIM执行访问消息中的指令,创建镜像ID为70a599e0-31e7-49b7-b260-868f441e862b的虚拟机。
这里假设VIM在执行指令时没有找到相应的镜像ID,故VIM的回复消息为“RESPONSE{Error:itemNotFound,ErrorCode:404}”,该回复消息说明出现了404错误,即没有找到相应的镜像ID。Agent会将该回复消息通过Agent以<Test_ID,源IP,目的IP,回复消息内容,回复消息时间>形式传递给自动化测试工具。自动化测试工具收到回复消息后,记录此时的时间2018:09:12:9:21:25为结束时间。
自动化测试工具根据获取的VIM中虚拟机的状态信息,判断此时待测组件中虚拟机的状态信息是否正常。状态信息中没有出现告警或错误,即VIM中虚拟机的状态信息为正常。然后自动化测试工具提取从开始时间2018:09:12:9:21:21到结束时间2018:09:12:9:21:25期间内,和测试用例Test_01所有相关的消息,如表3所示。
表3
将表3中的数据根据保存的<NFV***或组件名称,VM_ID,IP>的映射关系,并将源IP地址、目的IP地址分别替换为源组件名称、目的组件名称,将访问消息,替换为接口名称和接口参数,转换后的形式如表4所示。
表4
通过与正确的参数进行比对,发现表4中的镜像ID有误,即可定位该参数所对应的接口1为错误位置。
本申请实施例可以根据上述方法示例对NFV中自动化测试的装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图3示出了上述实施例中所涉及的NFV中自动化测试的装置的一种可能的结构示意图。该NFV中自动化测试的装置包括确定模块301、处理模块302、定位模块303。
其中,所述确定模块301,用于根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程。所述测试类别包括以下任意一项:功能测试、接口测试或待测组件和其他组件的互联互通关系测试;所述待测组件为NFV***或NFV***中的组件。
所述处理模块302,用于记录开始测试时间;获取待测组件中虚拟机的状态信息;在测试过程中,接收待测组件发送的第一消息;所述第一消息包括测试用例标识、源IP地址、目的IP地址和所述待测组件收到的访问消息;所述测试用例标识用于表示当前测试用例;所述访问消息包括接口名称和接口参数;在接收所述第一消息的过程中,若发现错误,则停止测试,记录停止测试时间;若待测组件中虚拟机的状态信息为正常,则获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息;根据预设映射关系,将所述第一消息中的所述源IP地址、所述目的IP地址分别替换为源组件名称、目的组件名称,将所述第一消息中的所述访问消息,替换为所述接口名称和所述接口参数,得到第二消息。
所述定位模块303,用于根据所述第二消息,定位所述错误的位置。
可选的,所述处理模块302,还用于根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本;若所述测试类别为功能测试,则调用所述待测组件的应用程序接口API执行所述测试脚本;若所述测试类别为接口测试,则调用所述待测组件与周围组件之间的接口执行所述测试脚本;若所述测试类别为所述待测组件和其他组件的互联互通关系,则通过所述测试脚本监控所述待测组件与周围组件的状态。
可选的,所述定位模块303,还用于若所述第二消息中的接口名称和接口参数的键值对不正确,则确定所述接口名称对应的组件出现错误。
可选的,所述处理模块302,还用于根据所述测试环境部署模板,部署虚拟网络功能管理器VNFM;调用所述VNFM创建虚拟网元VNF,以构建端到端的测试环境;或者,在所述VNFM上创建VNF,以构建端到端的测试环境。
可选的,本申请实施例提供的NFV中自动化测试的装置还可以包括接收模块304。所述接收模块304,用于若所述待测组件和周围组件收到所述访问消息,则接收所述组件对应的控制代理发送的所述第一消息。
本申请提供的NFV中自动化测试的装置,根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程。在测试过程中,接收待测组件发送的第一消息。若发现错误,则停止测试,记录停止测试时间。若待测组件中虚拟机的状态信息为正常,则获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息。根据预设映射关系,将所述第一消息中的源IP地址、目的IP地址分别替换为源组件名称、目的组件名称,将访问消息替换为所述接口名称和所述接口参数,得到第二消息。根据所述第二消息,定位所述错误的位置。从而实现对NFV***或组件的端到端自动化测试,并实现问题的定位,相比现有技术由人工部署待测软件和测试环境,并且由人工执行测试和对测试中出现的问题进行定位和分析的方法,耗时更少,效率更高。
图4示出了上述实施例中所涉及的NFV中自动化测试的装置的又一种可能的结构示意图。该NFV中自动化测试的装置包括:处理器401和通信接口402。处理器401用于对NFV中自动化测试的装置的动作进行控制管理,例如,执行上述确定模块301、处理模块302执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口402用于支持NFV中自动化测试的装置与其他网络实体的通信,例如,执行上述接收模块304执行的步骤。NFV中自动化测试的装置还可以包括存储器403和总线404,存储器403用于存储NFV中自动化测试的装置的程序代码和数据。
其中,存储器403可以是NFV中自动化测试的装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
上述处理器401可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线404可以是扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当网络设备执行该指令时,该网络设备执行上述方法实施例所示的方法流程中网络设备执行的各个步骤。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (13)

1.一种NFV中自动化测试的方法,其特征在于,所述方法应用于自动化测试工具,所述自动化测试工具中保存有至少一个测试用例和测试用例对应的测试脚本;所述自动化测试工具中预先保存有预设映射关系,所述预设映射关系包括互联网协议IP地址和组件标识之间的映射关系;所述方法包括:
所述自动化测试工具根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程;所述测试类别包括以下任意一项:功能测试、接口测试或待测组件和其他组件的互联互通关系测试;所述待测组件为NFV***或NFV***中的组件;
所述自动化测试工具记录开始测试时间;
所述自动化测试工具获取待测组件中虚拟机的状态信息;
在测试过程中,所述自动化测试工具接收待测组件发送的第一消息;所述第一消息包括测试用例标识、源IP地址、目的IP地址和所述待测组件收到的访问消息;所述测试用例标识用于表示当前测试用例;所述访问消息包括接口名称和接口参数;
在接收所述第一消息的过程中,所述自动化测试工具若发现错误,则停止测试,记录停止测试时间;
若待测组件中虚拟机的状态信息为正常,则所述自动化测试工具获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息;
所述自动化测试工具根据预设映射关系,将所述第一消息中的所述源IP地址、所述目的IP地址分别替换为源组件名称、目的组件名称,将所述第一消息中的所述访问消息,替换为所述接口名称和所述接口参数,得到第二消息;
所述自动化测试工具根据所述第二消息,定位所述错误的位置。
2.根据权利要求1所述的NFV中自动化测试的方法,其特征在于,所述自动化测试工具根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程,包括:
所述自动化测试工具根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本;
若所述测试类别为功能测试,则所述自动化测试工具调用所述待测组件的应用程序接口API执行所述测试脚本;
若所述测试类别为接口测试,则所述自动化测试工具调用所述待测组件与周围组件之间的接口执行所述测试脚本;
若所述测试类别为所述待测组件和其他组件的互联互通关系,则所述自动化测试工具通过所述测试脚本监控所述待测组件与周围组件的状态。
3.根据权利要求1所述的NFV中自动化测试的方法,其特征在于,所述自动化测试工具根据所述第二消息,定位所述错误的位置,包括:
若所述第二消息中的接口名称和接口参数的键值对不正确,则所述自动化测试工具确定所述接口名称对应的组件出现错误。
4.根据权利要求1所述的NFV中自动化测试的方法,其特征在于,所述自动化测试工具中保存有测试环境部署模板,所述测试环境部署模板中包括测试用例对应的组件,所述测试用例对应的组件包括待测组件和周围组件;所述周围组件为与待测组件配套的组件;
在所述自动化测试工具获取待测组件中虚拟机的状态信息之前,所述方法还包括:
所述自动化测试工具根据所述测试环境部署模板,部署虚拟网络功能管理器VNFM;
所述自动化测试工具调用所述VNFM创建虚拟网元VNF,以构建端到端的测试环境;或者,
所述自动化测试工具在所述VNFM上创建VNF,以构建端到端的测试环境。
5.根据权利要求4所述的NFV中自动化测试的方法,其特征在于,所述每一个待测组件和周围组件中设置有对应的控制代理,所述方法还包括:
若所述待测组件和周围组件收到所述访问消息,则所述自动化测试工具接收所述组件对应的控制代理发送的所述第一消息。
6.一种NFV中自动化测试的装置,其特征在于,所述装置应用于自动化测试工具,所述自动化测试工具中保存有至少一个测试用例和测试用例对应的测试脚本;所述自动化测试工具中预先保存有预设映射关系,所述预设映射关系包括互联网协议IP地址和组件标识之间的映射关系;所述装置包括:
确定模块,用于根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本执行测试过程;所述测试类别包括以下任意一项:功能测试、接口测试或待测组件和其他组件的互联互通关系测试;所述待测组件为NFV***或NFV***中的组件;
处理模块,用于记录开始测试时间;获取待测组件中虚拟机的状态信息;在测试过程中,接收待测组件发送的第一消息;所述第一消息包括测试用例标识、源IP地址、目的IP地址和所述待测组件收到的访问消息;所述测试用例标识用于表示当前测试用例;所述访问消息包括接口名称和接口参数;在接收所述第一消息的过程中,若发现错误,则停止测试,记录停止测试时间;若待测组件中虚拟机的状态信息为正常,则获取所述开始测试时间至所述停止测试时间之间的与当前测试用例相关的所有第一消息;根据预设映射关系,将所述第一消息中的所述源IP地址、所述目的IP地址分别替换为源组件名称、目的组件名称,将所述第一消息中的所述访问消息,替换为所述接口名称和所述接口参数,得到第二消息;
定位模块,用于根据所述第二消息,定位所述错误的位置。
7.根据权利要求6所述的NFV中自动化测试的装置,其特征在于,
所述处理模块,还用于根据测试类别确定测试用例并调用与所述测试用例对应的测试脚本;若所述测试类别为功能测试,则调用所述待测组件的应用程序接口API执行所述测试脚本;若所述测试类别为接口测试,则调用所述待测组件与周围组件之间的接口执行所述测试脚本;若所述测试类别为所述待测组件和其他组件的互联互通关系,则通过所述测试脚本监控所述待测组件与周围组件的状态。
8.根据权利要求6所述的NFV中自动化测试的装置,其特征在于,
所述定位模块,还用于若所述第二消息中的接口名称和接口参数的键值对不正确,则确定所述接口名称对应的组件出现错误。
9.根据权利要求6所述的NFV中自动化测试的装置,其特征在于,
所述处理模块,还用于根据所述测试环境部署模板,部署虚拟网络功能管理器VNFM;调用所述VNFM创建虚拟网元VNF,以构建端到端的测试环境;或者,在所述VNFM上创建VNF,以构建端到端的测试环境。
10.根据权利要求9所述的NFV中自动化测试的装置,其特征在于,
还包括接收模块,用于若所述待测组件和周围组件收到所述访问消息,则接收所述组件对应的控制代理发送的所述第一消息。
11.一种NFV中自动化测试的装置,其特征在于,所述NFV中自动化测试的装置包括:处理器、收发器和存储器;其中,存储器用于存储一个或多个程序;该一个或多个程序包括计算机执行指令,当该NFV中自动化测试的装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该NFV中自动化测试的装置执行权利要求1至5中任意之一所述的NFV中自动化测试的方法。
12.一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述权利要求1至5中任意之一所述的NFV中自动化测试的方法。
13.一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,该计算机执行上述权利要求1至5中任意之一所述的NFV中自动化测试的方法。
CN201811179958.6A 2018-10-10 2018-10-10 Nfv中自动化测试的方法和装置 Active CN109491889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811179958.6A CN109491889B (zh) 2018-10-10 2018-10-10 Nfv中自动化测试的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811179958.6A CN109491889B (zh) 2018-10-10 2018-10-10 Nfv中自动化测试的方法和装置

Publications (2)

Publication Number Publication Date
CN109491889A true CN109491889A (zh) 2019-03-19
CN109491889B CN109491889B (zh) 2021-09-24

Family

ID=65690230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811179958.6A Active CN109491889B (zh) 2018-10-10 2018-10-10 Nfv中自动化测试的方法和装置

Country Status (1)

Country Link
CN (1) CN109491889B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190778A (zh) * 2019-12-26 2020-05-22 曙光信息产业股份有限公司 用于分布式存储***的磁盘阵列测试***
CN111666097A (zh) * 2020-06-01 2020-09-15 北京思特奇信息技术股份有限公司 基于业务场景的能力显性化方法和装置
CN112231210A (zh) * 2020-10-13 2021-01-15 中移(杭州)信息技术有限公司 网络功能虚拟化环境下的测试方法、设备及存储介质
CN112306839A (zh) * 2019-07-24 2021-02-02 ***通信有限公司研究院 接口测试方法、装置及服务器
CN114070764A (zh) * 2020-08-07 2022-02-18 中国电信股份有限公司 网络功能虚拟化nfv测试方法、装置和***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104885407A (zh) * 2013-12-31 2015-09-02 华为技术有限公司 一种网络功能虚拟化nfv故障管理装置、设备及方法
CN105634899A (zh) * 2014-10-29 2016-06-01 中兴通讯股份有限公司 虚拟网络业务的提供方法及***
CN106452925A (zh) * 2016-12-02 2017-02-22 华为技术有限公司 在nfv***中检测故障的方法、装置和***
CN107005452A (zh) * 2015-09-29 2017-08-01 华为技术有限公司 一种网络功能虚拟化资源处理方法及虚拟网络功能管理器
CN108353004A (zh) * 2015-11-12 2018-07-31 是德科技新加坡(控股)私人有限公司 用于测试网络功能虚拟化(nfv)的方法、***和计算机可读介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104885407A (zh) * 2013-12-31 2015-09-02 华为技术有限公司 一种网络功能虚拟化nfv故障管理装置、设备及方法
CN105634899A (zh) * 2014-10-29 2016-06-01 中兴通讯股份有限公司 虚拟网络业务的提供方法及***
CN107005452A (zh) * 2015-09-29 2017-08-01 华为技术有限公司 一种网络功能虚拟化资源处理方法及虚拟网络功能管理器
CN108353004A (zh) * 2015-11-12 2018-07-31 是德科技新加坡(控股)私人有限公司 用于测试网络功能虚拟化(nfv)的方法、***和计算机可读介质
CN106452925A (zh) * 2016-12-02 2017-02-22 华为技术有限公司 在nfv***中检测故障的方法、装置和***

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DILIP KRISHNASWAMY等: ""Latency and policy aware hierarchical partitioning for NFV systems"", 《2015 IEEE CONFERENCE ON NETWORK FUNCTION VIRTUALIZATION AND SOFTWARE DEFINED NETWORK (NFV-SDN)》 *
RAPHAEL VICENTE ROSA等: ""Take Your VNF to the Gym: A Testing Framework for Automated NFV Performance Benchmarking"", 《IEEE COMMUNICATIONS MAGAZINE》 *
丁志军等: ""Web服务组合测试综述"", 《软件学报》 *
田斐等: ""基于日志分析的虚拟化环境故障定位***"", 《计算机***应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306839A (zh) * 2019-07-24 2021-02-02 ***通信有限公司研究院 接口测试方法、装置及服务器
CN111190778A (zh) * 2019-12-26 2020-05-22 曙光信息产业股份有限公司 用于分布式存储***的磁盘阵列测试***
CN111666097A (zh) * 2020-06-01 2020-09-15 北京思特奇信息技术股份有限公司 基于业务场景的能力显性化方法和装置
CN111666097B (zh) * 2020-06-01 2023-03-31 北京思特奇信息技术股份有限公司 基于业务场景的能力显性化方法和装置
CN114070764A (zh) * 2020-08-07 2022-02-18 中国电信股份有限公司 网络功能虚拟化nfv测试方法、装置和***
CN112231210A (zh) * 2020-10-13 2021-01-15 中移(杭州)信息技术有限公司 网络功能虚拟化环境下的测试方法、设备及存储介质

Also Published As

Publication number Publication date
CN109491889B (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN109491889A (zh) Nfv中自动化测试的方法和装置
CN109302522B (zh) 测试方法、装置以及计算机***和介质
US10158743B2 (en) Compute node cluster management
US7788205B2 (en) Using stochastic models to diagnose and predict complex system problems
WO2019128299A1 (zh) 一种测试***及测试方法
US20220188192A1 (en) Identifying harmful containers
US20180039548A1 (en) Smart virtual machine snapshotting
CN109254922A (zh) 一种服务器BMC Redfish功能的自动化测试方法及装置
US20180188990A1 (en) Method, apparatus and system for inserting disk
CN111464376A (zh) 网站可用性的监测方法及装置、存储介质、计算机设备
CN109684166A (zh) 自动测试Sensor日志规范性的方法、装置、终端及存储介质
US10552282B2 (en) On demand monitoring mechanism to identify root cause of operation problems
CN108959044A (zh) 一种基于perl的验证MCS下卷迁移有效性的方法和***
CN109787865B (zh) 一种升级情况的验证方法、***、交换机及存储介质
CN108427635A (zh) 快速测试web页面的方法、服务器及计算机可读存储介质
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
CN109324933A (zh) 一种AEP内存reboot测试方法、装置、终端及存储介质
CN109189679A (zh) 接口测试方法及***、电子设备、存储介质
CN115705190A (zh) 依赖程度的确定方法及装置
CN116194894A (zh) 原生云应用程序的故障定位
EP4152715A1 (en) Method and apparatus for determining resource configuration of cloud service system
CN115022201B (zh) 一种数据处理功能测试方法、装置、设备及存储介质
CN109358813B (zh) 一种分布式存储***的扩容方法及装置
CN109614139A (zh) 一种***服务配置方法、装置、设备及介质
CN115617668A (zh) 一种兼容性测试方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant