网络协议一致性测试中被测系统的配置方法

文档序号:7974265阅读:207来源:国知局
专利名称:网络协议一致性测试中被测系统的配置方法
技术领域
本发明涉及网络协议测试技术,特别涉及一种在大规模、长时间的网络协议一致性测试环境中对被测系统的配置方法。
背景技术
协议一致性测试是一种黑盒测试,是验证协议实现与协议标准是否一致的手段。国际标准化组织ISO专门制定了一套国际标准ISO/IEC 9646,为协议的一致性测试提供了基本方法和框架,为测试集制定了设计步骤和描述方法,并为测试系统的实现提供了指导。
ISO/IEC 9646-1将一致性评价过程分为测试准备,测试执行和生成测试报告三个阶段。测试执行前,被测方应向测试方提供“协议实现一致性声明”(ProtocolImplement Conformance Statements,简称PICS)和“协议实现额外信息“(ProtocolImplementation Extra Information Statement,简称PIXIT)。测试方根据PICS和PIXIT选择抽象测试方法和抽象测试套,并最终确定测试方法。同时被测系统做好测试准备,达到相应的测试状态。测试执行开始后,首先进行静态一致性检查。然后根据PICS和PIXIT选择合适的测试例,同时给测试例相关参数赋值,得到参数化的可执行测试例后进行动态测试,最后根据测试结果和测试过程中的记录信息生成测试报告。图1所示是协议一致性测试过程图,一致性评价过程是评估某实现或系统与一个或多个国际标准相一致的所有一致性测试活动的全过程。它分三个阶段测试准备抽象测试集的生成,是为一个特定的协议产生一个独立于所有协议实现的抽象测试集ATS(Abstract Test Suite)。
测试操作也称作测试实现。在这一阶段,根据协议实现一致性声明PICS(Protocol Implement Conformance Statements)和协议实现额外信息PIXIT(ProtocolImplementation extra Information Statement)从一致性测试集中选取适当的测试例,并使用PIXIT提供的信息来量化这些测试例,从ATS生成可在一实际的测试系统上执行的测试集,最终产生参数化的可执行测试集。
测试执行包括被测实现IUT(Implementation Under Test)的PICS分析和可执行测试集的执行。IUT的PICS分析是分析该协议实现的PICS与有关标准指定的静态一致性要求SCR(Static Conformance Requirement)相一致。可执行测试集的执行是对被测协议实现运行已具体化的测试例,并对IUT的外部行为响应进行观察,最终可以得到一个一致性的判决。它包括行为测试与已知的PICS分析及能力测试结果的综合。从中可以看出是否这些结果与PICS表述的能力相一致,从而可获得IUT关于标准要求的一致性结论,这些结果记录于一致性测试报告中。
实际测试中,无论是测试仪表厂商还是测试研究机构提供的测试例脚本往往是通用的,测试例脚本中与被测系统有关的参数用变量表示,在具体的被测系统下完成测试例参数化。为了满足一定的测试条件,模拟出被测系统遇到的各种网络环境,使得通用的测试例能够在各种各样的被测系统上执行,达到预期的测试目的,通常情况下需要对被测系统进行配置。
目前,一般采用手工配置的方法对被测系统进行配置。这种方法测试效率很低,而且要求测试人员对协议测试和被测系统有相当程度的了解,不适用于大规模,长时间的测试。已有技术中对被测系统进行自动配置的方法,比如清华大学网络实验室的一致性测试系统通过在测试描述中增加对被测系统进行自动配置的描述同时在测试系统中增加自动配置模块来实现对被测系统的配置。这种将自动配置集成在测试系统中的方法,虽然提高了测试效率,但是忽略了被测系统的多样性,很可能导致测试系统过于复杂或者出现某些被测系统不可配置的情况。另外,美国IXIA公司通过Expect等命令脚本指定被测系统的配置,系统将自动执行配置脚本,在测试之前,期间或之后对被测系统进行配置。这种配置方式灵活自由,但用户需要编辑Expect脚本,并非完全实现自动配置。本发明正是针对已有的协议一致性测试中配置被测系统的不足提出的一种行之有效的解决方法。

发明内容
本发明的目的是克服已有技术的网络协议一致性测试环境中对被测系统的单独进行手动配置或自动配置的不足,提供一种改进的网络协议一致性测试中被测系统的配置方法。
为了达到上述目的,本发明采取如下技术方案一种网络协议一致性测试中被测系统的配置方法,包括以下步骤1)对被测系统进行配置时用到的命令进行抽象化;
2)建立抽象命令描述文件;3)建立配置文件,该配置文件包括配置列表和解除配置列表;4)在配置时,如果是手动配置,则进入相应的配置列表项后,每读一条抽象命令,从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行配置;如果是自动配置,就针对每一个抽象命令,建立命令执行脚本,进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置;5)在解除配置时,如果是手动解除配置,则进入相应的解除配置列表项后,每读一条抽象命令,从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行解除配置;如果是自动解除配置,则进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动解除配置。
在上述技术方案中,进一步地,所述步骤4)中在配置时设置为由用户选择是手动配置或自动配置。
在上述技术方案中,进一步地,所述步骤5)中在解除配置时设置为由用户选择是手动解除配置或自动解除配置。
在上述技术方案中,进一步地,所述步骤3)替换为建立配置文件和解除配置文件。
一种网络协议一致性测试中被测系统的配置方法,包括以下步骤1)对被测系统进行配置时用到的命令进行抽象化;2)建立抽象命令描述文件;3)建立配置文件;4)在配置时,如果是手动配置,则进入相应的配置列表项后,每读一条抽象命令,就从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行配置;如果是自动配置,就针对每一个抽象命令,建立命令执行脚本,进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置;在手动配置或自动配置时,测试系统记录抽象配置命令及其执行顺序;5)在解除配置时,根据测试系统记录的抽象配置命令执行顺序来执行与抽象配置命令对应的抽象解除配置命令的命令执行脚本,对被测系统进行自动解除配置。
在上述技术方案中,进一步地,所述步骤4)中在配置时设置为由用户选择是手动配置或自动配置。
与现有技术相比,本发明的有益效果在于本发明通过对被测系统的自动配置和自动解除配置缩短测试时间,提高测试效率;同时通过手工配置和自动配置相结合的方法提供被测系统的扩展性,满足不同用户的测试需求。


图1为协议一致性测试的过程框图。
图2为本发明协议一致性测试被测系统配置流程图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细描述实施例1协议一致性理论给出了测试的基本步骤。实际测试中,用户可以根据具体情况进行整合和简化。测试仪表厂商和测试研究机构一般会提供测试解决方案,或者将测试方法内置在测试系统或测试工具中,因此基本上不用考虑如何选择测试方法和测试套。把一个测试例的测试过程可以分为五个步骤。
第一步,基本参数设置。测试方和被测方的网络接口信息,包括IP地址,MAC地址等网络参数。作为测试方与被测方交互的基本信息,这些参数将以用户界面的形式获取。
第二步,测试例参数化。基本参数将衍生出测试例中要用到的全部参数,测试例参数化的过程就是将测试例脚本中的变量赋值的过程。测试例自动参数化,不需要人工干预。
第三步,配置被测系统。测试例设计中,为达到测试目的,要考虑对被测系统的哪些属性进行配置和配置什么属性值。测试例生成后,这些就确定了。但具体配置命令的格式是无法确定的,不同的被测系统有不同的指令系统。
第四步,执行测试例脚本,得到判决结果。
第五步,解除被测系统配置。这一步是第三步的反操作,在实际测试中是必要的。当前测试例的测试过程中对被测系统的配置可能影响到下一个测试例的测试判决,从而得到不确定或者错误的结论。为了避免各种干扰,保证测试环境的准确,需要对被测系统解除配置。
对测试例执行过程的细分是导出被测系统配置模型的基础。
本发明提出一种协议一致性测试中对被测系统的配置和解除配置方法,运用此方法对协议一致性测试系统实现进行改进,最终实现一致性测试过程中被测系统的配置。
一种网络协议一致性测试中被测系统的配置方法,包括以下步骤下面以DHCPv6协议测试中一个简化的被测系统配置过程为例,说明此配置方法。
DHCPv6是一种基于客户/服务器模式的协议,DHCPv6中共设置了三种实体,即客户、服务器和转发代理。因此此处将DHCPv6测试套分为三个测试组,被测系统分别作为客户,服务器和转发代理接受测试。
1)对被测系统进行配置时用到的命令进行抽象化;命令抽象化的过程,此例中,可抽象为六个基本命令。三个配置命令,比如名称命名为SetDhcpClient,SetDhcpServer和SetDhcpRelay,是分别将被测系统配置为客户模式,服务器模式和转发代理模式;三个解除配置命令,比如名称命名为DeleteDhcpClient,DeleteDhcpServer和DeleteDhcpRelay,是将分别取消被测系统的客户模式,服务器模式和转发代理模式。
2)建立抽象命令描述文件;此例中,在命令描述文件(比如命名为CommandDefine)中分别对以上六个命令进行定义和描述。如对命令SetDhcpServer定义如下<CommandHint command=″SetDhcpServer″paramList=″″>
<Hint>Configure SUT to be the DHCP server.</Hint>
</CommandHint>
由此可见,命令名为SetDhcpServer;参数表为空,即NULL;命令描述文本为“Configure SUT to be the DHCP server”。此处SUT是system under test(被测系统)的缩写。
3)建立配置文件,该配置文件包括配置列表和解除配置列表;此处建立包括配置列表和解除配置列表的配置文件也可以采用另一种方式建立配置文件和解除配置文件。此例采取第一种方式建立配置文件,如下在配置文件(比如命名为SutConfigList)的配置列表(比如命为setconfig)中,建立这样的表项
IPv6DHCPv6Test20{{SetDhcpServer}}IPv6DHCPv6Test20是测试例名,{SetDhcpServer}是配置命令项。
同时,在解除列表(比如命名为unsetconfig)中,建立这样的表项IPv6DHCPv6Test20{{DeleteDhcpServer}}4)由用户选择是手动配置或自动配置;如果是手动配置,则进入相应的配置列表项后,每读一条抽象命令,从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行配置;如果是自动配置,就针对每一个抽象命令,建立命令执行脚本,进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置;此例中配置过程如下选择测试例IPv6DHCPv6Test20后,用户选择手动配置或者自动配置被测系统.然后测试系统进入配置列表setconfig,读到此测试例的第一条配置命令SetDhcpServer,若用户选择的是手动配置,测试系统即转入CommandDefine文件,找到对应条目SetDhcpServer,系统弹出提示框Configure SUT to be the DHCPserver。测试人员根据此信息把被测系统设置为DHCP Server模式;若用户选择的是自动配置,则进入抽象命令SetDhcpServer对应的命令执行脚本(比如命名为SutIosSetDhcpServer.exp)对被测系统进行自动配置。
5)由用户选择是手动解除配置或自动解除配置;如果是手动解除配置,则进入相应的解除配置列表项后,每读一条抽象命令,从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行解除配置;如果是自动解除配置,则进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动解除配置。
此例中解除配置过程如下配置完毕后,测试例开始执行。得到判决结果后,测试系统进入解除配置列表unsetconfig,若用户选择的是手动配置,测试系统即转入CommandDefine文件,找到对应条目DeleteDhcpServer,系统弹出提示框Unset SUT to be the DHCP server。测试人员根据此信息解除被测系统的DHCP Server模式;若用户选择的是自动配置,则进入抽象命令DeleteDhcpServer对应的命令执行脚本SutIosDeleteDhcpServer.exp对被测系统进行自动解除配置。
根据本发明的方法,在网络协议一致性测试系统中,可以设计被测系统配置模型,该模型由命令描述文件,命令脚本和配置文件三大模块组成。如图2所示,是协议一致性测试被测系统配置流程图。
抽象命令的设计是建立模型的核心。抽象命令与具体的被测系统无关,但涵盖对被测系统进行配置时用到的所有命令。所有抽象命令在一个命令描述文件中定义并描述。同时设置一个配置文件,包含一个配置列表和一个解除配置列表,每一个测试例对应一个列表项,每个列表项由数条抽象命令组成。通过手动或者自动执行抽象命令来对被测系统进行手动或者自动配置。
如果手动执行抽象命令,则进入相应的配置列表项后,每读到一条抽象命令,设置系统弹出一个提示框,提示框的内容从命令描述文件中获取,使测试者能够根据提示信息对被测系统进行配置。具体的命令格式由测试者掌握。配置完毕后,测试例开始执行,得到判决结果后进入解除配置列表,同样由测试者根据提示信息对被测系统实施手动解除配置。这种方式的优点是通用性很好,测试系统不需要考虑被测系统具体的配置命令。
如果自动执行抽象命令,则必须针对某一个或某一类被测系统编写一套命令执行脚本,每条抽象命令对应一个命令执行脚本。命令执行脚本将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置。测试执行中,系统会自动对被测系统进行配置和解除配置。这种方法的优点是测试者不必熟悉被测系统的配置命令,大大提高了测试效率。
本发明将自动配置方法和手动配置方法综合运用。手动配置被测系统作为一般方法提供给测试者,保证任何被测系统都能在测试人员的参与下进行正确配置。对于被测方有特殊要求的被测系统采用自动配置的方法,由测试方提供命令执行脚本。测试系统可以提供给用户编写命令执行脚本的接口,用户可以任意添加和修改被测系统的命令执行脚本,极大地增强了用户自动配置的灵活性和可扩展性。本发明适用于大规模,长时间的网络协议的测试,大大提高了测试效率。而且本发明提供了被测系统的可扩展性,能很好地满足不同用户的需求。
如图2所示是应用本发明的流程图,开始配置被测系统后,首先进入配置文件,查看配置列表。每一个测试例对应一个列表项,每个列表项由数条抽象命令组成。
如果进行手动配置,则进入相应的配置列表项后,每读到一条抽象命令系统弹出一个提示框。提示框的内容从命令描述文件中获取,使测试者能够根据提示信息对被测系统进行配置。如果进行自动配置,每条抽象命令对应一个命令执行脚本,命令执行脚本将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置。
配置完毕后,测试例开始执行,得到判决结果后进入解除配置列表。
与配置过程类似,如果手动解除配置,则由测试者根据提示信息对被测系统实施手动解除配置,测试系统不需要考虑被测系统具体的配置命令。如果自动解除配置,测试系统会自动对被测系统进行配置和解除配置。
实施例2实施例1提供了一种可以手动解除配置和自动解除配置相结合的配置方法。本实施例提供完全自动解除配置的配置方法为1)同实施例1的步骤1);2)同实施例1的步骤2);3)建立配置文件,该配置文件包括一个配置列表;在配置文件SutConfigList的配置列表setconfig中,建立这样的表项IPv6DHCPv6Test20{{SetDhcpServer}}4)由用户选择是手动配置或自动配置;测试系统进入相应的配置列表项,逐条读取并记录每一条抽象命令。如果是手动配置,每读一条抽象命令,从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行配置;如果是自动配置,就针对每一条抽象命令,建立命令执行脚本,进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置;无论在手动配置或自动配置时,测试系统均记录抽象配置命令及其执行顺序;此例中配置过程如下
选择测试例IPv6DHCPv6Test20后,用户选择手动配置或者自动配置被测系统。然后测试系统进入配置列表setconfig,逐条读取并记录抽象配置命令,此例中只有SetDhcpServer一条命令。若用户选择的是手动配置,读到SetDhcpServer后,测试系统即转入CommandDefine文件,找到对应条目SetDhcpServer,系统弹出提示框Configure SUT to be the DHCP server。测试人员根据此信息把被测系统设置为DHCP Server模式;若用户选择的是自动配置,读到SetDhcpServer后,则进入抽象命令SetDhcpServer对应的命令执行脚本(比如命名为SutIosSetDhcpServer.exp)对被测系统进行自动配置。
5)在解除配置时,根据测试系统记录的抽象配置命令的执行顺序执行与抽象配置命令对应的抽象解除配置命令的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行了完全的自动解除配置。
此例中解除配置过程如下配置完毕后,测试例开始执行。得到判决结果后,测试系统进入抽象配置命令SetDhcpServer对应的抽象解除配置命令DeleteDhcpServer的命令执行脚本SutIosDeleteDhcpServer.exp对被测系统进行完全自动解除配置。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种网络协议一致性测试中被测系统的配置方法,包括以下步骤1)对被测系统进行配置时用到的命令进行抽象化;2)建立抽象命令描述文件;3)建立配置文件,该配置文件包括配置列表和解除配置列表;4)在配置时,如果是手动配置,则进入相应的配置列表项后,每读一条抽象命令,从命令描述文件中获取提示内容,使用户按照提示内容对被测系统进行配置;如果是自动配置,就针对每一个抽象命令,建立命令执行脚本,进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置;5)在解除配置时,如果是手动解除配置,则进入相应的解除配置列表项后,每读一条抽象命令,从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行解除配置;如果是自动解除配置,则进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动解除配置。
2.根据权利要求1所述网络协议一致性测试中被测系统的配置方法,其特征是,所述步骤4)中在配置时设置为由用户选择是手动配置或自动配置。
3.根据权利要求1所述网络协议一致性测试中被测系统的配置方法,其特征是,所述步骤5)中在解除配置时设置为由用户选择是手动解除配置或自动解除配置。
4.根据权利要求1所述网络协议一致性测试中被测系统的配置方法,其特征是,所述步骤3)替换为建立配置文件和解除配置文件。
5.一种网络协议一致性测试中被测系统的配置方法,包括以下步骤1)对被测系统进行配置时用到的命令进行抽象化;2)建立抽象命令描述文件;3)建立配置列表;4)在配置时,如果是手动配置,则进入相应的配置列表项后,每读一条抽象命令,就从命令描述文件中获取提示内容,用户按照提示内容对被测系统进行配置;如果是自动配置,就针对每一个抽象命令,建立命令执行脚本,进入相应的配置列表项后,逐条读取抽象命令并读取对应的命令执行脚本,将抽象命令转化成具体的被测系统上的命令,同时与被测系统交互,对被测系统进行自动配置;在手动配置或自动配置时,测试系统记录抽象配置命令及其执行顺序;5)在解除配置时,根据测试系统记录的抽象配置命令执行顺序来执行与抽象配置命令对应的抽象解除配置命令的命令执行脚本,对被测系统进行自动解除配置。
6.根据权利要求5所述网络协议一致性测试中被测系统的配置方法,其特征是,所述步骤4)中在配置时设置为由用户选择是手动配置或自动配置。
全文摘要
本发明公开了一种网络协议一致性测试中被测系统的配置方法,包括以下步骤1)对被测系统进行配置时用到的命令进行抽象化;2)建立抽象命令描述文件;3)建立配置文件,该配置文件包括配置列表和解除配置列表;4)配置时,选择手动配置或自动配置;5)在解除配置时,选择手动解除配置或自动解除配置。本发明通过对被测系统的自动配置缩短测试时间,提高测试效率;同时通过手工配置和自动配置相结合的方法提供被测系统的扩展性,满足不同用户的测试需求。
文档编号H04L29/06GK1972222SQ20061016485
公开日2007年5月30日 申请日期2006年12月6日 优先权日2006年12月6日
发明者范小雨, 魏异芬, 郑红霞, 谢高岗 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1