一种重现交换机中缺陷的方法及装置的制作方法

文档序号:7694002阅读:168来源:国知局
专利名称:一种重现交换机中缺陷的方法及装置的制作方法
技术领域
本发明涉及计算机技术领域,特别是涉及重现交换机中缺陷的方法及装置。
背景技术
目前,对于交换机的单机测试,通常是由测试人员构造几个报文输入到交 换机,观察是否有正确的报文输出,若是,则说明交换机运行正常,否则说明 交换机出现异常。这主要是针对协议测试,主要包括吞吐量、延迟、丢包和背 对背四项指标。该测试仅是针对协议的性能测试,并且协议的规定是非常明确 的,按照协议设计出的交换机, 一般是不会出现问题的。为了全面的测试交换机,现有技术的作法是在测试过程中搭建与实际应用 场景类似的复杂的网络拓朴结构,参见图1所示,实际应用场景中的网络拓朴结构可能比图1所示的结构更加复杂。在交换^U测试的过程中,测试人员需要在接入交换机上面模拟更多的用户,使得交换设备在实际应用中可能出现的问 题提早在测试过程中被发现。搭建和配置如此复杂的网络环境,需要花费较长的时间,并且占用非常多的设备。在这样的测试环境下,交换机中的缺陷(bug) 一旦产生,如果软件开发者需要解决这样的bug, —般的思路是再次搭建一个 同样的网络环境,进行相同的操作来重现bug并解决之。这将再次浪费上述所 花费的时间、人力和物力。并且,测试者从测试开始到bug出现经过了非常多 的操作,完全重复这些操作以便重现bug是非常困难的。发明内容本发明实施例提供一种重现交换机中缺陷的方法及装置,用于筒化重现交 换机中缺陷的过程,快速重现交换机中的缺陷,缩短解决bug的时间和节约成本。一种重现交换机中缺陷的方法,包括以下步骤重现装置依据测试项目开始运行与该测试项目对应的脚本程序,确定关于 该测试项目的一种操作,并执行该操作和记录操作结果; 重现装置确定所述操作后通知交换机执行所述操作; 重现装置获得交换机的操作结果;重现装置将交换机的操作结果与本地记录的操作结果比较,在比较结果不 一致时输出交换机中存在缺陷的提示。一种用于重现交换机中缺陷的装置,包括操作模块,用于依据测试项目开始运行与该测试项目对应的脚本程序,确 定关于该测试项目的一种操作,并执行该操作和记录操作结果;接口模块,用于确定所述操作后通知交换机执行所述操作;获得交换机的 操作结果;判断模块,用于将交换机的操作结果与本地记录的操作结果比较; 输出模块,用于在比较结果不一致时输出交换机中存在缺陷的提示。 一种用于重现交换机中缺陷的测试系统,包括 交换机;用于重现交换机中缺陷的装置,该装置用于依据测试项目开始运行与该测 试项目对应的脚本程序,确定关于该测试项目的一种操作,并执行该操作和记 录操作结果;确定所述操作后通知交换机执行所述操作;获得交换机的操作结 果;将交换机的4喿作结果与本地记录的操作结果比较,在比较结果不一致时输 出交换机中存在缺陷的提示。本发明实施例仅利用 一 台交换机及一 台重现交换机中缺陷的装置便可实 现对交换机的测试,运行脚本程序来模拟实际的应用场景,使研发人员能够较 快的重现出bug,不再需要重复搭建复杂的网络拓朴架构,也可以利用本发明 实施例来对交换机进行测试,以很快的重现bug。


图1为现有技术中测试交换机时的网络拓朴结构; 图2为本发明实施例中系统的结构图;图3为本发明实施例中重现交换机中缺陷的主要方法流程图; 图4为本发明实施例中重现交换机中缺陷的详细方法流程图; 图5为本发明实施例中装置的主要结构图; 图6为本发明实施例中装置的详细结构图。
具体实施方式
本发明实施例将一台重现装置与一台交换机连接,通过在该重现装置上运 行用于重现交换机中缺陷的脚本程序来遍历交换机支持的所有操作,以重现 bug。本发明实施例特别针对三层交换机的第三层进行测试,当然,交换机中 的ACL测试也适用于本发明实施例。参见图2,本实施例提供一种测试系统,其包括交换机和用于重现交换机 中缺陷的装置。其中,用于重现交换机中缺陷的装置主要用于依据测试项目运行与该测试 项目对应的脚本程序,确定关于该测试项目的一种操:作,并执行该操作和记录 操作结果;通知交换机执行所述操作,以及由交换机记录操作结果;获得交换 机中记录的操作结果;将交换机中的操作结果与本地记录的操作结果比较,在 比较结果不一致时输出交换机中存在缺陷的提示。参见图3,本实施例中重现交换机中缺陷的主要方法流程如下 步骤301:重现装置依据测试项目开始运行与该测试项目对应的脚本程序, 确定关于该测试项目的一种操作,并执行该操作和记录操作结果。所述测试项 目包括网络协议(Internet Protocol, IP)单播路由测试项目、IP多播路由测试 项目和访问控制列表ACL测试项目中至少一个。步骤302:重现装置确定所述操作后通知交换机执行所述操作。 步骤303:重现装置获得交换机的操作结果。该步骤的实现可以是交换机在记录操作结果时或在记录操作结果后主动返回操作结果,也可以是通过向交 换机发送命令,指示交换机返回操作结果。步骤304:重现装置将交换机的操作结果与本地记录的操作结果比较,在 比较结果不一致时输出交换机中存在缺陷的提示。下面以IP单"t番路由测试项目为例,对重现交换^U中缺陷的方法进行详细 描述,参见图4所示,具体流程如下运行用于重现交换机中缺陷的脚本程序。步骤401:依据IP单播路由测试项目随机确定关于该测试项目的一种操作。 关于IP单播路由测试项目的操作包括添加一条路由信息、删除一条路由信息、 更新一条路由信息和清除所有的路由信息。确定一种操作的具体实现方式有多 种,如根据预设的执行顺序执行,例如,规定上述四种操作依次循环执行,每 项操作执行一次,或者规定每项操作执行两次,然后继续下一项操作,并且依 次循环执行;如每次随机选择一种操作来执行,本实施例采用随机选择的方式, 有利于模拟实际应用场景,更快的重现bug。步骤402:判断确定的操作是否为添加一条路由信息,若是,则继续步骤 403,否则继续步骤405。步骤403:判断当前的路由信息的条数是否小于预先设定的路由信息的最 多条数,若是,则继续步骤404,否则继续步骤415。该步骤的作用是防止记 录的路由信息的数量超出交换机的能力所导致的路由信息出错或交换机死机 等问题。若交换机的处理能力足够强大,以及添加、删除和清除之间的随机操 作次数相差不大,可以省略该步骤。步骤404:在本地确定随机添加的一条路由信息,并向交换机发送添加指 令,通知交换机添加该一条路由信息。可在确定需要添加的一条路由信息时向 交换机发送添加指令,也可以在成功添加一条路由信息时向交换机发送添加指 令。可进一步更新成功操作的次数,该次数的初始值为0。其中,该成功操作 不限于添加路由信息的操作。交换机添加与本地相同的 一条路由信息并保存。继续步骤415。步骤405:判断确定的操作是否为删除一条路由信息,若是,则继续步骤 406,否则继续步骤408。步骤406:判断当前的路由信息的条数是否大于预先设定的路由信息的最 少条数,若是,则继续步骤407,否则继续步骤415。该步骤的作用是保留一 定数量的路由信息,使得内存中存在一定量的内存碎片,有助于重现bug,并 且可以测试碎片整理过程。步骤407:在本地确定随机删除的一条路由信息,并向交换机发送删除指 令,通知交换机删除该一条路由信息。可在确定需要删除的一条路由信息时向 交换机发送删除指令,也可以在成功删除一条路由信息时向交换机发送删除指 令。可进一步更新成功操作的次数,如将次数力。1。交换机删除与本地相同的 一条路由信息并保存。继续步骤415。步骤408:判断确定的操作是否为更新一条路由信息,若是,则继续步骤 409,否则继续步骤411。步骤409:判断当前的路由信息的条数是否大于O,若是,则继续步骤410, 否则继续步骤415。该步骤的作用是防止记录的路由信息的数量为0时仍进行 更新操作所导致的路由信息出错或交换机死机等问题。步骤410:在本地确定随机更新的一条路由信息,并向交换机发送更新指 令,通知交换机更新该一条路由信息。可在确定需要更新的一条路由信息时向 交换机发送更新指令,也可以在成功更新一条路由信息时向交换机发送更新指 令。可进一步更新成功操作的次数。交换机更新与本地相同的一条路由信息并 保存。继续步骤415。步骤411:确定的操作为清除所有的路由信息,继续步骤412。步骤412:判断当前的路由信息的条数大于预先设定的路由信息的最低清 除条数,若是,则继续步骤413,否则继续步骤415。该步骤的作用是避免清 除操作执行的过多所导致的路由信息长时间处于较少的状态,这样有利于重现bug。步骤413:在本地确定清除所有的路由信息,并向交换机发送清除指令, 通知交换机清除所有的路由信息。可在确定需要清楚路由信息时向交换机发送 清除指令,也可以在成功清楚路由信息时向交换4几发送清除指令。可进一步更 新成功操作的次数。交换机清除所有的路由信息。继续步骤414。步骤414:判断是否存在内存泄漏,若是,则继续步骤419,否则继续步 骤415。在执行清除^t喿作后,内存应该被释放掉,若此时仍有较大的内存(较 大的内存是指超出所述装置开机运行时所必须的内存)被占用,说明存在内存 泄漏,所以只有在清除操作后比较容易判断内存是否泄漏。步骤415:判断本地记录的成功操作的次数是否大于预先设定的成功次数 阈值,若是,则将本地记录的成功操作的次数清0,并继续步骤416,否则继 续步骤401 ,因为此时已经通过成功次数阈值对测试的时长或次数进行了控制, 可以不通过步骤418来控制。步骤415的作用是控制在一段时间内执行一次步 骤416和步骤417,避免在每确定一种操作就执行一次步骤416和步骤417的 情况,减少步骤416和步骤417的运行次数,以节省测试时间和所述系统的资 源。若希望每次操作均执行步骤416和步骤417,则可省略步骤415。步骤416:获得交换机中记录的操作结果。步骤417:将交换机中的操作结果与本地记录的操作结果比较,若一致, 则继续步骤418,否则继续步骤419。其中,在比较一致时可以直接结束流程, 表示交换机工作正常,但通常一次操作测试是不准确的,最好是多次长时间的 测试,需要继续步骤401或步骤418。步骤418:判断是否继续步骤401,若是,则继续步骤401,否则结束流程。 判断的具体方式有多种,如在开始测试时记录下时间,到该步骤时再记录下时 间,判断两次时间的时长是否大于预设的时长阈值,若是,则结束流程,否则 继续步骤401;如每确定一种操作时,更新一次操作次数(初始值为0 ),判断 当前的操作次数是否大于预设的循环次数阈值,若是,则结束流程,否则继续步骤401。该步骤的作用是避免过长时间的对交换机进行测试,确定交换机符 合测试标准即可,节省测试时间和所述系统的资源。但从程序实践角度讲,交 换机中的0缺陷的程序是不存在的,所以一定会执行到步骤419,若以重现交 换机中的缺陷为最终目的,则可省略步骤418。步骤419:输出交换机中存在缺陷的提示,可同时结束操作。输出的方式 包括通过显示屏显示和/或通过打印设备打印等。本实施例中添加、删除和更新的路由信息及添加、删除、更新和清除四项 操作都是随机确定的,这种随机性带有不确定性,有利于重现bug。并且,添 加、删除、更新和清除四项操作是彼此独立的,先判断是哪个操作都可以。通过以上对IP单播路由测试项目实现过程的介绍,已可清楚的了解重现交换机中缺陷的过程,类似的,可能有些交换机采用的是IP多播路由。对于IP多播路由测试项目,其操作包括添加一条路由信息、删除一条路由信息、更新一条路由信息、清除所有的路由信息、添加一个下游口和删除一个下游口。前四种操作可参见IP单播路由测试项目中的实现过程。对于添加一个下游口的操:作,可在步骤411中判断为否时,继续判断确定的操作是否为添加一个下 游口,若为添加一个下游口,则判断当前的下游口的数量是否小于预先设定的下游口的最大数量,若小于,则随机添加一个下游口,若不小于,则继续步骤 415;若不为添加一个下游口,则继续判断确定的操作是否为删除一个下游口, 若为删除一个下游口,则判断当前的下游口的数量大于预先设定的下游口的最 少数量,若大于,则随机删除一个下游口,若不大于,则继续步骤415;若不 为删除一个下游口,则继续步骤419。在重现交换机中缺陷时,可能需要针对访问控制列表(Access Control List, ACL )进行测试,即存在ACL测试项目,其操作与IP单播路由测试项目中的 操作类似,包括添加一条关于ACL的信息、删除一条关于ACL的信息、更新 一条关于ACL的信息和清除关于ACL的信息,实现过程只需将IP单播路由 测试项目中的操作对象路由信息改为关于ACL的信息即可。由于一个ACL可以为空,或者包括至少一个访问控制条目(Access Control Entry, ACE),所以 一条关于ACL的信息包括一条ACL信息或一条ACE信息。对ACE信息的添 加、删除、更新和清除操作,都是对相关ACL信息的更新;对ACL信息的删 除和清除操作,都是对ACE信息的删除,或者认为是对ACL中所有ACE信 息的清除(如果ACL中有ACE信息)。参见图5,本实施例用于重现交换机中缺陷的装置的内部结构进行介绍, 其用于运行重现交换机中缺陷的脚本程序,具体包括操作模块501、接口模块 502、判断模块503和输出模块504。该装置可具体为个人计算机(PC )、工控 机或服务器等。操作模块501用于依据测试项目开始运行与该测试项目对应的脚本程序, 确定关于该测试项目的一种操作,并执行该操作和记录操作结果。接口模块502用于确定所述操作后通知交换机执行所述操作;进一步的, 获得交换机中记录的操作结果等。判断模块503用于将交换机的操作结果与本地记录的操作结果比较。 输出模块504用于在比较结果不一致时输出交换机中的缺陷提示。 由于测试项目包括IP单播路由测试项目、IP多播录音测试项目和访问控 制列表ACL测试项目',所以所述装置可以包括多套操作模块501、接口模块 502、判断模块503和输出模块504,每套模块用于一个测试项目;或者,所述 装置包括一套操作模块501、接口模块502、判断模块503和输出模块504,每 个模块均可用于各测试项目,由所述装置中的总控模块(本图未示出)根据收 到的控制命令或开关控制各模块具体应用到哪个测试项目。以IP单播路由测试项目为例,操作模块501用于判断具体是添加、删除、 更新和清除中的哪种操作,并执行确定的操作的后续流程,如在本地添加一条 路由信息等。接口模块502用于与交换机之间的交互,如发送添加指令和获得 交换机记录的路由信息等。判断模块503用于实现步骤417和418。输出模块 504用于实现步骤419。所述装置还包括用于实现步骤415的成功次数模块505,以及包括存储模块506,存储模块506用于保存本地记录路由信息、接收到的 交换机记录的路由信息和各项参数等,参见图6所示。用于实现本发明实施例的软件可以存储于软盘、硬盘、光盘和闪存等存储 介质。本发明实施例仅利用 一台用于重现交换机中缺陷的装置便可实现对交换 机的测试,运行脚本程序来^i拟实际的应用场景,能够较快的重现出测试人员 重现的大多数bug并解决这些bug,不再需要搭建复杂的网络拓朴架构。本发 明实施例也可用于对交换机的测试,能够快速重现严重bug。本发明实施例提 供了 IP单播路由测试项目、IP多播录音测试项目和访问控制列表ACL测试项 目的具体实现过程,即提供了对多种交换机的多方面的测试解决方案。本发明 实施例还在测试过程中采用了多个技术手段以节省资源,如步骤415等。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求 及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种重现交换机中缺陷的方法,其特征在于,包括以下步骤重现装置依据测试项目开始运行与该测试项目对应的脚本程序,确定关于该测试项目的一种操作,并执行该操作和记录操作结果;重现装置确定所述操作后通知交换机执行所述操作;重现装置获得交换机的操作结果;重现装置将交换机的操作结果与本地记录的操作结果比较,在比较结果不一致时输出交换机中存在缺陷的提示。
2、 如权利要求1所述的方法,其特征在于,所述测试项目包括网络协议 IP单播路由测试项目、IP多播路由测试项目和访问控制列表ACL测试项目中 至少一个。
3、 如权利要求2所述的方法,其特征在于,当所述测试项目为IP单播路 由测试项目时,所述操作为添加一条路由信息、删除一条路由信息、更新一条 路由信息或清除所有的路由信息;当所述操作为添加一条路由信息时,在添加一条路由信息前,重现装置确 定当前的路由信息的条数小于预先设定的路由信息的最多条数;当所述操作为删除一条路由信息时,在删除一条路由信息前,重现装置确 定当前的路由信息的条数大于预先设定的路由信息的最少条数;当所述操作为更新一条路由信息时,在更新一条路由信息前,重现装置确 定当前的路由信息的条数大于0;当所述操作为清除所有的路由信息时,在清除所有的路由信息前,重现装 置确定当前的路由信息的条数大于预先设定的路由信息的最低清除条数。
4、 如权利要求3所述的方法,其特征在于,当所述操作为清除所有的路 由信息时,在清除所有的路由信息后,重现装置判断交换机是否发生内存泄漏, 若是,则输出交换机中存在缺陷的提示,否则继续重现装置获得交换机的操作 结果的步骤。
5、 如权利要求2所述的方法,其特征在于,当所述测试项目为IP多播路 由测试项目时,所述操作为添加一条路由信息、删除一条路由信息、更新一条 路由信息、清除所有的路由信息、添加一个下游口或删除一个下游口;当所述操作为添加一条路由信息时,在添加一条路由信息前,重现装置确 定当前的路由信息的条数小于预先设定的路由信息的最多条数;当所述操作为删除一条路由信息时,在删除一条路由信息前,重现装置确 定当前的路由信息的条数大于预先设定的路由信息的最少条数;当所述操作为更新一条路由信息时,在更新一条路由信息前,重现装置确 定当前的路由信息的条数大于0;当所述操作为清除所有的路由信息时,在清除所有的路由信息前,重现装 置确定当前的路由信息的条数大于预先设定的路由信息的最低清除条数;当所述才喿作为添加一个下游口时,在添加一个下游口前,重现装置确定当 前的下游口的数量小于预先设定的下游口的最大数量;当所述操作为删除一个下游口时,在删除一个下游口前,重现装置确定当 前的下游口的数量大于预先设定的下游口的最少数量。
6、 如权利要求2所述的方法,其特征在于,当所述测试项目为访问控制 列表测试项目时,所述操作为添加一条ACL信息、删除一条ACL信息、更新 一条ACL信息或清除所有的ACL信息;当所述操作为添加一条关于ACL的信息时,在添加一条关于ACL的信息 前,重现装置确定当前的关于ACL的信息的条数小于预先设定的关于ACL的 信息的最多条数;当所述操作为删除一条关于ACL的信息时,在删除一条关于ACL的信息 前,重现装置确定当前的关于ACL的信息的条数大于预先设定的关于ACL的 信息的最少条数;当所述操作为更新一条关于ACL的信息时,在更新一条关于ACL的信息 前,重现装置确定当前的关于ACL的信息的条数大于O;当所述纟喿作为清除所有的关于ACL的信息时,在清除所有的关于ACL的 信息前,重现装置确定当前的关于ACL的信息的条数大于预先设定的关于 ACL的信息的最低清除条数。
7、 如权利要求1所述的方法,其特征在于,确定关于该测试项目的一种 操作的方式为随机确定。
8、 如权利要求1至7中任一项所述的方法,其特征在于,重现装置在成 功执行操作后,更新成功执行操作的次数;在将交换机的操作结果与本地记录的操作结果比较前,重现装置确定已成 功执行操作的次数大于预先设定的成功次数阈值。
9、 如权利要求1至7中任一项所述的方法,其特征在于,在比较结果一 致时,重现装置结束流程或者循环执行所述方法。
10、 如权利要求9所述的方法,其特征在于,在循环执行所述方法前,重 现装置确定循环次数未超过预设设定的循环次数阈值,和/或,重现装置在开始 执行所述方法时记录时间,确定到当前时间时执行的时长未超过预设设定的时 长阈值。
11、 一种用于重现交换机中缺陷的装置,其特征在于,包括 操作模块,用于依据测试项目开始运行与该测试项目对应的脚本程序,确定关于该测试项目的一种操作,并执行该操作和记录操作结果;接口模块,用于确定所述操作后通知交换机执行所述操作;获得交换机的 操作结果;判断模块,用于将交换机的操作结果与本地记录的操作结果比较; 输出模块,用于在比较结果不一致时输出交换机中存在缺陷的提示。
12、 一种用于重现交换机中缺陷的测试系统,其特征在于,包括 交换机;用于重现交换机中缺陷的装置,该装置用于依据测试项目开始运行与该测 试项目对应的脚本程序,确定关于该测试项目的一种操作,并执行该操作和记录操作结果;确定所述操作后通知交换机执行所述操作;获得交换机的操作结 果;将交换机的操作结果与本地记录的操作结果比较,在比较结果不一致时输 出交换机中存在缺陷的提示。
全文摘要
本发明公开了一种重现交换机中缺陷的方法,用于简化重现交换机中缺陷的过程,快速重现交换机中的缺陷,缩短解决缺陷的时间和节约成本。所述方法为重现装置依据测试项目开始运行与该测试项目对应的脚本程序,确定关于该测试项目的一种操作,并执行该操作和记录操作结果;重现装置确定所述操作后通知交换机执行所述操作;重现装置获得交换机的操作结果;重现装置将交换机的操作结果与本地记录的操作结果比较,在比较结果不一致时输出交换机中存在缺陷的提示。本发明还公开了一种用于实现所述方法的装置和系统。
文档编号H04L12/26GK101277459SQ20081010606
公开日2008年10月1日 申请日期2008年5月8日 优先权日2008年5月8日
发明者鲜明双 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1