CN104243243A - 一种用于生成协议测试序列的方法 - Google Patents
一种用于生成协议测试序列的方法 Download PDFInfo
- Publication number
- CN104243243A CN104243243A CN201410542685.2A CN201410542685A CN104243243A CN 104243243 A CN104243243 A CN 104243243A CN 201410542685 A CN201410542685 A CN 201410542685A CN 104243243 A CN104243243 A CN 104243243A
- Authority
- CN
- China
- Prior art keywords
- data
- state machine
- parameter
- datagram
- stream
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于生成协议测试序列的方法,包括以下步骤:针对待测试网络设备的协议规范构建包括与所述协议规范对应的数据组件状态机以及信道集合的流水线扩展有限状态机模型;根据所述流水线扩展有限状态机模型提取抽象组件数据图,所述抽象组件数据图包括表示所述数据组件的顶点,表示所述信道集合的有向边以及所述流水线扩展有限状态机模型的入口点和出口点;基于抽象组件数据图生成覆盖所有有向边的,处于所述流水线扩展有限状态机模型的入口点和出口点之间所有数据路径;遍历全部数据路径分别生成访问所述数据路径中全部数据组件的测试序列。本发明简化了网络协议测试方法,能够减缓状态***问题。
Description
技术领域
本发明涉及网络协议测试技术领域,具体地说,涉及一种基于流水线扩展有限状态机的用于生成协议测试序列的方法。
背景技术
协议测试技术是保证网络通讯协议正确实现以及不同的网络设备之间正确互连的重要手段。一致性测试是基本的协议测试方法,其目标是检测协议实现是否与协议规范相一致。
基于形式化方法的测试生成是这一领域中的重要问题,其目标是从协议规范的形式化模型出发,生成用于测试活动的测试集(或测试序列)。在大多数已提出的测试生成技术中,其基本思想是将被测***(System Under Test,简称SUT)模型化为一个有限状态机或扩展有限状态机的***,进而生成测试序列。
现有技术中基于扩展有限状态机的测试序列生成方法仅考虑单一进程模型情形,对于具有多个相互关联的进程的流水线情形没有涉及。后者只能通过穷举多个进程的各种组合,并对各种组合分别建立组合模型加以解决,建模的规模难以接受,并且给后续的测试生成造成了障碍。
发明内容
本发明所解决的技术问题之一在于现有技术中基于扩展有限状态机的测试序列生成方法对于具有多个相互关联的进程的流水线情形,存在局限于穷举进程组合,针对各种进程的组合进行建模而导致建模规模庞大,不利于协议测试的缺陷。
本发明提供了一种用于生成协议测试序列的方法,包括以下步骤:
针对待测试网络设备的协议规范构建包括与所述协议规范对应的数据组件状态机以及信道集合的流水线扩展有限状态机模型;
根据所述流水线扩展有限状态机模型提取抽象组件数据图,所述抽象组件数据图包括表示所述数据组件的顶点,表示所述信道集合的有向边以及所述流水线扩展有限状态机模型的入口点和出口点;
基于抽象组件数据图生成覆盖所有有向边的,处于所述流水线扩展有限状态机模型的入口点和出口点之间所有数据路径;
遍历全部数据路径分别生成访问所述数据路径中全部数据组件的测试序列。
根据本发明的一个实施例,所述数据组件状态机表示为描述数据组件的多个并行协议进程的数组,该数组包括数据组件的状态集合参数、输入参数、输出参数和状态变迁集合参数。
根据本发明的一个实施例,所述流水线扩展有限状态机模型进一步包括表示待测网络交换机中流表缓存的共享变量。
根据本发明的一个实施例,所述根据所述流水线扩展有限状态机模型提取抽象组件数据图包括:
忽略所述数据组件状态机的变迁过程,提取由所述有向边连接的多个顶点、入口点和出口点而构成的抽象组件数据图;
删除抽象组件数据图中未处理数据报文的数据组件对应的顶点,以及无数据报文通过的信道对应的有向边;
在抽象组件数据图中增加共享变量顶点用于表示所述共享变量数据组件,并增加共享变量有向边来表示所述共享变量数据组件与其他数据组件之间的信道。
根据本发明的一个实施例,所述基于抽象组件数据图生成覆盖所有有向边的,处于所述流水线扩展有限状态机模型的入口点和出口点之间所有数据路径包括:
当前顶点参数初始化,以所述入口点参数作为当前顶点的初始参数;
当前顶点参数更新,在抽象组件数据图中选定当前顶点的下一顶点,在下一顶点不为出口点且不为空白点的情况下,用下一顶点的参数更新当前顶点的参数;在下一顶点为空白点的情况下,用未访问的兄弟顶点的参数更新当前顶点的参数;
重复执行当前顶点参数更新步骤,在下一顶点为出口点的情况下,记录由入口点到出口点数据路径。
根据本发明的一个实施例,在所述遍历全部数据路径分别生成访问所述数据路径中全部数据组件的测试序列的步骤中,
选定一条数据路径中的待测数据组件,根据待测数据组件输入信道的预设输入参数和输出信道的预设输出参数在待测数据组件状态机中查找状态变迁;
在待测数据组件状态机中查找由初始状态到所述状态变迁的起始状态的前导路径;
由所述状态变迁和前导路径确定待测数据组件的测试序列。
根据本发明的一个实施例,所述共享变量有向边表示所述共享变量数据组件与向共享变量写入数据的数据组件之间的信道,和/或
所述共享变量数据组件与从共享变量读出数据的数据组件之间的信道。
根据本发明的一个实施例,所述数据组件包括下述各项中的一项或者多项:
网络交换机的监控器、网络交换机流表中的一般流表项、数据匹配组件、数据失配组件。
根据本发明的一个实施例,所述一般流表项数据组件状态机包括下述各种状态的一种或者几种:
添加数据流并转发数据、添加数据流并跳转至其他流表、添加数据流并丢弃数据报文、修改数据流并转发数据、修改数据流并跳转至其他流表、修改数据流并丢弃数据报文。
根据本发明的一个实施例,所述数据失配组件状态机包括下述各种状态的一种或者几种:
添加数据流并上传数据、添加数据流并跳转至其他流表、添加数据流并丢弃数据报文、修改数据流并上传数据、修改数据流并跳转至其他流表、修改数据流并丢弃数据报文。
本发明的有益效果在于,针对具有多个相互关联的进程的流水线情形,提供一种基于流水线扩展有限状态机模型,能够保证覆盖模型中全部数据路径。本发明将流水线扩展有限状态机模型抽象为仅仅描述数据组件和信道的组件数据图,删除了不处理数据流的相关组件和信道,简化了测试方法。此外,通过将数据组件内部的状态变迁过程简化为前导路径,仅仅考虑抽象组件数据图中的数据路径,能够减缓状态***问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明实施例的用于生成协议测试序列的方法的步骤流程图;
图2是根据本发明实施例的使用流水线扩展有限状态机描述的OpenFlow协议的交换机模型示意图;
图3是根据本发明实施例的一般流表项数据组件状态机FEi的状态变迁示意图;
图4是根据本发明实施例的数据失配组件状态机TMi的状态变迁示意图;
图5是根据本发明实施例的提取抽象组件数据图的步骤流程图;
图6是根据图2所示的交换机模型提取的抽象组件数据图;
图7是根据本发明实施例的生成数据路径的步骤流程图;
图8是根据本发明实施例的生成测试序列的步骤流程图;
图9是根据本发明实施例的一条数据路径的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
本发明的实施例提供一种基于流水线扩展有限状态机的用于生成协议测试序列方法,该方法确保对流水线扩展有限状态机模型所描述流水线***的覆盖,同时减缓状态***问题。
以下参照图1详细说明本实施中提供的用于生成协议测试序列方法。
首先在步骤S110中,针对待测试网络设备的协议规范构建包括与所述协议规范对应的数据组件状态机以及信道集合的流水线扩展有限状态机模型。其中,所述数据组件状态机表示为描述数据组件的多个并行协议进程的数组,该数组包括数据组件的状态集合参数、输入参数、输出参数和状态变迁集合参数。
现有技术中扩展有限状态机(Extended Finite State Machine,简称EFSM)广泛用于描述网络协议。但是,有些协议规范在一个网络实体中包含多个非通信的并行进程,因此需要使用并行扩展的有限状态机来模拟协议规范。
本实施例中提出用流水线扩展有限状态机(Pipelined Extended FiniteMachines,简称为Pi-EFSM)来描述一个网络实体中的多个非通信并行进程。首先构建流水线扩展有限状态机模型,用PL表示。PL是一个四元组,PL=(M,ST,C,VS)。四元组中各参数的含义如下文所述。
M是由n个组件状态机组成的集合,M={M1,M2,…,Mn},各组件状态机用于描述各协议进程的规范。其中,各组件状态机用Mi表示,i=0,1,…,n,Mi是一个八元组,Mi=(S,s0,VI,VSR,VSW I,O,T)。
在八元组Mi中,S是Mi的有限状态集合;
s0∈S,是Mi的初始状态;
VI=(Vi1,Vi2,…Vik,…,Vin),其中Vik是所有定义与使用均在Mi内部的变量,称为内部变量,k=1,2,…,n,n为正整数,VI是Mi所有内部变量的集合;
其中VSR是在Mi内部可读取的共享变量的集合;
其中VSW是在Mi内部可修改的共享变量的集合;
I=(I1,I2,…Ik,…,In),其中Ik是Mi的一个输入符号,k=1,2,…,n,n为正整数,I是Mi所有输入符号的集合,I为非空集合;
O=(O1,O2,…Ok,…,On),其中Ok是Mi的一个输出符号,k=1,2,…,n,n为正整数,O是Mi所有输出符号的集合,O为非空集合;
T=(T1,T2,…Tk,…,Tn)是Mi所有变迁的集合,T为非空集合,其中Tk是Mi的一个变迁,k=1,2,…,n,n为正整数,Tk是一个六元组,Tk=(sstart,send,Ik,Ok,P,A)。
在Tk的六元组中,sstart∈S,是Tk的初始状态;send∈S,是Tk的末状态;Ik∈I,是Tk的输入符号;Ok∈O,是Tk的输出符号;P是关于VI中的内部变量、VE中的外部变量、输入Ik和一些常量的谓词表达式,P说明了Tk执行的条件;A是Tk执行时的行为序列,A包括变量赋值行为和输出行为中的一项或多项,A中的多项行为按顺序执行。
此外,在流水线扩展有限状态机模型PL中,ST是流水线中流表层级的有限集合,根据网络交换机中的多级流表,每个流水线扩展有限状态机模型可以划分为1或多个流表层级,每个流表层级包含1或多个M中的组件状态机。C是信道的有限集合,每个信道将一个组件状态机与外部环境或其他状态机相连接。VS是共享变量的有限集合,共享变量是全局变量,不属于特定的组件状态机。
图2为使用流水线扩展有限状态机描述的OpenFlow协议的交换机模型示意图。图2中未体现数据组件状态变迁的具体细节。图2中的控制器是外部环境的实体,不属于交换机的组件;入口点和出口点是交换机与外部环境接口的抽象,不属于交换机的组件;监控器是交换机的组件,负责与控制器交互控制消息;流表0、流表1和流表2表示交换机中的多级流表,对应流水线扩展有限状态机的不同流表层级;图2中的MMi(i=0,1,2)是交换机各流表中负责进行数据匹配的组件;FEi(i=0,1,2)组件是交换机各流表中的一般流表项;TMi(i=0,1,2)组件是交换机各流表中的失配表项;BUFi(i=0,1,2)是共享变量,代表交换机各流表中的缓存,不属于组件状态机。图2中虚线表示外部控制器与交换机监控器、交换机内部数据组件的控制数据的流向,实线表示交换机内部业务数据的流向。
图3是本实施例中一般流表项数据组件状态机FEi的状态变迁示意图,其中FEi的状态变迁详见表1。图4是本实施例中数据失配组件状态机TMi的状态变迁示意图,其中TMi的状态变迁详见表2。
表1
表1中的输入参数aa取值0或1,表示是否含有立即输出指令;gtab取值0、1或2,表示不同的流表。
表2
表2中的输入参数aa取值0或1,表示是否含有立即输出指令;gtab取值0、1或2,表示不同的流表。
再次参考图1,在步骤S110中已构建流水线扩展有限状态机模型,然后执行步骤S120,根据流水线状态机模型提取抽象组件数据图来描述流水线***中的数据处理情况,用于生成测试路径和测试序列。
具体来说,在步骤S120中根据所述流水线扩展有限状态机模型提取抽象组件数据图,所述抽象组件数据图包括表示所述数据组件的顶点,表示所述信道集合的有向边以及所述流水线扩展有限状态机模型的入口点和出口点。
参照图5,在步骤S120中包括以下子步骤。首先执行子步骤S121,忽略数据组件状态机的变迁过程,提取由所述有向边连接的多个顶点、入口点和出口点而构成的抽象组件数据图。然后在子步骤S122中,删除抽象组件数据图中未处理数据报文的数据组件对应的顶点,以及无数据报文通过的信道对应的有向边。最后执行子步骤S123,在抽象组件数据图中增加共享变量顶点用于表示共享变量数据组件,并增加共享变量有向边来表示共享变量数据组件与其他数据组件之间的信道。其中,共享变量有向边表示共享变量数据组件与向共享变量写入数据的数据组件之间的信道,以及/或者所述共享变量数据组件与从共享变量读出数据的数据组件之间的信道。
在本实施例中,组件数据(Data Graph)用DG表示,DG是一个有向无环图,用一个四元组表示为DG=(V,E,Pstart,Pend)。其中,V是图中顶点的集合,每个顶点用Vertex(Mi)表示,i=0,1,…,n,Mi是一个组件状态机;E是图中有向边的集合,每个有向边用Edge={c|c∈C}表示,其中C是流水线扩展有限状态机模型中信道的有限集合;Pstart是流水线扩展有限状态机模型的入口点,所有数据报文由此输入流水线;Pend是流水线扩展有限状态机模型的出口点,所有数据报文由此输出流水线。
图6是根据图2所示的交换机模型提取的抽象组件数据图。图6中已删除监控器组件和相关信道;缓存BUFi为共享变量顶点,表示共享数据组件;增加共享变量有向边来表示BUFi与向BUFi写入数据的失配表项组件TMi(i=0,1,2)之间的连接,以及表示BUFi与从BUFi读取数据的一般流表项组件FEi(i=0,1,2)之间的连接。
需要说明的是,本实施例中提供的生成测试序列的方法包括抽象组件数据图中的数据路径生成和基于数据路径的测试序列的生成。首先从组件数据图出发,生成覆盖图中所有边的数据路径,然后对每一条数据路径基于输入输出匹配生成测试序列。如此以来,可以避免现有技术中对于具有多个相互关联的进程的流水线情形,只能穷举多个进程的各种组合并分别建模,导致建模规模过于庞大的局限性。
并且,现有技术中基于通信有限状态机的测试生成都是用于网络中多实体的情形,没有涉及单一实体中多个进程的情形,对于流水线中共享数据的情况难以描述,而且相关的测试方法大都存在组合模型造成的状态***问题。本实施例中对抽象组件数据图选择不同的数据路径来遍历数据路径中的每一数据组件,可以覆盖流水线中共享数据的不同路径,并产生针对每一条数据路径的测试序列。从而能够减缓状态***问题。
再次参考图1,在步骤S120中完成提取抽象组件数据图之后,再执行步骤S130,基于抽象组件数据图生成覆盖所有有向边的,处于所述流水线扩展有限状态机模型的入口点和出口点之间所有数据路径。
如图7所示,在步骤S130的基于抽象组件数据图生成数据路径的过程中具体包括以下子步骤。
首先执行子步骤S131,对当前顶点参数进行初始化,以入口点参数作为当前顶点的初始参数,即对于所述组件数据图DG,设定当前顶点Pcurrent=Pstart。
接下来在子步骤S132至S135中,完成当前顶点参数的更新。
在子步骤S132中判断抽象组件数据图中的下一顶点是否为出口点或者空白点,如果抽象组件数据图中的下一个顶点Pcurrent.next不为空白点且不是出口点Pend,执行子步骤S133,用下一顶点的参数更新当前顶点的参数,即Pcurrent=Pcurrent.next;随后重复子步骤S132。
如果抽象组件数据图中的下一个顶点Pcurrent.next是出口点Pend,则执行步骤S134,记录由Pstart到Pend的数据路径,并将Pcurrent设置为未访问的兄弟顶点,随后重复执行子步骤S132;其中,Pcurrent的兄弟顶点表示其前一顶点的其他后续顶点,举例如图6所示,FE0与TM0互为兄弟顶点。
如果组件数据图中的下一个顶点Pcurrent.next为空白点,则执行子步骤S135,Pcurrent置为未访问的兄弟顶点,即用未访问的兄弟顶点的参数更新当前顶点的参数,随后重复子步骤S132。
这样重复执行子步骤S132至S135,从而在步骤S130中抽象组件数据图DG中所有顶点均被访问过,完成数据路径生成。
再次参考图1,接下来执行步骤S140,遍历全部数据路径分别生成访问所述数据路径中全部数据组件的测试序列。以下将参照图8详细介绍本步骤中基于输入输出匹配的测试序列生成算法,并逐步予以详细解释。
在前述步骤S120中基于流水线扩展有限状态机模型的***抽象视图提取的抽象组件数据图,并不包括数据组件状态机的内部状态变迁细节。对应地,在步骤S130中生成的数据路径属于***抽象路径,为了进行实际测试,需要基于数据路径生成含有数据组件状态机内部前导路径的测试序列。
如图8所示,在步骤S140中包括以下子步骤。
首先在子步骤S141中选取一数据路径,并选取该数据路径首个信道中的消息为input。然后执行子步骤S142,选取数据路径中下一个信道中的消息为output。随后在子步骤S143中,在连接两个信道的数据组件状态机中查找以input为输入,以output为输出的变迁t。这样,对于选定的一条数据路径中的待测数据组件,根据待测数据组件输入信道的预设输入参数和输出信道的预设输出参数,基于输入输出匹配的算法在待测数据组件状态机中查找状态变迁。
接下来在子步骤S144中,在t所属的数据组件状态机中查找由初始状态到t的起始状态的前导路径并与t连接,由状态变迁t和前导路径确定待测数据组件的测试序列。由于数据组件状态机内部的前导路径仅仅表示从由该数据组件从初始状态到状态变迁的起始状态的变化,这与数据路径的整体测试无关,优选的,可以选择最短的一条前导路径来减小运算数量。
随后执行子步骤S145,设置数据路径中后续信道的输入参数与输出参数,即设置input=output。重复执行子步骤S143直到所选取的数据路径中所有数据组件都被访问,生成针对所选取的数据路径的测试序列;
在子步骤S146中,重新选择数据路径,重复执行子步骤S141直到所有数据路径都被遍历,最终生成全部测试序列。
以下提供一个基于输入输出匹配的测试生成算法的示例。
INPUT(1)数据路径集合DP(2)流水线扩展有限状态机模型;
OUTPUT测试序列集合TS;
BEGIN
(1)For DP中每一条数据路径DPj
(2)初始化TSj为初始空测试序列
(3)For DPj中入口点后的每一个组件状态机Mi
(4)If Mi是中转组件
(5)Continue
(6)Else
(7)置inputi为Mi前的信道中的消息
(8)置outputi为Mi后的信道中的消息
(9)置TRi为Mi中以inputi/outputi为输入/输出的变迁
(10)置前导路径Preamblei为Mi中从初始状态到TR初状态的路径
(11)Pathi:=Preamblei+TRi;
(12)将Pathi存入TSj
(13)End If
(14)将TSj存入TS
(15)End For
(16)End For
END.
到此为止,在步骤S140中遍历全部数据路径分别生成访问所述数据路径中全部数据组件的测试序列。
实验结果
在本示例中采用以上方法生成了针对OpenFlow协议1.3.0版本交换机模型的64条数据路径和对应的64个测试序列。举例而言,如图9所示为生成的一条数据路径。其对应的测试序列如表3所示。
表3
由此可见,本发明实施例达到了预期目的。
综上所述,本发明的实施例通过引入流水线扩展有限状态机模型和组件数据图,在测试生成过程中先查找数据路径,再生成测试序列,准确描述了带有流水线结构的网络协议,并使用层次化生成减缓了状态***问题。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种用于生成协议测试序列的方法,其特征在于,包括以下步骤:
针对待测试网络设备的协议规范构建包括与所述协议规范对应的数据组件状态机以及信道集合的流水线扩展有限状态机模型;
根据所述流水线扩展有限状态机模型提取抽象组件数据图,所述抽象组件数据图包括表示所述数据组件的顶点,表示所述信道集合的有向边以及所述流水线扩展有限状态机模型的入口点和出口点;
基于抽象组件数据图生成覆盖所有有向边的,处于所述流水线扩展有限状态机模型的入口点和出口点之间所有数据路径;
遍历全部数据路径分别生成访问所述数据路径中全部数据组件的测试序列。
2.根据权利要求1所述的方法,其特征在于,所述数据组件状态机表示为描述数据组件的多个并行协议进程的数组,该数组包括数据组件的状态集合参数、输入参数、输出参数和状态变迁集合参数。
3.根据权利要求1或2所述的方法,其特征在于,所述流水线扩展有限状态机模型进一步包括表示待测网络交换机中流表缓存的共享变量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述流水线扩展有限状态机模型提取抽象组件数据图包括:
忽略所述数据组件状态机的变迁过程,提取由所述有向边连接的多个顶点、入口点和出口点而构成的抽象组件数据图;
删除抽象组件数据图中未处理数据报文的数据组件对应的顶点,以及无数据报文通过的信道对应的有向边;
在抽象组件数据图中增加共享变量顶点用于表示所述共享变量数据组件,并增加共享变量有向边来表示所述共享变量数据组件与其他数据组件之间的信道。
5.根据权利要求4所述的方法,其特征在于,所述基于抽象组件数据图生成覆盖所有有向边的,处于所述流水线扩展有限状态机模型的入口点和出口点之间所有数据路径包括:
当前顶点参数初始化,以所述入口点参数作为当前顶点的初始参数;
当前顶点参数更新,在抽象组件数据图中选定当前顶点的下一顶点,在下一顶点不为出口点且不为空白点的情况下,用下一顶点的参数更新当前顶点的参数;在下一顶点为空白点的情况下,用未访问的兄弟顶点的参数更新当前顶点的参数;
重复执行当前顶点参数更新步骤,在下一顶点为出口点的情况下,记录由入口点到出口点数据路径。
6.根据权利要求5所述的方法,其特征在于,在所述遍历全部数据路径分别生成访问所述数据路径中全部数据组件的测试序列的步骤中,
选定一条数据路径中的待测数据组件,根据待测数据组件输入信道的预设输入参数和输出信道的预设输出参数在待测数据组件状态机中查找状态变迁;
在待测数据组件状态机中查找由初始状态到所述状态变迁的起始状态的前导路径;
由所述状态变迁和前导路径确定待测数据组件的测试序列。
7.根据权利要求4所述的方法,其特征在于,所述共享变量有向边表示所述共享变量数据组件与向共享变量写入数据的数据组件之间的信道,和/或
所述共享变量数据组件与从共享变量读出数据的数据组件之间的信道。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述数据组件包括下述各项中的一项或者多项:
网络交换机的监控器、网络交换机流表中的一般流表项、数据匹配组件、数据失配组件。
9.根据权利要求8所述的方法,其特征在于,所述一般流表项数据组件状态机包括下述各种状态的一种或者几种:
添加数据流并转发数据、添加数据流并跳转至其他流表、添加数据流并丢弃数据报文、修改数据流并转发数据、修改数据流并跳转至其他流表、修改数据流并丢弃数据报文。
10.根据权利要求8所述的方法,其特征在于,所述数据失配组件状态机包括下述各种状态的一种或者几种:
添加数据流并上传数据、添加数据流并跳转至其他流表、添加数据流并丢弃数据报文、修改数据流并上传数据、修改数据流并跳转至其他流表、修改数据流并丢弃数据报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410542685.2A CN104243243B (zh) | 2014-10-14 | 2014-10-14 | 一种用于生成协议测试序列的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410542685.2A CN104243243B (zh) | 2014-10-14 | 2014-10-14 | 一种用于生成协议测试序列的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243243A true CN104243243A (zh) | 2014-12-24 |
CN104243243B CN104243243B (zh) | 2017-08-04 |
Family
ID=52230640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410542685.2A Active CN104243243B (zh) | 2014-10-14 | 2014-10-14 | 一种用于生成协议测试序列的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104243243B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337801A (zh) * | 2015-11-10 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 一种适用于交换机协议的基于状态机的测试用例设计方法 |
CN107566098A (zh) * | 2017-07-24 | 2018-01-09 | 清华大学 | 软件定义网络应用测试序列的生成方法与生成*** |
CN111934948A (zh) * | 2020-07-20 | 2020-11-13 | 浙江理工大学 | 基于蒙特卡洛树搜索的efsm可执行测试序列生成方法 |
CN112395205A (zh) * | 2020-12-03 | 2021-02-23 | 中国兵器工业信息中心 | 一种软件测试***及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392509B2 (en) * | 2004-04-13 | 2008-06-24 | University Of Maryland | Method for domain specific test design automation |
CN101674205A (zh) * | 2009-08-27 | 2010-03-17 | 福建星网锐捷网络有限公司 | 基于有限状态机的网络通信协议测试序列生成方法及装置 |
CN102176200A (zh) * | 2009-09-25 | 2011-09-07 | 南京航空航天大学 | 一种软件测试用例自动生成方法 |
CN102404167A (zh) * | 2011-11-03 | 2012-04-04 | 清华大学 | 基于变量依赖的并行扩展有限状态机的协议测试生成方法 |
CN103391224A (zh) * | 2013-07-22 | 2013-11-13 | 清华大学 | 基于并行扩展有限状态机的协议层次化测试生成方法 |
CN104077228A (zh) * | 2014-07-08 | 2014-10-01 | 浙江理工大学 | 一种基于谓词依赖图的efsm可执行测试序列生成方法 |
-
2014
- 2014-10-14 CN CN201410542685.2A patent/CN104243243B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392509B2 (en) * | 2004-04-13 | 2008-06-24 | University Of Maryland | Method for domain specific test design automation |
CN101674205A (zh) * | 2009-08-27 | 2010-03-17 | 福建星网锐捷网络有限公司 | 基于有限状态机的网络通信协议测试序列生成方法及装置 |
CN102176200A (zh) * | 2009-09-25 | 2011-09-07 | 南京航空航天大学 | 一种软件测试用例自动生成方法 |
CN102404167A (zh) * | 2011-11-03 | 2012-04-04 | 清华大学 | 基于变量依赖的并行扩展有限状态机的协议测试生成方法 |
CN103391224A (zh) * | 2013-07-22 | 2013-11-13 | 清华大学 | 基于并行扩展有限状态机的协议层次化测试生成方法 |
CN104077228A (zh) * | 2014-07-08 | 2014-10-01 | 浙江理工大学 | 一种基于谓词依赖图的efsm可执行测试序列生成方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337801A (zh) * | 2015-11-10 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 一种适用于交换机协议的基于状态机的测试用例设计方法 |
CN105337801B (zh) * | 2015-11-10 | 2018-07-31 | 上海斐讯数据通信技术有限公司 | 一种适用于交换机协议的基于状态机的测试用例设计方法 |
CN107566098A (zh) * | 2017-07-24 | 2018-01-09 | 清华大学 | 软件定义网络应用测试序列的生成方法与生成*** |
CN107566098B (zh) * | 2017-07-24 | 2019-10-18 | 清华大学 | 软件定义网络应用测试序列的生成方法与生成*** |
CN111934948A (zh) * | 2020-07-20 | 2020-11-13 | 浙江理工大学 | 基于蒙特卡洛树搜索的efsm可执行测试序列生成方法 |
CN111934948B (zh) * | 2020-07-20 | 2022-04-12 | 浙江理工大学 | 基于蒙特卡洛树搜索的efsm可执行测试序列生成方法 |
CN112395205A (zh) * | 2020-12-03 | 2021-02-23 | 中国兵器工业信息中心 | 一种软件测试***及方法 |
CN112395205B (zh) * | 2020-12-03 | 2024-04-26 | 中国兵器工业信息中心 | 一种软件测试***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104243243B (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263116B2 (en) | Champion test case generation | |
TWI486810B (zh) | 在狀態機晶格中之計數器操作 | |
Brotherston et al. | Automated cyclic entailment proofs in separation logic | |
CN104243243A (zh) | 一种用于生成协议测试序列的方法 | |
CN103004158A (zh) | 具有可编程内核的网络设备 | |
US9992094B1 (en) | Adaptive forwarding tables | |
US10958770B2 (en) | Realization of a programmable forwarding pipeline through packet header summaries in a data processing unit | |
CN104391796B (zh) | 一种测试用例解析方法 | |
CN103391224B (zh) | 基于并行扩展有限状态机的协议层次化测试生成方法 | |
US11663113B2 (en) | Real time fault localization using combinatorial test design techniques and test case priority selection | |
Liu et al. | Editable graph neural network for node classifications | |
US8418119B2 (en) | Logical circuit netlist reduction and model simplification using simulation results containing symbolic values | |
CN111625448B (zh) | 协议包生成方法、装置、设备及存储介质 | |
CN105340227B (zh) | 开放流流表间信息传递的方法、控制器、交换机及*** | |
US9819579B2 (en) | Header space analysis extension systems and methods for transport networks | |
CN107404440A (zh) | 一种转发表项发送方法、报文转发方法及装置 | |
CN112232445B (zh) | 多标签分类任务网络的训练方法和装置 | |
CN112437065B (zh) | Sdn环境下基于图形表示的策略冲突检测及解决方法 | |
CN106954264B (zh) | 一种下行物理共享信道pdsch的资源映射方法及*** | |
US11516044B2 (en) | Network processing device and networks processing method of communication frames | |
CN105227390A (zh) | 快速测试cpu转发性能的方法及装置 | |
TWI499787B (zh) | 多重故障診斷方法和機器可讀媒體 | |
Lu et al. | Translating Images to Road Network: A Non-Autoregressive Sequence-to-Sequence Approach | |
CN105718617B (zh) | 用于Matlab自动测试的Bus结构体反向自动建模方法 | |
CN105791124A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |