CN1787461A - 一种使用状态机测试网元接口的方法 - Google Patents

一种使用状态机测试网元接口的方法 Download PDF

Info

Publication number
CN1787461A
CN1787461A CN 200410077328 CN200410077328A CN1787461A CN 1787461 A CN1787461 A CN 1787461A CN 200410077328 CN200410077328 CN 200410077328 CN 200410077328 A CN200410077328 A CN 200410077328A CN 1787461 A CN1787461 A CN 1787461A
Authority
CN
China
Prior art keywords
state machine
network element
element interface
machine
message
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
Application number
CN 200410077328
Other languages
English (en)
Other versions
CN100358302C (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB200410077328XA priority Critical patent/CN100358302C/zh
Publication of CN1787461A publication Critical patent/CN1787461A/zh
Application granted granted Critical
Publication of CN100358302C publication Critical patent/CN100358302C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种使用状态机测试网元接口的方法,包括步骤:由不同状态机对象表示相应的网元接口,其通过适配器与一个状态机模板对象对应,状态机执行器加载不同的状态机对象来模拟不同的网元接口行为,不同网元在所述状态机执行器中以相应网元对象表示,由各个网元对象实例共享所述状态机模板对象。在状态机描述文本中对状态机描述表、消息信元回填映射表和测试消息集合进行描述,状态机描述文本以属性的方式与状态机模板对象对应,测试系统根据状态机描述文本创建状态机模板对象的相应实例。采用本发明的技术方案,由于在状态机描述文本中对状态机分层描述,使状态机更清晰,状态机和状态机执行器分离,测试系统易于实现,易于维护。

Description

一种使用状态机测试网元接口的方法
技术领域
本发明涉及网元接口的测试方法,具体涉及一种使用状态机测试网元接口的方法。
背景技术
系统的业务自动化测试中,如协议一致性测试、业务功能测试等,需要对协议的消息流程或业务流程建立模型,而状态机技术适用于面向过程的应用,适用于系统的动态建模。如果对象的行为必须响应异步激发,或它的当前行为依赖于过去,用状态机可以简单、高效地描述系统的行为,而且便于理解。在业务测试中,需要模拟被测试设备的外部接口的行为,用于测试设备的设计功能完备性。现有的网元接口的测试方法之一,是将模拟网元接口的状态机以代码的形式置于测试程序或脚本中,这种方法的缺点是没有区分状态机和状态机执行器,描述方法复杂,需要写测试代码,应用的技术难度高,不易于维护。另外一种测试方法是将模拟网元接口的状态机和状态机执行器分开设计,但是这种方法的缺点是状态机描述方法简单,没有执行过程中的用户需要的资源检查等定制的功能的描述;状态机不分层次,子状态机没有进行模块化,不能充分共享;状态机执行器没有扩展接口给用户使用。
发明内容
本发明要解决的技术问题是提供一种使用状态机测试网元接口的方法,克服现有技术中状态机不分层次,子状态机没有进行模块化,不能充分共享,以及状态机执行器没有扩展接口给用户使用,不能进行用户需要的资源检查的缺点。
为解决上述技术问题,本发明采用如下的技术方案:
一种使用状态机测试网元接口的方法,包括以下步骤:采用面向对象技术,由不同状态机对象表示相应的网元接口,其通过适配器与一个状态机模板对象对应,状态机执行器加载不同的状态机对象来模拟不同的网元接口行为,不同网元在所述状态机执行器中以相应网元对象表示,由各个网元对象实例共享所述状态机模板对象。
在状态机描述文本中对状态机描述表、消息信元回填映射表和测试消息集合进行描述,所述状态机描述文本以属性的方式与状态机模板对象对应,测试系统根据所述状态机描述文本创建所述状态机模板对象的相应实例。
在所述状态机描述文本中根据子状态机名对状态机进行分层描述。
同一网元对象实例的多个状态机层次以单向链表的方式表达,形成调用栈的关系,所述测试系统的用户流程根据状态机描述的要求维护所述单向链表的创建、处理和释放。
所述状态机执行器的触发器对象根据测试需要启动并发流程或检查当前的资源状态,根据接收消息启动并切换到另一层状态机执行。
所述测试系统初始化时建立缺省的公用流程,其它用户流程根据接收消息建立,当一个流程中包含不止一个协议层消息时,每一协议层对应一个状态机对象实例,其通过适配器与一个状态机模板对象邦定。
采用本发明的技术方案,由于在状态机描述文本中对状态机分层描述,使复杂的状态机更清晰,状态机和状态机执行器分离,使测试系统易于实现,易于维护。
附图说明
图1是本发明的测试系统内部实体关系图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明:
状态机描述文本是以FSM(Finite State Machine,有限状态机)为扩展名的文件,其中包括状态机描述、回填消息IE(Information Element,消息信元)映射表和测试消息文件名列表,状态机描述的标识关键字为FSM;回填消息IE映射表的标识关键字为MSGIE;消息文件名称列表的标识关键字为MSGLIST。注释和说明文字以逗号开头。测试消息文件名以扩展名MSG结尾。
业务状态机以表驱动,以“FSM:”作为表的起始标识,表的每一行包含序号、状态名、接收消息名、发送消息名、等待延时时长、超时迁移目的状态名、正常迁移目的状态名、下一层状态机名、触动发器名和状态说明等十项,各项以逗号分开,当某一项可以有多项时,以引号包含,各子项以空格分隔。当表中某项为“”时表示没有相应的值或为空。状态序号是唯一的不会重复。延时时长以毫秒为单位。状态机表的第一行是状态机启动入口,头一条接收消息和发送消息需要安排第一行,其它的状态行可以任意安排。以下说明状态行中各项的用法。
1、状态行序号
序号是唯一标识一个状态,不能为空,序号为1或0的状态并不一定是头一个状态,状态机表的第一行的状态才是头一个处理的状态。
2、状态名
状态名表示是状态名称,不能为空,当在相同状态下需要接收不同的消息时,可以描述成多行具有相同状态名的状态,但状态序号不同。
3、接收消息名
表示是在本状态下准备接收的消息名称,该消息是用ASN.1(AbstractSyntaxNotation No.1,抽象语法记号1)描述的消息文件,作为消息模板应在消息文件目录中保存,状态机执行引擎运行时加载。若没有需要接收的消息,此项填“”。
4、发送消息名
表示是在本状态下准备发送的消息名称,该消息的消息模板应在消息文件目录中保存,状态机执行引擎运行时加载,根据接收消息来回填相应的信元。若没有需要发送的消息,此项填“”,发送消息可以有多个,各个消息以空格来分开。
5、等待延时时长
表示是在本状态下等待接收消息的延时,以毫秒为单位,若没有延时要求时,此项填0。
6、超时迁移目的状态名
表示是在本状态下在规定的时间内没有收到相应的消息时,状态机迁移的目标状态。“ERROR”、“OVER”、“SUCCESS”、“FAIL”是保留状态名,表示状态机的结果状态。最顶层状态机返回以上保留状态,表示用户实例执行完毕。
7、正常迁移目的状态名
表示是在本状态下在规定的时间内收到相应的消息时,状态机迁移的目标状态。“ERROR”、“OVER”、“SUCCESS”、“FAIL”是保留状态名,表示状态机的结果状态。最顶层状态机返回以上保留状态,表示用户实例执行完毕。
8、下一层状态机名
表示是执行另一个状态机的名称,在当前状态下在规定的时间内收到相应的消息后,在发送相应的消息之前,若有下一层状态机名不为空时,暂停当前状态机,启动执行另一个状态机,再根据这个状态机返回的状态来决定本层状态机的状态迁移。
9、触发器名称
表示在当前状态下,需要通过触发器类来启动另一个并发的流程,一般是被叫流程,当前流程继续运行。或者是启动一个资源检查过程,用来核查当前状态下和资源,这需要OM资源查询模块的配合。最终用户可以根据需要扩展触发器类,以实现不同的测试需求,系统默认提供实现启动被叫流程的触发器类(CalleeTrigger)。
10、状态说明
表示在当前状态下,系统处于何种逻辑状况,如等待用户接入、链路建立完成、小区建立完成等等。
消息信元回填映射表
消息信元回填映射表保存了从接收消息中指定的信元和准备填入的发送消息,以“MSGIE:”作为表的起始标识,表中各行没有依赖关系,可以任意安排。表的每一行包含接收消息名、接收信元的路径、发送消息名、发送信元的路径等四项,各项以逗号分开,信元路径用引号包含,信元路径各部分以空格分隔。
当回填映射表中某项为“”时表示没有相应的值或为空。
当回填映射表发送消息和发送信元的路径都以“”时,表示接收消息是状态机头一条消息,并且需要从中取出标识信元ID,如IMSI或UEID。
当回填映射表中接收消息为“”接收信元为“ID”、“IMSI”时,表示需要向寻呼消息填入被叫的ID(UEID、IMSI等)。
从用户易用性考虑,当需要回填的信元是一个序列(SEQUENCE OF)时,在信元路径的最后标注序列的数量来代替信元路径最后的偏移,则系统会依次回填所有的序列项。例如IMSI有15位数字,则用SimRNC-15表示。ISDN有11位,则用SimRNC-11表示,以此类推。例如:
MSGIE:
;主叫  用于创建用户实体
{″RRC_RRC_CONNECT_REQ″,″dllMsg struMsgChoice struRrc-MsgstruUU-RRC-CONN-SETUP-STRU struInitUeId u struImsi aucImsiSimRNC-15″,″″,″″}
;正常
{RRC_RRC_CONNECT_REQ,″ulInstId″,RRC_RRC_CONNECT_SETUP,″ulInstId″}
;被呼
{″″,″ID″,Paging,″ulInstId″}
{″″,″IMSI″,Paging,″dllMsg struMsgChoice struRrc-MsgstruUU-RRC-CONN-SETUP-STRU struInitUeId u struImsi aucImsiSimRNC-15″}
针对状态机描述的需求和并发执行的需求,需要模拟的有设备在执行器中以一个设备对象形式存在,每一个设备对象模拟一个设备,可以相同类的设备也可以不同类的设备,状态机采用模板设计模式,状态机描述文本作为只读的数据源,以对象实例子的方式创建状态机模板,由各个设备实例共享状态机模板对象。其次,针对多层状态机描述,同一设备实例的多个状态机层次通过单向链表的方式表达,形成一个调用栈的关系,体现多层协议栈的实现需求,呼叫中的实例对象根据状态机描述的要求维护该链表资源的创建、处理和释放,链表中的对象则是代表某一个状态机的实现实例的数据对象。再者,各个实例的状态机链表对象通过适配对象与状态机对象建立非排他性的一对一的帮定关系。最后,主控模块通过消息泵接收前台消息,根据消息类型进行分发和调度,实现多实例分时共享的目的。
系统划分为执行引擎消息泵模块,用户对象模块,状态机实体模块,状态机适配模块,协议层切换与测试检查模块和状态机描述模块,各个模块用一个类来描述其功能和需要维护的数据,用户的测试脚本启动执行引擎消息泵,然后根据接收的消息来创建用户对象,用户对象根据接收的消息来确定如何与状态机、状态机适配等配合构成一个状态机执行的实体。结构图如图1所示。
初始化时建立的系统用户对象是包含缺省的公用流程,其它用户对象是根据接收消息建立,例如它包含手机的呼叫流程。当流程中包含不止一个协议层消息时,每一层拥有一个状态机实体(数据对象Entity),它通过适配器(Adapter)与某一个状态机描述模板(TMSGFSM)邦定;状态机模板对象拥有状态机的描述表、测试消息集和回填信元关系表等状态机的固有属性,适配器(Adapter)保存状态机的运行信息。这样划分的目的是只要更新状态机描述扩展包即可以扩充状态机执行引擎的执行能力,模拟不同的网元实体。状态机协议层切换与触发器(Trigger)是各层状态机的转接点,测试执行过程中的检查点,Trigger的实例可以根据测试需要检查当前的资源状态,根据接收消息启动并切换到另一层状态机执行,或根据状态机流程需要创建被叫实体,由状态机实体解析状态机描述后,根据需要来创建,完成任务后随即释放。执行器提供一般通用的触发器功能,触发器也作为一个外部接口。提供给用户,状态机描述中只需要给予新的触发器名称即可。在以TCL的实现执行器时,把触发器作为一个模板类和规则,提供给用户根据实际需要定制个性化的实现。
虽然通过参照本发明的优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

Claims (9)

1、一种使用状态机测试网元接口的方法,包括以下步骤:采用面向对象技术,由不同状态机对象表示相应的网元接口,其通过适配器与一个状态机模板对象对应,状态机执行器加载不同的状态机对象来模拟不同的网元接口行为,不同网元在所述状态机执行器中以相应网元对象表示,由各个网元对象实例共享所述状态机模板对象。
2、根据权利要求1所述的使用状态机测试网元接口的方法,其特征在于:在状态机描述文本中对状态机描述表、消息信元回填映射表和测试消息集合进行描述,所述状态机描述文本以属性的方式与状态机模板对象对应,测试系统根据所述状态机描述文本创建所述状态机模板对象的相应实例。
3、根据权利要求2所述的使用状态机测试网元接口的方法,其特征在于:在所述状态机描述文本中根据子状态机名对状态机进行分层描述。
4、根据权利要求3所述的使用状态机测试网元接口的方法,其特征在于:同一网元对象实例的多个状态机层次以单向链表的方式表达,形成调用栈的关系,所述测试系统的用户流程根据状态机描述的要求维护所述单向链表的创建、处理和释放。
5、根据权利要求4所述的使用状态机测试网元接口的方法,其特征在于:所述状态机执行器的触发器对象根据测试需要启动并发流程或检查当前的资源状态,根据接收消息启动并切换到另一层状态机执行。
6、根据权利要求5所述的使用状态机测试网元接口的方法,其特征在于:设置所述触发器类为模板类。
7、根据权利要求6所述的使用状态机测试网元接口的方法,其特征在于:设置所述状态机描述文本为只读文本。
8、根据权利要求7所述的使用状态机测试网元接口的方法,其特征在于:所述测试系统初始化时建立缺省的公用流程,其它用户流程根据接收消息建立,当一个流程中包含不止一个协议层消息时,每一协议层对应一个状态机对象实例,其通过适配器与一个状态机模板对象邦定。
9、根据权利要求8所述的使用状态机测试网元接口的方法,其特征在于:所述适配器保存状态机对象的运行信息。
CNB200410077328XA 2004-12-06 2004-12-06 一种使用状态机测试网元接口的方法 Expired - Fee Related CN100358302C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200410077328XA CN100358302C (zh) 2004-12-06 2004-12-06 一种使用状态机测试网元接口的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200410077328XA CN100358302C (zh) 2004-12-06 2004-12-06 一种使用状态机测试网元接口的方法

Publications (2)

Publication Number Publication Date
CN1787461A true CN1787461A (zh) 2006-06-14
CN100358302C CN100358302C (zh) 2007-12-26

Family

ID=36784783

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200410077328XA Expired - Fee Related CN100358302C (zh) 2004-12-06 2004-12-06 一种使用状态机测试网元接口的方法

Country Status (1)

Country Link
CN (1) CN100358302C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100420210C (zh) * 2006-09-22 2008-09-17 华为技术有限公司 状态机构建方法和设备测试系统及设备模拟器
WO2009052673A1 (en) * 2007-10-24 2009-04-30 Zte Corporation Uniform service access system and access method
CN101212357B (zh) * 2006-12-31 2010-09-15 亿阳信通股份有限公司 一种接口的测试方法和装置
CN102098665A (zh) * 2011-02-21 2011-06-15 北京汇泰沃德科技有限公司 号码回填的补充方法和通信监测系统
CN102098667A (zh) * 2011-02-21 2011-06-15 北京汇泰沃德科技有限公司 应用于3g网络的号码回填方法和通信监测系统
CN106535219A (zh) * 2015-09-10 2017-03-22 上海大唐移动通信设备有限公司 一种用户信息回填方法及装置
CN108804271A (zh) * 2018-06-28 2018-11-13 北京潘达互娱科技有限公司 接口容错测试方法及装置
CN110825428A (zh) * 2019-11-06 2020-02-21 政采云有限公司 一种状态机配置方法、装置、设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826030A (en) * 1995-11-30 1998-10-20 Excel Switching Corporation Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format
US5987035A (en) * 1996-11-20 1999-11-16 Excel Switching Corporation Process for signaling messages in a data switching network
US20020161907A1 (en) * 2001-04-25 2002-10-31 Avery Moon Adaptive multi-protocol communications system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100420210C (zh) * 2006-09-22 2008-09-17 华为技术有限公司 状态机构建方法和设备测试系统及设备模拟器
CN101212357B (zh) * 2006-12-31 2010-09-15 亿阳信通股份有限公司 一种接口的测试方法和装置
WO2009052673A1 (en) * 2007-10-24 2009-04-30 Zte Corporation Uniform service access system and access method
US8966056B2 (en) 2007-10-24 2015-02-24 Zte Corporation Uniform service access system and access method
CN102098665A (zh) * 2011-02-21 2011-06-15 北京汇泰沃德科技有限公司 号码回填的补充方法和通信监测系统
CN102098667A (zh) * 2011-02-21 2011-06-15 北京汇泰沃德科技有限公司 应用于3g网络的号码回填方法和通信监测系统
CN102098665B (zh) * 2011-02-21 2013-10-09 北京汇泰沃德科技有限公司 号码回填的补充方法和通信监测系统
CN102098667B (zh) * 2011-02-21 2013-10-09 北京汇泰沃德科技有限公司 应用于3g网络的号码回填方法和通信监测系统
CN106535219A (zh) * 2015-09-10 2017-03-22 上海大唐移动通信设备有限公司 一种用户信息回填方法及装置
CN108804271A (zh) * 2018-06-28 2018-11-13 北京潘达互娱科技有限公司 接口容错测试方法及装置
CN110825428A (zh) * 2019-11-06 2020-02-21 政采云有限公司 一种状态机配置方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN100358302C (zh) 2007-12-26

Similar Documents

Publication Publication Date Title
CN103995715B (zh) 应用程序的修复方法、装置及服务器
CN104978258B (zh) 软件自动化测试方法及系统
US8819488B1 (en) Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services
CN1992635A (zh) 模拟snmp网元及用该网元进行网管系统测试的方法
CN110221901A (zh) 容器资源创建方法、装置、设备及计算机可读存储介质
CN110908906B (zh) 一种回归测试方法及系统
CN108279892A (zh) 一种拆分大型应用服务为微服务的方法、装置及设备
CN106648682B (zh) 一种面向嵌入式系统开发的动态数据通用框架
CN110109681B (zh) 不同平台间代码的转换方法及系统
CN110071822A (zh) 一种针对5g核心网基础设施的测试装置及测试方法
CN102866944A (zh) 一种压力测试系统及方法
CN1358379A (zh) 电信网络资源管理方案和方法
CN110472109B (zh) 动态化数据质量分析方法及平台系统
CN1787461A (zh) 一种使用状态机测试网元接口的方法
CN1485740A (zh) 一种基于主机平台的嵌入式模块和子系统的通用测试装置
CN114465937B (zh) 网卡测试方法、装置、服务器和介质
CN110737458A (zh) 一种代码更新方法和相关装置
CN112559525B (zh) 数据检查系统、方法、装置和服务器
CN107734050B (zh) 一种负载机分配方法、计算设备及负载机分配系统
CN101986282A (zh) 拓扑适配方法及装置
CN106446064A (zh) 一种数据转换方法及装置
CN110958138B (zh) 一种容器扩容方法及装置
CN111104122B (zh) 一种xml业务逻辑映射到java业务逻辑的方法
CN1682215A (zh) 数据库同步
CN1395173A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071226

Termination date: 20121206