自动化测试方法、装置及网络设备的制作方法

文档序号:7610231阅读:101来源:国知局
专利名称:自动化测试方法、装置及网络设备的制作方法
技术领域
本发明涉及自动化测试技术,尤其涉及一种自动化测试方法、装置及网络设备。
背景技术
随着路由器、交换机等通信设备越来越高端,通信设备包含的芯片越来越多;芯片 主要负责数据转发,每个芯片下关联着若干个端口。为了保证通信设备的使用质量,通常会 在出厂前对通信设备进行性能测试。随着通信领域的自动化测试技术逐渐成熟,对通信设 备的测试都是采用自动化方法进行测试的。自动化测试是由测试人员事先根据测试用例定 制好测试脚本,然后使用自动化测试系统自动将测试脚本下发到被测设备,并捕获被测设 备的输出结果,通过将输出结果与固化在测试脚本中的预期结果进行比较得出测试结论的 测试方法。如果某个芯片所关联的端口中存在没有被覆盖测试到的,可能会导致通信设备质 量降低。而在自动化测试过程中,测试环境中被测端口的个数或者测试环境拓扑关系有可 能发生变化,为了保证自动化测试后通信设备的质量,在对通信设备进行测试时,不仅要求 通信设备的每个芯片下有端口被覆盖测试到,还要求同一芯片内的端口数据转发、不同芯 片间的端口数据转发、同一芯片内的边界端口都要被覆盖测试到,即要求所有端口都要能 被覆盖测试到。现有技术存在两种对测试环境中测试端口进行全部覆盖测试的自动化测试方法。 第一种是自动化系统的测试脚本直接读取测试环境拓扑关系描述的变量来获取测试端 口,即测试脚本中定义的测试拓扑直接依赖于由测试环境产生的测试环境拓扑关系。这样 只要测试环境中测试端口个数发生变化,测试脚本就能识别并覆盖测试到。但是,该方法中 测试脚本直接使用测试环境拓扑关系描述的变量,当测试环境拓扑关系描述的变量发生变 化时,就需要对每个测试脚本中引用的该变量进行修改、替换等操作,对测试脚本的维护工 作量大、维护成本较高、测试脚本的可移植性较差。另外,测试脚本中定义的设备、链路和端 口直接与测试环境中的设备、链路和端口进行绑定,要求测试脚本中定义的测试拓扑与实 际的测试环境拓扑相一致,如果测试环境发生变化(例如测试设备的位置发生了变化),则 测试脚本的测试对象就不一样,测试脚本的灵活性差。第二种方法是自动化系统的测试脚本使用一个逻辑拓扑,不依赖于测试环境拓 扑。测试脚本执行时,根据逻辑拓扑定义关系到测试环境拓扑中去查找对应的设备、链路和 端口,并映射到逻辑拓扑中,然后根据逻辑拓扑进行测试。由于逻辑拓扑是固定的,不会随 着测试环境中测试端口个数的变化而变化,因此,需要通过多次执行测试脚本来完成对测 试环境中所有测试端口的覆盖测试。在该方法中,由于逻辑拓扑是固定的,测试端口不能 被灵活覆盖测试,需要多次执行测试脚本,测试效率较低。另外,当逻辑拓扑关系发生变化 (例如在两个逻辑设备之间增加新的链路)时,原测试脚本将无法覆盖新增的链路和端口, 需要重新修改,灵活性较差。

发明内容
本发明提供一种自动化测试方法、装置及网络设备,用以提高测试脚本的灵活性 和可移植性,提高自动化测试的覆盖率和覆盖测试的执行效率。本发明提供一种自动化测试方法,包括获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑 设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设 备之间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行 映射,生成全局虚拟拓扑;根据所述全局虚拟拓扑,调用所述测试脚本执行测试。本发明提供一种自动化测试装置,包括获取模块,用于获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻 辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑 拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值;生成模块,用于根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试 环境拓扑中进行映射,生成全局虚拟拓扑;测试模块,用于根据所述全局虚拟拓扑,调用所述测试脚本执行测试。本发明提供一种网络设备,包括本发明提供的任一自动化测试装置。本发明的自动化测试方法、装置及网络设备,通过获取测试脚本对应的最小逻辑 拓扑和最小逻辑拓扑中逻辑设备之间的链路数变化标识信息,并根据最小逻辑拓扑和链路 数变化标识信息在测试环境拓扑中进行映射生成全局虚拟拓扑,根据全局虚拟拓扑调用测 试脚本对测试环境中的设备进行测试。在本发明技术方案中,虚拟拓扑可以随测试环境拓 扑中测试端口的个数变化而变化,测试脚本直接使用动态生成的虚拟拓扑进行测试,既不 依赖测试环境拓扑也不依赖于逻辑拓扑,当测试环境拓扑中测试端口的个数发生变化时可 以自动对所有端口进行覆盖测试,具有较好的移植性和灵活性。另外,通过本发明技术方 案,还可以提高自动化测试的测试覆盖率和覆盖测试时的执行效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1为本发明实施例一提供的自动化测试方法的流程图;图2为本发明实施例一所列举的一种测试环境拓扑结构的示意图;图3为本发明实施例一所列举的一种最小逻辑拓扑结构的示意图;图4为本发明实施例二提供的自动化测试装置的结构示意图;图5为本发明实施例三提供的自动化测试装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例一提供的自动化测试方法的流程图。如图1所示,本实施例 的方法包括步骤101、获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和最小逻辑拓扑中 逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括最小逻辑拓扑中逻辑设 备之间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;其中,测试环境是指由实际被测试的设备(以下简称为测试设备)、辅助设备、测 试仪器等组成的测试拓扑。测试环境拓扑是根据测试环境生成的,包括测试环境中测试设 备端口连接关系和测试设备属性等信息。最小逻辑拓扑是测试脚本执行时所需的最小测试 拓扑,该最小逻辑拓扑中包括逻辑设备端口连接关系和逻辑设备属性等信息,用于与测试 环境拓扑相适应。该最小逻辑拓扑具体根据实际的测试环境而定,例如可以是通过一条链 路连接的两台测试设备构成的拓扑,也可以是一台测试设备通过一个端口与一台测试仪连 接的拓扑。在本实施例中,每个最小逻辑拓扑对应一个最小逻辑拓扑中逻辑设备之间链路 数变化标识信息,该链路数变化标识信息用于包括最小逻辑拓扑中逻辑设备之间的链路个 数随测试环境拓扑的变化而变化的信息,以及链路个数变化值,即逻辑设备之间链路变化 时每次增加的链路数。该链路个数变化值可以是1、2或3等任何自然数。具体的,自动化测试装置在开始执行自动化测试前,首先加载公共库和初始化全 局配置信息(例如全局开关变量、产品指标全局变量等),并确定测试用例。其中,所确定的 测试用例包括本实施例所述的测试环境、相应的测试脚本以及预期测试结果等内容。在确 定测试用例之后,自动化测试装置在调用测试脚本前分别获取测试环境拓扑、测试脚本对 应的最小逻辑拓扑和链路数变化标识信息,为调用并执行测试脚本做准备。步骤102、根据最小逻辑拓扑和链路数变化标识信息,在测试环境拓扑中进行映 射,生成全局虚拟拓扑;其中,自动化测试装置根据最小逻辑拓扑和链路数变化标识信息所生成的全局虚 拟拓扑是动态变化的,可以随测试环境拓扑中测试端口的变化而变化。在全局虚拟拓扑中 记录着动态获取到的测试环境拓扑中要求覆盖测试的所有端口的拓扑连接关系、设备属性 以及端口属性等信息,故称之为全局虚拟拓扑。步骤103、根据全局虚拟拓扑,调用测试脚本执行测试。在本实施例中,测试人员编写的测试脚本,与全局虚拟拓扑记录的信息相适应,因 此,当步骤102生成全局虚拟拓扑后,自动化测试装置调用测试脚本,测试脚本直接使用全 局虚拟拓扑对测试环境中所有端口进行覆盖测试。本实施例的自动化测试方法,自动化测试装置通过获取测试脚本对应的最小逻辑 拓扑和最小逻辑拓扑中逻辑设备之间的链路数变化标识信息,并根据最小逻辑拓扑和链路 数变化标识信息在测试环境拓扑中进行映射生成全局虚拟拓扑,根据全局虚拟拓扑调用测 试脚本对测试环境中的设备进行测试。在本实施例中,根据链路数变化标识信息生成的虚拟拓扑可以随测试环境拓扑中测试端口的个数变化而变化,而测试脚本直接使用动态生成 的虚拟拓扑进行测试,当测试环境拓扑变化时,不需要修改测试脚本就能对需要测试的端 口进行覆盖测试,测试端口可被灵活覆盖,且不需要多次执行测试脚本,提高了测试的执行 效率。另外,与现有技术相比,本实施例的测试脚本依赖于虚拟拓扑,而不依赖测试环境拓 扑,测试脚本所使用的设备、链路和端口与测试环境拓扑中的设备、链路和端口没有直接绑 定,当测试环境发生变化时,不需要修改测试脚本,测试脚本具有较好的可移植性和灵活 性。进一步,本实施例的测试脚本也不依赖于逻辑拓扑,不存在端口无法在一次测试过程中 被全部覆盖的问题,提高了端口覆盖率和测试执行效率,提高了测试脚本的灵活性。其中,上述实施例中步骤101的一种实施方式包括步骤1011、解析预先存储在数据库中的测试环境拓扑关系描述信息,获取测试设 备端口连接关系和测试设备属性,以生成测试环境拓扑;其中,测试环境,是由测试设备组成的测试拓扑。测试环境拓扑关系描述信息主要 用于描述测试环境中测试设备的属性、端口的属性以及测试设备之间的拓扑连接关系等信 息。在测试环境确定后,测试人员通常把测试环境拓扑描述信息保存在数据库中,例如结构 化查询语言(Structured QueryLanguage ;简称为SQL)数据库。在自动化测试装置开始执 行自动化测试时,通过读取保存测试环境拓扑关系描述信息的数据库,获取测试环境拓扑 关系描述信息,并以存储设测试备端口连接关系、测试设备属性的格式对测试环境拓扑关 系描述信息进行解析,获取其中的测试设备端口连接关系和测试设备属性,并把获取的测 试设备端口连接关系和测试设备属性以数组结构的方式保存,生成测试环境拓扑。该测试 环境拓扑用于给生成全局虚拟拓扑使用。以图2所示的由测试仪对测试设备11和测试设备12进行测试的测试环境拓扑为 例,具体的,测试人员首先将测试设备U的和测试设备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。如果在查找到的测试设备属性对应 的测试设备端口连接关系中未找到与初始虚拟拓扑中的逻辑设备端口连接关系相同的测 试设备端口连接关系,或者,在测试环境拓扑中未查找到与初始虚拟拓扑中的逻辑设备属 性相同的测试设备属性,说明在测试环境拓扑中未找到与初始虚拟拓扑一致的测试设备属 性和测试设备端口连接关系,则继续执行步骤10M。步骤1023、将被找到的测试设备属性和测试设备端口连接关系映射到初始虚拟拓 扑中,并根据链路数变化标识信息,将初始虚拟拓扑中的逻辑设备端口连接关系增加链路 个数变化值,以重新生成初始虚拟拓扑,并返回步骤1022,即重新执行根据初始虚拟拓扑, 在测试环境拓扑中进行查找的操作。具体的,在自动化测试装置在测试环境拓扑中找到符合初始虚拟拓扑的测试设备 和测试端口后,将找到的测试设备和测试端口映射到初始虚拟逻辑拓扑中,并解析最小逻 辑拓扑中逻辑设备之间链路数变化标识信息,判断最小逻辑拓扑中是否有逻辑设备之间链 路数要随着测试环境拓扑中测试设备之间链路数变化而变化。如果没有,则本实施例自动 化测试方法的流程将与现有技术中基于逻辑拓扑进行测试的流程相同,在此不再赘述。如 果有,则自动化测试装置就将逻辑设备之间链路数加上链路变化时每次递增的链路数,即 链路个数变化值,重新生成初始虚拟拓扑;然后,继续执行步骤1022,即继续查找测试环境 拓扑中是否存在满足新生成的虚拟拓扑的测试设备和测试端口 ;如果存在,继续将逻辑设 备之间的链路数加上链路个数变化值,直到测试环境拓扑中不存在符合初始虚拟拓扑的测 试设备和测试端口为止,此时将执行步骤10M。步骤IOM、将初始虚拟拓扑去除当前增加的逻辑设备端口连接关系以生成全局虚 拟拓扑。具体的,当测试环境拓扑中找不到满足初始虚拟拓扑的测试设备和测试端口时, 说明当前初始虚拟拓扑之前的初始虚拟拓扑覆盖了测试环境中所有的测试端口,因此,将 此时的初始虚拟拓扑去除当前增加的逻辑设备端口连接关系得到上一个初始虚拟拓扑,亦 即全局虚拟拓扑,至此形成了全局虚拟拓扑。结合图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、测试脚本基于全局虚拟拓扑执行,可以 自动对测试环境中的所有测试端口进行覆盖测试,提高了测试端口的覆盖率,且提高了覆 盖测试的执行效率。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
1.一种自动化测试方法,其特征在于,包括获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备 之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设备之 间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映 射,生成全局虚拟拓扑;根据所述全局虚拟拓扑,调用所述测试脚本执行测试。
2.根据权利要求1所述的自动化测试方法,其特征在于,所述获取测试环境拓扑与测 试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息包 括解析预先存储在数据库中的测试环境拓扑关系描述信息,获取测试设备端口连接关系 和测试设备属性,以生成所述测试环境拓扑;解析所述测试脚本对应的最小逻辑拓扑关系描述信息,获取逻辑设备端口连接关系和 逻辑设备属性,以形成所述最小逻辑拓扑;解析所述测试脚本对应的最小逻辑拓扑中逻辑设备之间链路数变化描述信息,获取所 述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和所述链路个数 变化值,以形成所述链路数变化标识信息。
3.根据权利要求2所述的自动化测试方法,其特征在于,所述根据所述最小逻辑拓扑 和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑包括根据所述最小逻辑拓扑中的逻辑设备端口连接关系和逻辑设备属性,生成初始虚拟拓扑;根据所述初始虚拟拓扑,在所述测试环境拓扑中进行查找;如果找到与所述初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系,将被找 到的测试设备属性和测试设备端口连接关系映射到所述初始虚拟拓扑中,并根据所述链路 数变化标识信息,将所述初始虚拟拓扑中的逻辑设备端口连接关系增加所述链路个数变化 值,以重新生成所述初始虚拟拓扑并返回执行根据所述初始虚拟拓扑,在所述测试环境拓 扑中进行查找的操作;如果未找到与所述初始虚拟拓扑一致的测试设备属性和测试设备端口连接关系,将所 述初始虚拟拓扑去掉当前增加的逻辑设备端口连接关系以生成所述全局虚拟拓扑。
4.根据权利要求3所述的自动化测试方法,其特征在于,所述根据所述初始虚拟拓扑, 在所述测试环境拓扑中进行查找包括在所述测试环境中查找与所述初始虚拟拓扑中的逻辑设备属性相同的测试设备属性;当查找到相同的测试设备属性时,在查找到的测试设备属性对应的测试设备端口连接 关系中查找与所述初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系。
5.根据权利要求3或4所述的自动化测试方法,其特征在于,所述根据所述全局虚拟拓 扑,调用所述测试脚本执行测试包括对测试环境中的测试设备进行初始化;执行所述测试脚本,根据所述全局虚拟拓扑对测试环境进行覆盖测试。
6.一种自动化测试装置,其特征在于,包括获取模块,用于获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻辑拓 扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑 中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数变化值;生成模块,用于根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境 拓扑中进行映射,生成全局虚拟拓扑;测试模块,用于根据所述全局虚拟拓扑,调用所述测试脚本执行测试。
7.根据权利要求6所述的自动化测试装置,其特征在于,所述获取模块包括 测试环境拓扑解析单元,用于解析预先存储在数据库中的测试环境拓扑关系描述信息,获取测试设备端口连接关系和测试设备属性,以生成所述测试环境拓扑;最小逻辑拓扑解析单元,用于解析所述测试脚本对应的最小逻辑拓扑关系描述信息, 获取逻辑设备端口连接关系和逻辑设备属性,以生成所述最小逻辑拓扑;链路数变化标识信息解析单元,用于解析所述测试脚本对应的最小逻辑拓扑中逻辑设 备之间链路数变化描述信息,获取所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环 境拓扑变化的信息和所述链路个数变化值,以形成所述链路数变化标识信息。
8.根据权利要求7所述的自动化测试装置,其特征在于,所述生成模块包括初始虚拟拓扑生成单元,用于根据所述最小逻辑拓扑中的逻辑设备端口连接关系和逻 辑设备属性,生成初始虚拟拓扑;查找单元,用于根据所述初始虚拟拓扑,在所述测试环境拓扑中进行查找; 更新触发单元,用于在所述查找单元找到与所述初始虚拟拓扑一致的测试设备属性和 测试设备端口连接关系时,将被找到的测试设备属性和测试设备端口连接关系映射到所述 初始虚拟拓扑中,并根据所述链路数变化标识信息,将所述初始虚拟拓扑中的逻辑设备端 口连接关系增加所述链路个数变化值,以重新生成所述初始虚拟拓扑并触发所述查找单元 重新执行查找操作;全局虚拟拓扑生成单元,用于在所述查找单元未找到与所述初始虚拟拓扑一致的测试 设备属性和测试设备端口连接关系时,将所述初始虚拟拓扑去掉当前增加的逻辑设备端口 连接关系以生成所述全局虚拟拓扑。
9.根据权利要求8所述的自动化测试装置,其特征在于,所述查找单元具体用于在所 述测试环境中查找与所述初始虚拟拓扑中的逻辑设备属性相同的测试设备属性,并在查找 到相同的测试设备属性时,在查找到的测试设备属性对应的测试设备端口连接关系中查找 与所述初始虚拟拓扑中的逻辑设备端口连接关系相同的测试设备端口连接关系。
10.根据权利要求8或9所述的自动化测试装置,其特征在于,所述测试模块包括 初始化单元,用于对测试环境中的测试设备进行初始化;测试执行单元,用于执行所述测试脚本,根据所述全局虚拟拓扑对测试环境进行覆盖 测试。
11.一种网络设备,其特征在于,包括权利要求6-10任一项所述的自动化测试装置。
全文摘要
本发明提供一种自动化测试方法、装置及网络设备。其中方法包括获取测试环境拓扑与测试脚本对应的最小逻辑拓扑和所述最小逻辑拓扑中逻辑设备之间链路数变化标识信息,所述链路数变化标识信息包括所述最小逻辑拓扑中逻辑设备之间的链路个数随测试环境拓扑变化的信息和链路个数的变化值;根据所述最小逻辑拓扑和所述链路数变化标识信息,在所述测试环境拓扑中进行映射,生成全局虚拟拓扑;根据所述全局虚拟拓扑,调用所述测试脚本执行测试。采用本发明技术方案进行自动化测试,可以提高测试脚本的灵活性和可移植性,提高测试端口的覆盖率和覆盖测试的执行效率。
文档编号H04L12/26GK102118281SQ201110063268
公开日2011年7月6日 申请日期2011年3月16日 优先权日2011年3月16日
发明者李炳泉 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1