CN102118281B - 自动化测试方法、装置及网络设备 - Google Patents

自动化测试方法、装置及网络设备 Download PDF

Info

Publication number
CN102118281B
CN102118281B CN 201110063268 CN201110063268A CN102118281B CN 102118281 B CN102118281 B CN 102118281B CN 201110063268 CN201110063268 CN 201110063268 CN 201110063268 A CN201110063268 A CN 201110063268A CN 102118281 B CN102118281 B CN 102118281B
Authority
CN
China
Prior art keywords
topology
test
logical
test environment
logical device
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.)
Expired - Fee Related
Application number
CN 201110063268
Other languages
English (en)
Other versions
CN102118281A (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.)
Beijing Star Net Ruijie Networks Co Ltd
Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks 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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN 201110063268 priority Critical patent/CN102118281B/zh
Publication of CN102118281A publication Critical patent/CN102118281A/zh
Application granted granted Critical
Publication of CN102118281B publication Critical patent/CN102118281B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种自动化测试方法、装置及网络设备。其中方法包括:获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑;根据所述全局虚拟拓扑,调用所述测试脚本执行测试。采用本发明技术方案进行自动化测试,可以提高测试脚本的灵活性和可移植性,提高测试端口的覆盖率和覆盖测试的执行效率。

Description

自动化测试方法、装置及网络设备
技术领域
本发明涉及自动化测试技术,尤其涉及一种自动化测试方法、装置及网络设备。
背景技术
随着路由器、交换机等通信设备越来越高端,通信设备包含的芯片越来越多;芯片主要负责数据转发,每个芯片下关联着若干个端口。为了保证通信设备的使用质量,通常会在出厂前对通信设备进行性能测试。随着通信领域的自动化测试技术逐渐成熟,对通信设备的测试都是采用自动化方法进行测试的。自动化测试是由测试人员事先根据测试用例定制好测试脚本,然后使用自动化测试系统自动将测试脚本下发到被测设备,并捕获被测设备的输出结果,通过将输出结果与固化在测试脚本中的预期结果进行比较得出测试结论的测试方法。
如果某个芯片所关联的端口中存在没有被覆盖测试到的,可能会导致通信设备质量降低。而在自动化测试过程中,测试环境中被测端口的个数或者测试环境拓扑关系有可能发生变化,为了保证自动化测试后通信设备的质量,在对通信设备进行测试时,不仅要求通信设备的每个芯片下有端口被覆盖测试到,还要求同一芯片内的端口数据转发、不同芯片间的端口数据转发、同一芯片内的边界端口都要被覆盖测试到,即要求所有端口都要能被覆盖测试到。
现有技术存在两种对测试环境中测试端口进行全部覆盖测试的自动化测试方法。第一种是:自动化系统的测试脚本直接读取测试环境拓扑关系描述的变量来获取测试端口,即测试脚本中定义的测试拓扑直接依赖于由测试环境产生的测试环境拓扑关系。这样只要测试环境中测试端口个数发生变化,测试脚本就能识别并覆盖测试到。但是,该方法中测试脚本直接使用测试环境拓扑关系描述的变量,当测试环境拓扑关系描述的变量发生变化时,就需要对每个测试脚本中引用的该变量进行修改、替换等操作,对测试脚本的维护工作量大、维护成本较高、测试脚本的可移植性较差。另外,测试脚本中定义的设备、链路和端口直接与测试环境中的设备、链路和端口进行绑定,要求测试脚本中定义的测试拓扑与实际的测试环境拓扑相一致,如果测试环境发生变化(例如测试设备的位置发生了变化),则测试脚本的测试对象就不一样,测试脚本的灵活性差。
第二种方法是:自动化系统的测试脚本使用一个逻辑拓扑,不依赖于测试环境拓扑。测试脚本执行时,根据逻辑拓扑定义关系到测试环境拓扑中去查找对应的设备、链路和端口,并映射到逻辑拓扑中,然后根据逻辑拓扑进行测试。由于逻辑拓扑是固定的,不会随着测试环境中测试端口个数的变化而变化,因此,需要通过多次执行测试脚本来完成对测试环境中所有测试端口的覆盖测试。在该方法中,由于逻辑拓扑是固定的,测试端口不能被灵活覆盖测试,需要多次执行测试脚本,测试效率较低。另外,当逻辑拓扑关系发生变化(例如在两个逻辑设备之间增加新的链路)时,原测试脚本将无法覆盖新增的链路和端口,需要重新修改,灵活性较差。
发明内容
本发明提供一种自动化测试方法、装置及网络设备,用以提高测试脚本的灵活性和可移植性,提高自动化测试的覆盖率和覆盖测试的执行效率。
本发明提供一种自动化测试方法,包括:
获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;
根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑;
根据所述全局虚拟拓扑,调用所述测试脚本执行测试。
本发明提供一种自动化测试装置,包括:
获取模块,用于获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值;
生成模块,用于根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑;
测试模块,用于根据所述全局虚拟拓扑,调用所述测试脚本执行测试。
本发明提供一种网络设备,包括本发明提供的任一自动化测试装置。
本发明的自动化测试方法、装置及网络设备,通过获取测试脚本对应的最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间的链路数变化标识信息,并根据最小逻辑拓扑和链路数变化标识信息在测试环境拓扑中进行映射生成全局虚拟拓扑,根据全局虚拟拓扑调用测试脚本对测试环境中的设备进行测试。在本发明技术方案中,虚拟拓扑可以随测试环境拓扑中测试端口的个数变化而变化,测试脚本直接使用动态生成的虚拟拓扑进行测试,既不依赖测试环境拓扑也不依赖于逻辑拓扑,当测试环境拓扑中测试端口的个数发生变化时可以自动对所有端口进行覆盖测试,具有较好的移植性和灵活性。另外,通过本发明技术方案,还可以提高自动化测试的测试覆盖率和覆盖测试时的执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的自动化测试方法的流程图;
图2为本发明实施例一所列举的一种测试环境拓扑结构的示意图;
图3为本发明实施例一所列举的一种最小逻辑拓扑结构的示意图;
图4为本发明实施例二提供的自动化测试装置的结构示意图;
图5为本发明实施例三提供的自动化测试装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的自动化测试方法的流程图。如图1所示,本实施例的方法包括:
步骤101、获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;
其中,测试环境是指由实际被测试的设备(以下简称为测试设备)、辅助设备、测试仪器等组成的测试拓扑。测试环境拓扑是根据测试环境生成的,包括测试环境中测试设备端口连接关系和测试设备属性等信息。最小逻辑拓扑是测试脚本执行时所需的最小测试拓扑,该最小逻辑拓扑中包括逻辑设备端口连接关系和逻辑设备属性等信息,用于与测试环境拓扑相适应。该最小逻辑拓扑具体根据实际的测试环境而定,例如可以是通过一条链路连接的两台测试设备构成的拓扑,也可以是一台测试设备通过一个端口与一台测试仪连接的拓扑。在本实施例中,每个最小逻辑拓扑对应一个最小逻辑拓扑中逻辑设备之间链路数变化标识信息,该链路数变化标识信息用于包括最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑的变化而变化的信息,以及链路个数变化值,即逻辑设备之间链路变化时每次增加的链路数。该链路个数变化值可以是1、2或3等任何自然数。
具体的,自动化测试装置在开始执行自动化测试前,首先加载公共库和初始化全局配置信息(例如全局开关变量、产品指标全局变量等),并确定测试用例。其中,所确定的测试用例包括本实施例所述的测试环境、相应的测试脚本以及预期测试结果等内容。在确定测试用例之后,自动化测试装置在调用测试脚本前分别获取测试环境拓扑、测试脚本对应的最小逻辑拓扑和链路数变化标识信息,为调用并执行测试脚本做准备。
步骤102、根据最小逻辑拓扑和链路数变化标识信息,在测试环境拓扑中进行映射,生成全局虚拟拓扑;
其中,自动化测试装置根据最小逻辑拓扑和链路数变化标识信息所生成的全局虚拟拓扑是动态变化的,可以随测试环境拓扑中测试端口的变化而变化。在全局虚拟拓扑中记录着动态获取到的测试环境拓扑中要求覆盖测试的所有端口的拓扑连接关系、设备属性以及端口属性等信息,故称之为全局虚拟拓扑。
步骤103、根据全局虚拟拓扑,调用测试脚本执行测试。
在本实施例中,测试人员编写的测试脚本,与全局虚拟拓扑记录的信息相适应,因此,当步骤102生成全局虚拟拓扑后,自动化测试装置调用测试脚本,测试脚本直接使用全局虚拟拓扑对测试环境中所有端口进行覆盖测试。
本实施例的自动化测试方法,自动化测试装置通过获取测试脚本对应的最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间的链路数变化标识信息,并根据最小逻辑拓扑和链路数变化标识信息在测试环境拓扑中进行映射生成全局虚拟拓扑,根据全局虚拟拓扑调用测试脚本对测试环境中的设备进行测试。在本实施例中,根据链路数变化标识信息生成的虚拟拓扑可以随测试环境拓扑中测试端口的个数变化而变化,而测试脚本直接使用动态生成的虚拟拓扑进行测试,当测试环境拓扑变化时,不需要修改测试脚本就能对需要测试的端口进行覆盖测试,测试端口可被灵活覆盖,且不需要多次执行测试脚本,提高了测试的执行效率。另外,与现有技术相比,本实施例的测试脚本依赖于虚拟拓扑,而不依赖测试环境拓扑,测试脚本所使用的设备、链路和端口与测试环境拓扑中的设备、链路和端口没有直接绑定,当测试环境发生变化时,不需要修改测试脚本,测试脚本具有较好的可移植性和灵活性。进一步,本实施例的测试脚本也不依赖于逻辑拓扑,不存在端口无法在一次测试过程中被全部覆盖的问题,提高了端口覆盖率和测试执行效率,提高了测试脚本的灵活性。
其中,上述实施例中步骤101的一种实施方式包括:
步骤1011、解析预先存储在数据库中的测试环境拓扑关系描述信息,获取测试设备端口连接关系和测试设备属性,以生成测试环境拓扑;
其中,测试环境,是由测试设备组成的测试拓扑。测试环境拓扑关系描述信息主要用于描述测试环境中测试设备的属性、端口的属性以及测试设备之间的拓扑连接关系等信息。在测试环境确定后,测试人员通常把测试环境拓扑描述信息保存在数据库中,例如结构化查询语言(Structured QueryLanguage;简称为:SQL)数据库。在自动化测试装置开始执行自动化测试时,通过读取保存测试环境拓扑关系描述信息的数据库,获取测试环境拓扑关系描述信息,并以存储设测试备端口连接关系、测试设备属性的格式对测试环境拓扑关系描述信息进行解析,获取其中的测试设备端口连接关系和测试设备属性,并把获取的测试设备端口连接关系和测试设备属性以数组结构的方式保存,生成测试环境拓扑。该测试环境拓扑用于给生成全局虚拟拓扑使用。
以图2所示的由测试仪对测试设备11和测试设备12进行测试的测试环境拓扑为例,具体的,测试人员首先将测试设备11的和测试设备12的属性、测试设备11和测试设备12的端口连接关系,即链路13、链路14、链路15和链路16的信息存储到自动化测试装置的数据库中。当自动化测试装置执行自动化测试时,通过读取数据库获取所需的信息,并按照测试设备端口连接关系和测试设备的属性的对应的关系对获取的信息进行解析并保存在数组结构中。
步骤1012、解析测试脚本对应的最小逻辑拓扑关系描述信息,获取逻辑设备端口连接关系和逻辑设备属性,以形成最小逻辑拓扑;
具体的,每个测试脚本都会预先定义一个对应的最小逻辑拓扑关系描述信息,即满足测试脚本执行时的最小测试拓扑信息。最小逻辑拓扑关系描述信息包括逻辑设备属性和逻辑设备端口连接关系,通常逻辑设备属性和逻辑设备端口连接关系是用可扩展标记语言(Extensible Markup Language;简称为:XML)格式文件保存的。当自动化测试装置开始执行测试脚本时,先读取保存测试脚本对应的最小逻辑拓扑关系描述信息的XML文件,然后根据存储逻辑设备端口连接关系、逻辑设备属性的格式对最小逻辑拓扑关系描述信息进行解析,获取最小逻辑拓扑关系描述信息中的逻辑设备端口连接关系和逻辑设备属性,并将获取的逻辑设备端口连接关系和逻辑设备属性以数组结构的方式保存,生成最小逻辑拓扑。生成的最小逻辑拓扑用于给动态生成全局虚拟拓扑使用。
以图3所示的测试脚本满足执行时的最小逻辑拓扑结构为例,自动化测试装置会用XML格式的文件定义图3中的测试仪及其属性、逻辑设备21及其属性和逻辑设备22及其属性、以及逻辑设备端口连接关系(即链路a的信息)并保存。当测试脚本执行时,自动化测试装置就会读取定义最小逻辑拓扑的XML格式文件并解析,将解析出的逻辑设备端口连接关系和逻辑设备属性的对应关系保存在数组结构中。
步骤1013、解析测试脚本对应的最小逻辑拓扑中逻辑设备之间链路数变化描述信息,获取最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值,以形成链路数变化标识信息。
每个测试脚本在定义对应的最小逻辑拓扑关系描述信息的同时,还会定义一个对应的最小逻辑拓扑中逻辑设备之间链路数变化描述信息,该最小逻辑拓扑中逻辑设备之间链路数变化描述信息主要用于描述最小逻辑拓扑中逻辑设备之间链路个数需要随着测试环境拓扑的链路个数变化而变化,而且还记录着逻辑设备之间每次链路变化增加的链路数,即链路个数变化值。该最小逻辑拓扑中逻辑设备之间链路数变化描述信息也是用XML格式文件保存的。当开始执行测试脚本时,自动化测试装置除了读取保存最小逻辑拓扑关系描述信息的XML文件外,还会读取保存最小逻辑拓扑中逻辑设备之间链路变化描述信息的XML文件并进行解析,获取逻辑设备链路个数随测试环境链路个数变化而变化的信息和链路个数变化值并用数组结构的方式保存,生成最小逻辑拓扑中逻辑设备之间链路数变化标识信息。生成的最小逻辑拓扑中逻辑设备之间链路数变化标识信息用于给动态生成全局虚拟拓扑使用。
以图3所示为例,假设最小逻辑拓扑中逻辑设备21和逻辑设备22之间只定义了一条链路a,但是在测试时希望逻辑设备21和逻辑设备22之间的链路随着测试环境中的链路数进行变化,则在该最小逻辑拓扑对应的最小逻辑拓扑中逻辑设备之间链路数变化标识信息中标识逻辑设备21和逻辑设备22之间的链路数是可变的,并同时记录逻辑设备21和逻辑设备22之间每次链路数变化时增加的链路数,例如设为1。这样在自动化测试执行过程中,逻辑设备21和逻辑设备22之间的链路数可以根据测试环境拓扑的变化以最小逻辑拓扑为基础逐次增加所设定的链路数,以最终生成全局虚拟拓扑。
基于上述实施例,上述实施例中步骤102的一种实施方式包括:
步骤1021、根据最小逻辑拓扑中的逻辑设备端口连接关系和逻辑设备属性,生成初始虚拟拓扑。
具体的,自动化测试装置在获取测试环境拓扑和最小逻辑拓扑以及最小逻辑拓扑中逻辑设备之间链路数变化表示信息之后,首先基于最小逻辑拓扑生成一个初始虚拟拓扑。以图3所示为例,自动化测试装置所生成的初始虚拟拓扑包括逻辑设备21和逻辑设备22的端口连接关系,即链路a,还包括逻辑设备21和逻辑设备22的属性。
步骤1022、根据初始虚拟拓扑,在测试环境拓扑中进行查找,并判断是否查找到与初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系;若判断结果为是,则执行步骤1023;反之,则执行步骤1024。
具体的,自动化测试装置首先在生成的测试环境拓扑查找与初始虚拟拓扑中的逻辑设备属性相同的测试设备属性,即查找符合初始虚拟拓扑中的逻辑设备属性类型的测试设备。如果在测试环境拓扑中查找到与初始虚拟拓扑中的逻辑设备属性相同的测试设备属性,即找到符合初始虚拟拓扑中的逻辑设备属性类型的测试设备,则自动化测试装置继续在查找到的测试设备属性对应的测试设备端口连接关系中查找与初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系,即在查找到的测试设备之间找出符合初始虚拟拓扑中逻辑设备端口连接关系的端口和端口连接关系。如果在查找到的测试设备属性对应的测试设备端口连接关系中找到与初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系,说明在测试环境拓扑中找到了与初始虚拟拓扑一直的测试设备属性和测试设备端口连接关系,则继续执行步骤1023。如果在查找到的测试设备属性对应的测试设备端口连接关系中未找到与初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系,或者,在测试环境拓扑中未查找到与初始虚拟拓扑中的逻辑设备属性相同的测试设备属性,说明在测试环境拓扑中未找到与初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系,则继续执行步骤1024。
步骤1023、将被找到的测试设备属性和测试设备端口连接关系映射到初始虚拟拓扑中,并根据链路数变化标识信息,将初始虚拟拓扑中的逻辑设备端口连接关系增加链路个数变化值,以重新生成初始虚拟拓扑,并返回步骤1022,即重新执行根据初始虚拟拓扑,在测试环境拓扑中进行查找的操作。
具体的,在自动化测试装置在测试环境拓扑中找到符合初始虚拟拓扑的测试设备和测试端口后,将找到的测试设备和测试端口映射到初始虚拟逻辑拓扑中,并解析最小逻辑拓扑中逻辑设备之间链路数变化标识信息,判断最小逻辑拓扑中是否有逻辑设备之间链路数要随着测试环境拓扑中测试设备之间链路数变化而变化。如果没有,则本实施例自动化测试方法的流程将与现有技术中基于逻辑拓扑进行测试的流程相同,在此不再赘述。如果有,则自动化测试装置就将逻辑设备之间链路数加上链路变化时每次递增的链路数,即链路个数变化值,重新生成初始虚拟拓扑;然后,继续执行步骤1022,即继续查找测试环境拓扑中是否存在满足新生成的虚拟拓扑的测试设备和测试端口;如果存在,继续将逻辑设备之间的链路数加上链路个数变化值,直到测试环境拓扑中不存在符合初始虚拟拓扑的测试设备和测试端口为止,此时将执行步骤1024。
步骤1024、将初始虚拟拓扑去除当前增加的逻辑设备端口连接关系以生成全局虚拟拓扑。
具体的,当测试环境拓扑中找不到满足初始虚拟拓扑的测试设备和测试端口时,说明当前初始虚拟拓扑之前的初始虚拟拓扑覆盖了测试环境中所有的测试端口,因此,将此时的初始虚拟拓扑去除当前增加的逻辑设备端口连接关系得到上一个初始虚拟拓扑,亦即全局虚拟拓扑,至此形成了全局虚拟拓扑。
结合图2和图3进一步说明步骤102中生成全局虚拟拓扑的过程。自动化测试装置读取图3对应的最小逻辑拓扑,生成初始虚拟拓扑,该初始虚拟拓扑包括逻辑设备21和逻辑设备22以及链路a。然后,自动化测试装置将初始虚拟拓扑在测试环境拓扑中进行查找,假设查找到测试设备11和测试设备12以及链路13分别与初始虚拟拓扑中的逻辑设备21和逻辑设备22以及链路a对应,则自动化测试设备将测试设备11和测试设备12以及链路13分别映射到初始虚拟拓扑中;并继续解析最小逻辑中逻辑设备之间链路数变化标识信息,假设其中的链路个数变化值记录着逻辑设备11和逻辑设备12之间的链路数要随测试环境拓扑中测试设备之间的链路变化而每次递增1条;此时,自动化测试装置在逻辑设备21和逻辑设备22之间增加1条链路,记为链路b,重新生成包括逻辑设备21和逻辑设备22以及链路a和链路b的初始虚拟拓扑。此时,自动化测试装置继续根据初始虚拟拓扑在测试环境拓扑中查找,并查找到测试设备11和测试设备12以及链路13和链路14符合初始虚拟拓扑。接着,自动化测试装置根据链路个数变化值在逻辑设备21和逻辑设备22之间增加1条链路,记为链路c,并重复执行上述操作,并查找到测试设备11和测试设备12以及链路13-链路15符合初始虚拟拓扑。接下来,自动化测试装置根据链路个数变化值在逻辑设备21和逻辑设备22之间增加1条链路,记为链路d,并重复执行上述操作,并查找到测试设备11和测试设备12以及链路13-链路16符合初始虚拟拓扑。接着,自动化测试装置根据链路个数变化值在逻辑设备21和逻辑设备22之间增加1条链路,记为链路e,并重复执行上述操作,此时发现测试环境拓扑不存在满足该初始虚拟拓扑的测试设备和链路,则认为上一个初始虚拟拓扑(即包括逻辑设备21和逻辑设备22以及链路a-链路d的初始虚拟拓扑)覆盖了测试环境拓扑中的所有测试端口,并称其为全局虚拟拓扑,因此,将当前初始虚拟拓扑去除当前增加的链路e即得到上一个初始虚拟拓扑,也就得到了全局虚拟拓扑。
基于上述实施例,上述实施例中步骤103的具体实施方式包括:
步骤1031、对测试环境中的测试设备进行初始化;
具体的,在执行测试脚本前,先对测试环境中的测试设备进行初始化,例如将测试设备进行连接等,为测试脚本运行做准备。
步骤1032、执行测试脚本,根据全局虚拟拓扑对测试环境进行覆盖测试。
其中,在执行测试脚本的过程中,自动化测试装置还将执行测试脚本时产生的日志信息写到日志文件中。当测试脚本执行列表中所有测试脚本都执行完时结束测试操作。
综上所述,本实施例的自动化测试方法将自动化测试拓扑分成了三层,分别为测试环境拓扑、最小逻辑拓扑和动态生成的虚拟拓扑,并通过定义最小逻辑拓扑中逻辑设备之间链路数变化标识信息使虚拟拓扑随测试环境拓扑变化而变化,使得本实施例具有以下有益效果:1、测试脚本直接使用动态生成的虚拟拓扑而不依赖测试环境拓扑,当测试环境发生变化时,只需要修改下虚拟拓扑在测试环境拓扑中映射的测试设备和测试端口的映射关系,而不用修改测试脚本,使测试脚本可以被移植到不同的测试环境拓扑中执行,提高了测试脚本的可移植性。与现有技术第一种方法相比,本实施例的测试脚本所使用的设备/链路/端口没有直接和测试环境拓扑中的设备/链路/端口绑定,因此,不存在现有技术第一种方法存在的问题。2、在本实施例的自动化测试过程中,根据最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间链路数变化标识信息,动态生成一个覆盖测试环境拓扑中所有端口的虚拟拓扑,当测试环境拓扑中要求覆盖的测试端口个数不同时,尤其当测试端口个数多于最小逻辑拓扑中定义的端口个数时,不需要修改测试脚本,就能够对需要覆盖的测试端口进行覆盖测试。与现有技术中第二方法相比,本实施例提高了测试脚本的灵活性和测试端口的覆盖率,以及覆盖测试的执行效率,很好的解决现有技术第二种方法存在的各种的问题。3、测试脚本直接使用动态生成的虚拟拓扑而不依赖逻辑拓扑,当测试脚本对应最小逻辑拓扑中某两个逻辑设备之间的链路数增加时,不需要修改测试脚本,就能够灵活覆盖到逻辑拓扑中增加的测试端口,提高了测试脚本的灵活性。
图4为本发明实施例二提供的自动化测试装置的结构示意图。如图4所示,本实施例的装置包括:获取模块41、生成模块42和测试模块43。
获取模块41,用于获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值;生成模块42,与获取模块41连接,用于根据最小逻辑拓扑和链路数变化标识信息,在测试环境拓扑中进行映射,生成全局虚拟拓扑;测试模块43,与生成模块42连接,用于根据全局虚拟拓扑,调用测试脚本执行测试。
本实施例自动化测试装置中各功能模块可用于执行上述方法实施例一提供的自动化测试方法的流程,其工作原理不再赘述,详见方法实施例的描述。
本实施例的自动化测试装置,通过获取测试脚本对应的最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间的链路数变化标识信息,并根据最小逻辑拓扑和链路数变化标识信息在测试环境拓扑中进行映射生成全局虚拟拓扑,根据全局虚拟拓扑调用测试脚本对测试环境中的设备进行测试。在本实施例中,根据链路数变化标识信息生成的虚拟拓扑可以随测试环境拓扑中测试端口的个数变化而变化,而测试脚本直接使用动态生成的虚拟拓扑进行测试,当测试环境拓扑变化时,不需要修改测试脚本就能对需要测试的端口进行覆盖测试,测试端口可被灵活覆盖,且不需要多次执行测试脚本,提高了测试的执行效率。另外,与现有技术相比,本实施例的测试脚本依赖于虚拟拓扑,而不依赖测试环境拓扑,测试脚本所使用的设备、链路和端口与测试环境拓扑中的设备、链路和端口没有直接绑定,当测试环境发生变化时,不需要修改测试脚本,测试脚本具有较好的可移植性和灵活性。进一步,本实施例的测试脚本也不依赖于逻辑拓扑,不存在端口无法在一次测试过程中被全部覆盖的问题,提高了端口覆盖率和测试执行效率,提高了测试脚本的灵活性。
图5为本发明实施例三提供的自动化测试装置的结构示意图。本实施例基于实施例二实现,如图5所示,本实施例的获取模块41包括:测试环境拓扑解析单元411、最小逻辑拓扑解析单元412和链路数变化标识信息解析单元413。
具体的,测试环境拓扑解析单元411,用于解析预先存储在数据库中的测试环境拓扑关系描述信息,获取测试设备端口连接关系和测试设备属性,以生成测试环境拓扑;该测试环境拓扑中的测试设备端口连接关系和测试设备属性优选以数组结构进行保存。最小逻辑拓扑解析单元412,用于解析测试脚本对应的最小逻辑拓扑关系描述信息,获取逻辑设备端口连接关系和逻辑设备属性,以生成最小逻辑拓扑;该最小逻辑拓扑中的逻辑设备端口连接关系和逻辑设备属性优选以数组结构进行保存。链路数变化标识信息解析单元413,用于解析测试脚本对应的最小逻辑拓扑中逻辑设备之间链路数变化描述信息,获取最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值,以形成链路数变化标识信息;该链路数变化标识信息中的最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值优选以数组结构进行保存。
进一步,本实施例生成模块42包括:初始虚拟拓扑生成单元421、查找单元422、更新触发单元423和全局虚拟拓扑生成单元424。
具体的,初始虚拟拓扑生成单元421,用于根据最小逻辑拓扑中的逻辑设备端口连接关系和逻辑设备属性,生成初始虚拟拓扑;查找单元422,与初始虚拟拓扑生成单元421连接,用于根据初始虚拟拓扑,在测试环境拓扑中进行查找;更新触发单元423,与查找单元422连接,用于在查找单元422找到与初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系时,将被找到的测试设备属性和测试设备端口连接关系映射到初始虚拟拓扑中,并根据链路数变化标识信息,将初始虚拟拓扑中的逻辑设备端口连接关系增加链路个数变化值,以重新生成初始虚拟拓扑并触发查找单元422重新执行查找操作;全局虚拟拓扑生成单元424,与查找单元422连接,用于在查找单元422未找到与初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系时,将初始虚拟拓扑去除当前增加的逻辑设备端口连接关系以生成全局虚拟拓扑。
其中,查找单元422具体用于在测试环境中查找与初始虚拟拓扑中的逻辑设备属性相同的测试设备属性,并在查找到相同的测试设备属性时,在查找到的测试设备属性对应的测试设备端口连接关系中查找与初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系。如果查找单元422未查找到与初始虚拟拓扑中的逻辑设备属性相同的测试设备属性,或者未查找到与初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系,均为未找到与初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系。
更进一步,本实施例的测试模块43包括:初始化单元431和测试执行单元432。具体的,初始化单元431,用于对测试环境中的测试设备进行初始化;测试执行单元432,与初始化单元431连接,用于执行测试脚本,根据全局虚拟拓扑对测试环境进行覆盖测试。
本实施例自动化测试装置的上述各功能单元可用于执行上述方法实施例一中的相应流程,其工作原理不再赘述,详见方法实施例的描述。
其中,本实施例的自动化测试装置中各功能模块或单元可以通过相互触发来完成自动化测试。另外,本实施例的自动化测试装置可以包括自动化测试主控模块,用于调用和控制上述各功能模块或单元来完成自动化测试,例如:自动化测试主控模块用于在自动化测试开始时进行初始化;然后,分别调用获取模块41中的各解析单元分别获取测试环境拓扑、最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间链路数变化标识信息;接着,调用生成模块42中的各功能单元生成全局虚拟拓扑;最后通过控制测试模块43调用测试脚本,并根据全局虚拟拓扑执行测试脚本对测试环境进行覆盖测试。其中,自动化测试主控模块可以由软件来实现,更为具体的可以为软件中的主程序,但并不限于此。
综上所述,采用本实施例的自动化测试装置进行自动化测试具有以下有益效果:1、测试脚本直接使用动态生成的虚拟拓扑而不依赖测试环境拓扑,当测试环境发生变化时,只需要修改下虚拟拓扑在测试环境拓扑中映射的测试设备和测试端口的映射关系,而不用修改测试脚本,使测试脚本可以被移植到不同的测试环境拓扑中执行,提高了测试脚本的可移植性。与现有技术第一种方法相比,本实施例的测试脚本所使用的设备/链路/端口没有直接和测试环境拓扑中的设备/链路/端口绑定,因此,不存在现有技术第一种方法存在的问题。2、在本实施例的自动化测试过程中,根据最小逻辑拓扑和最小逻辑拓扑中逻辑设备之间链路数变化标识信息,动态生成一个覆盖测试环境拓扑中所有端口的虚拟拓扑,当测试环境拓扑中要求覆盖的测试端口个数不同时,尤其当测试端口个数多于最小逻辑拓扑中定义的端口个数时,不需要修改测试脚本,就能够对需要覆盖的测试端口进行覆盖测试。与现有技术中第二方法相比,本实施例提高了测试脚本的灵活性和测试端口的覆盖率,以及覆盖测试的执行效率,很好的解决现有技术第二种方法存在的各种的问题。3、测试脚本直接使用动态生成的虚拟拓扑而不依赖逻辑拓扑,当测试脚本对应最小逻辑拓扑中某两个逻辑设备之间的链路数增加时,不需要修改测试脚本,就能够灵活覆盖到逻辑拓扑中增加的测试端口,提高了测试脚本的灵活性。
本发明实施例四提供一种网络设备,包括自动化测试装置,用于进行自动化测试。其中,本实施例中的自动化测试装置为上述各实施例提供的自动化测试装置,其工作原理和实现结构不再赘述,详见上述各实施例的描述。
本实施例的网络设备可用于执行上述方法实施例提供的自动化测试方法的流程,也具有以下有益效果:1、测试脚本基于全局虚拟拓扑,不依赖于测试环境拓扑也不依赖于逻辑拓扑,提高了测试脚本的灵活性和可移植性。2、测试脚本基于全局虚拟拓扑执行,可以自动对测试环境中的所有测试端口进行覆盖测试,提高了测试端口的覆盖率,且提高了覆盖测试的执行效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种自动化测试方法,其特征在于,包括:
获取测试环境拓扑、测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;所述最小逻辑拓扑是所述测试脚本执行时所需的最小测试拓扑,所述最小逻辑拓扑中包括逻辑设备端口连接关系和逻辑设备属性,用于与所述测试环境拓扑相适应;
根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑;
根据所述全局虚拟拓扑,调用所述测试脚本执行测试。
2.根据权利要求1所述的自动化测试方法,其特征在于,所述获取测试环境拓扑、测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息包括:
解析预先存储在数据库中的测试环境拓扑关系描述信息,获取测试设备端口连接关系和测试设备属性,以生成所述测试环境拓扑;
解析所述测试脚本对应的最小逻辑拓扑关系描述信息,获取逻辑设备端口连接关系和逻辑设备属性,以形成所述最小逻辑拓扑;
解析所述测试脚本对应的最小逻辑拓扑中逻辑设备之间链路数变化描述信息,获取所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和所述链路个数变化值,以形成所述链路数变化标识信息。
3.根据权利要求2所述的自动化测试方法,其特征在于,所述根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑包括:
根据所述最小逻辑拓扑中的逻辑设备端口连接关系和逻辑设备属性,生成初始虚拟拓扑;
根据所述初始虚拟拓扑,在所述测试环境拓扑中进行查找;
如果找到与所述初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系,将被找到的测试设备属性和测试设备端口连接关系映射到所述初始虚拟拓扑中,并根据所述链路数变化标识信息,将所述初始虚拟拓扑中的逻辑设备端口连接关系增加所述链路个数变化值,以重新生成所述初始虚拟拓扑并返回执行根据所述初始虚拟拓扑,在所述测试环境拓扑中进行查找的操作;
如果未找到与所述初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系,将所述初始虚拟拓扑去掉当前增加的逻辑设备端口连接关系以生成所述全局虚拟拓扑。
4.根据权利要求3所述的自动化测试方法,其特征在于,所述根据所述初始虚拟拓扑,在所述测试环境拓扑中进行查找包括:
在所述测试环境中查找与所述初始虚拟拓扑中的逻辑设备属性相同的测试设备属性;
当查找到相同的测试设备属性时,在查找到的测试设备属性对应的测试设备端口连接关系中查找与所述初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系。
5.根据权利要求3或4所述的自动化测试方法,其特征在于,所述根据所述全局虚拟拓扑,调用所述测试脚本执行测试包括:
对测试环境中的测试设备进行初始化;
执行所述测试脚本,根据所述全局虚拟拓扑对测试环境进行覆盖测试。
6.一种自动化测试装置,其特征在于,包括:
获取模块,用于获取测试环境拓扑、测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值;所述最小逻辑拓扑是所述测试脚本执行时所需的最小测试拓扑,所述最小逻辑拓扑中包括逻辑设备端口连接关系和逻辑设备属性,用于与所述测试环境拓扑相适应;
生成模块,用于根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑;
测试模块,用于根据所述全局虚拟拓扑,调用所述测试脚本执行测试。
CN 201110063268 2011-03-16 2011-03-16 自动化测试方法、装置及网络设备 Expired - Fee Related CN102118281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110063268 CN102118281B (zh) 2011-03-16 2011-03-16 自动化测试方法、装置及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110063268 CN102118281B (zh) 2011-03-16 2011-03-16 自动化测试方法、装置及网络设备

Publications (2)

Publication Number Publication Date
CN102118281A CN102118281A (zh) 2011-07-06
CN102118281B true CN102118281B (zh) 2013-06-19

Family

ID=44216885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110063268 Expired - Fee Related CN102118281B (zh) 2011-03-16 2011-03-16 自动化测试方法、装置及网络设备

Country Status (1)

Country Link
CN (1) CN102118281B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495277B1 (en) 2015-06-10 2016-11-15 International Business Machines Corporation Dynamic test topology visualization

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577907B (zh) * 2012-07-24 2016-12-07 阿里巴巴集团控股有限公司 一种持续集成测试方法和系统
CN105530140A (zh) * 2014-09-30 2016-04-27 中兴通讯股份有限公司 一种解除用例和环境紧耦合的方法、装置和云调度系统
CN106936605B (zh) * 2015-12-29 2019-09-20 迈普通信技术股份有限公司 一种创建测试任务的方法和设备
US10693732B2 (en) 2016-08-03 2020-06-23 Oracle International Corporation Transforming data based on a virtual topology
US10389628B2 (en) 2016-09-02 2019-08-20 Oracle International Corporation Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network
US10462013B2 (en) * 2017-02-13 2019-10-29 Oracle International Corporation Implementing a single-addressable virtual topology element in a virtual topology
CN108900387A (zh) * 2017-09-06 2018-11-27 北京锐安科技有限公司 一种分流设备动态监控系统
CN109728929B (zh) * 2017-10-30 2022-02-22 中兴通讯股份有限公司 一种测试方法、装置及存储介质
CN109962823B (zh) * 2017-12-26 2022-07-19 迈普通信技术股份有限公司 一种网络应用场景的自动化测试系统及方法
CN111159006B (zh) * 2018-11-07 2022-10-18 迈普通信技术股份有限公司 一种自动化测试方法及装置
CN111209178A (zh) * 2020-01-13 2020-05-29 中信银行股份有限公司 全链路瓶颈测试方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1176512A2 (en) * 2000-07-24 2002-01-30 Motorola, Inc. Test scripts
CN101110734A (zh) * 2007-08-24 2008-01-23 福建星网锐捷网络有限公司 自动化测试方法及系统
CN101330412A (zh) * 2008-07-29 2008-12-24 中兴通讯股份有限公司 一种基于拓扑发现的自动化测试方法及系统
CN101369933A (zh) * 2008-09-26 2009-02-18 中兴通讯股份有限公司 一种自动化测试方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1176512A2 (en) * 2000-07-24 2002-01-30 Motorola, Inc. Test scripts
CN101110734A (zh) * 2007-08-24 2008-01-23 福建星网锐捷网络有限公司 自动化测试方法及系统
CN101330412A (zh) * 2008-07-29 2008-12-24 中兴通讯股份有限公司 一种基于拓扑发现的自动化测试方法及系统
CN101369933A (zh) * 2008-09-26 2009-02-18 中兴通讯股份有限公司 一种自动化测试方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张晓敏.构建整体化的自动化测试平台.《中国高新技术企业》.2010,
构建整体化的自动化测试平台;张晓敏;《中国高新技术企业》;20100801;全文 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495277B1 (en) 2015-06-10 2016-11-15 International Business Machines Corporation Dynamic test topology visualization
US9632923B2 (en) 2015-06-10 2017-04-25 International Business Machines Corporation Dynamic test topology visualization
US9928163B2 (en) 2015-06-10 2018-03-27 International Business Machines Corporation Dynamic test topology visualization
US10055340B2 (en) 2015-06-10 2018-08-21 International Business Machines Corporation Dynamic test topology visualization

Also Published As

Publication number Publication date
CN102118281A (zh) 2011-07-06

Similar Documents

Publication Publication Date Title
CN102118281B (zh) 自动化测试方法、装置及网络设备
CN101930400B (zh) Sdk自动化测试系统及方法
US10354031B2 (en) Information processing by interpenetrating signal transmission channel in design for testability of chip
CN106293664A (zh) 代码生成方法及装置
CN105653630A (zh) 分布式数据库的数据迁移方法与装置
CN104657140A (zh) 代码生成方法及装置
CN101174237B (zh) 一种自动化测试方法、系统及一种测试设备
CN105335281A (zh) 一种自动mock外部依赖的方法及装置
CN102981882B (zh) 解析方法和装置
CN103793326A (zh) 组件测试方法及装置
CN101226502B (zh) 一种自动化测试方法及系统
CN103873318A (zh) 一种网站自动化测试方法及自动化测试系统
CN100437513C (zh) 实现自动测试的方法与系统
CN110507986B (zh) 动画信息的处理方法和装置
CN101021812A (zh) 解释语言调试方法及装置
CN103197947A (zh) 脚本处理方法及装置
CN110232028A (zh) 一种测试用例自动化运行方法及系统
CN105786525A (zh) 一种进程模型向线程模型移植代码的方法及装置
CN104572774A (zh) 搜索方法及装置
CN112905332A (zh) 一种基于LVS负载均衡Django架构实现英文PDF在线快速翻译方法
CN111880803B (zh) 一种应用于多平台的软件构建方法及装置
CN101662394A (zh) 自动化测试系统和自动化测试方法
CN109960526A (zh) 一种应用程序打包方法及装置
CN110019296B (zh) 数据库查询脚本的生成方法、装置、存储介质及处理器
CN111858616A (zh) 流式数据存储方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130619

Termination date: 20200316

CF01 Termination of patent right due to non-payment of annual fee