CN100479393C - 一种实现测试执行器测试的方法 - Google Patents

一种实现测试执行器测试的方法 Download PDF

Info

Publication number
CN100479393C
CN100479393C CNB2006100871385A CN200610087138A CN100479393C CN 100479393 C CN100479393 C CN 100479393C CN B2006100871385 A CNB2006100871385 A CN B2006100871385A CN 200610087138 A CN200610087138 A CN 200610087138A CN 100479393 C CN100479393 C CN 100479393C
Authority
CN
China
Prior art keywords
cell
test
state machine
message
executor
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.)
Expired - Fee Related
Application number
CNB2006100871385A
Other languages
English (en)
Other versions
CN1983992A (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 CNB2006100871385A priority Critical patent/CN100479393C/zh
Publication of CN1983992A publication Critical patent/CN1983992A/zh
Application granted granted Critical
Publication of CN100479393C publication Critical patent/CN100479393C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及通讯技术领域中一种实现测试执行器测试的方法,将状态机描述与测试执行器分离,测试执行器在接收到所述状态机描述消息时,根据信元路径及信元宽度来读取信元,通过与预先存储的合理信元值比较来实现测试操作。本发明通过将状态机描述与测试执行器分开,使得状态机的改变不影响测试执行器,实现了测试执行器的通用性。通过采用二进制文件存储方式,大大减小了存储空间。通过采用信元偏移量和信元宽度来进行消息比较,提高了消息定位速度,而且不受测试执行器运行的操作系统的限制。

Description

一种实现测试执行器测试的方法
技术领域
本发明涉及通讯技术领域,尤其涉及一种实现测试执行器测试的方法。
背景技术
有限状态机(FSM)是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件,适用于系统的动态建模。如在系统的业务自动化测试中,包括协议一致性测试、业务功能测试等,需要对协议的消息流程或业务流程建立模型。
测试执行器(TE),是负责仿真外围设备对被测系统发起测试的程序,主要提供了对于业务流程定义的解析以及流程流转的支持。
有限状态机文件描述了业务的交互逻辑,测试执行器通过解析此状态机定义文件按照业务的交互逻辑进行业务的流转,并进行记录和统计。测试执行器通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转,包括流程的启动、终止、状态迁移等。
传统的做法是将状态机描述和测试执行器互相关联,同时以代码的形式出现在测试程序或脚本中,没有区分状态机和测试执行器。这种做法没有将状态机描述和状态机的执行分开,一旦用户需要测试的业务流程发生变化,开发人员就必须重新修改代码,维护成本很高。
随着技术的发展出现了状态机和状态机执行器分开设计,但是状态机是以文本格式的文件存储,占用的内存较大,不适合于提供给用户可用内存有限的场合下使用,在用户可用内存有限的情况下,无法实现状态机的存储。
另一种现有技术是在测试执行器执行过程中,采用DLL(动态链路库)提供的接口函数实现协议消息的编码、解码、消息比较以及信元修改等操作。而这种针对消息的操作只适合于windows操作系统,无法移植到其他操作系统。因此实现协议消息操作的代码无法做到通用性,即无法在不同操作系统之间移植。
发明内容
本发明的目的在于提供一种实现测试执行器测试的方法。
本发明的目的是通过以下技术方案实现的:
一种实现测试执行器测试的方法,设置与测试执行器分离的状态机描述,测试执行器在接收到所述状态机描述消息后,根据状态机描述消息中的信元路径及信元宽度取出信元值,与预先存储的合理信元值比较,如果两者相等,则可确定接收的信元正确。
所述状态机描述采用表格描述,所述状态机描述包括:状态机流程描述、取出及回填信元描述及比较信元描述。
所述比较信元描述中包括:
接收消息名、信元路径、信元宽度、及合理信元值。
所述方法进一步包括:
当一条消息的所有需要比较的信元都确定正确时,则可确定接收到一条正确的消息。
所述状态机描述以二进制格式存储。
由上述本发明提供的技术方案可以看出,本发明实现了将状态机描述与测试执行器分开,使得状态机的改变不影响测试执行器,实现了测试执行器的通用性。本发明通过采用二进制文件存储方式,大大减小了存储空间。另外,通过采用信元偏移量和信元宽度来进行消息比较,提高了消息定位速度,而且不受测试执行器运行的操作系统的限制。
具体实施方式
本发明的核心思想是提供一种实现测试执行器测试的方法,状态机描述与测试执行器分离,在取出及回填信元时以信元偏移量和信元宽度来进行消息比较,提高了消息定位速度,不受测试执行器运行操作系统的限制,实现了测试执行器通用测试的目的。
本发明提供一种实现测试执行器测试的方法,将状态机描述与测试执行器分离,状态机以表格方式描述状态序列,经过编译后以二进制格式存储。
所述状态机描述文件包括:状态机流程描述、取出及回填信元描述以及比较信元描述。每一部分采用表格的形式表示,表中每一行以“{”开始,以“}”结束,每行中的每一项以逗号隔开。
所述的状态机描述以关键字“FSM”开始,之后为状态机描述表,表的每一行包含状态名、接收消息名、发送消息名、等待延时时长、超时迁移目的状态名、正常迁移目的状态名、触发器名等内容。当表中某项为“”时表示没有相应的值或为空。延时时长以毫秒为单位。状态机描述表的第一行是状态机启动入口,包括接收消息和发送消息,其它状态行具体内容可以任意安排。以下说明状态行中各项的用法。
状态名
状态名表示是状态名称,该值不能为空,当在相同状态下可能需要接收不同的消息时,可以描述成多行具有相同的状态名。
接收消息名
表示是在当前状态下准备接收的消息名称,该消息的比较信元应在状态机文件中描述,若没有需要接收的消息,则此项填“”。
发送消息名
表示是在当前状态下准备发送的消息名称,该消息的消息模板应在消息文件中描述,需要修改的信元则应该在取出及回填信元列表中描述。若没有需要发送的消息,此项填“”,发送消息可以有多个。
等待延时时长
表示是在当前状态下等待接收消息的延时,以毫秒为单位,若没有延时要求时,此项填0。
超时迁移目的状态名
表示是在当前状态下,在规定的时间内没有收到相应的消息时,状态机迁移的目标状态。“ERROR”、“SUCCESS”是保留状态名,表示状态机的结果状态。
正常迁移目的状态名
表示是在当前状态下,在规定的时间内接收到相应的消息时,状态机迁移的目标状态。“ERROR”、“SUCCESS”是保留状态名,表示状态机的结果状态。
所述的取出及回填信元描述以关键字“MSGIE”开始,该列表用于保存发送消息指定的需要修改的信元和获取这些信元值的数据源。数据源包括来自接收消息中的相关信元值以及用户自定义的信元值。
关键字“MSGIE”之后为描述表,表的每一行描述了接收消息名、接收信元路径、发送消息名、发送信元路径、信元宽度和信元值。接收消息名和发送消息名来自状态机流程描述列表中;所述的信元路径是指信元距离消息头部的偏移量,以bit为单位;信元宽度表示信元占用的bit数;发送信元值为“”,表示信元值来自接收消息中,此时接收消息不许为“”;而当接受消息为“”时,表示需要将发送信元值填入发送消息指定的信元中。
所述的比较信元列表用于记录接收消息在指定路径处的合理信元值。比较信元列表以“TRAPIE“为关键字,之后是描述表,枚举出一个状态下可能接收到的所有消息类型,预先针对每条可能的接收消息取出能够唯一区分一条消息的所有信元信息,包括信元路径、信元宽度、合理信元值以及大小端存储方式。
测试执行器收到消息后,根据消息的信元路径和信元宽度从接收消息中取出信元值,与合理值相比较,判断偏移量。如果两者相等,则认为接收信元正确。一条消息可能有多个需要比较的信元,只有当所有信元都比较成功,才认为接收到一条正确的消息。通过上述判断过程实现了测试执行器的测试操作。
在状态机描述文件中,消息名是通过字符串来描述的,描述一条消息需要使用多个字节,当状态机中消息数量较多时,状态机描述文件占用较大内存。为了节省内存,令状态机与一个编译器相连,将文本格式的状态机文件转化成二进制文件存储,消息名用占两字节的unsigned short来存储,这样大大减小了存储空间。
综上所述,本发明实现了将状态机描述与测试执行器分开,使得状态机的改变不影响测试执行器,实现了测试执行器的通用性。通过采用二进制文件存储方式,大大减小了存储空间。通过采用信元偏移量和信元宽度来进行消息比较,提高了消息定位速度,而且不受测试执行器运行的操作系统的限制。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (5)

1、一种实现测试执行器测试的方法,其特征在于,设置与测试执行器分离的状态机描述,测试执行器在接收到所述状态机描述消息后,根据状态机描述消息中的信元路径及信元宽度取出信元值,与预先存储的合理信元值比较,如果两者相等,则可确定接收的信元正确。
2、如权利要求1所述的一种实现测试执行器测试的方法,其特征在于,所述状态机描述采用表格描述,所述状态机描述包括:状态机流程描述、取出及回填信元描述及比较信元描述。
3、如权利要求2所述的一种实现测试执行器测试的方法,其特征在于,所述比较信元描述中包括:
接收消息名、信元路径、信元宽度、及合理信元值。
4、如权利要求1所述的一种实现测试执行器测试的方法,其特征在于,所述方法进一步包括:
当一条消息的所有需要比较的信元都确定正确时,则可确定接收到一条正确的消息。
5、如权利要求1至4中任一项所述的一种实现测试执行器测试的方法,其特征在于,所述状态机描述以二进制格式存储。
CNB2006100871385A 2006-06-13 2006-06-13 一种实现测试执行器测试的方法 Expired - Fee Related CN100479393C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100871385A CN100479393C (zh) 2006-06-13 2006-06-13 一种实现测试执行器测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100871385A CN100479393C (zh) 2006-06-13 2006-06-13 一种实现测试执行器测试的方法

Publications (2)

Publication Number Publication Date
CN1983992A CN1983992A (zh) 2007-06-20
CN100479393C true CN100479393C (zh) 2009-04-15

Family

ID=38166247

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100871385A Expired - Fee Related CN100479393C (zh) 2006-06-13 2006-06-13 一种实现测试执行器测试的方法

Country Status (1)

Country Link
CN (1) CN100479393C (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418793A (en) * 1993-06-22 1995-05-23 At&T Corp. Method and apparatus for testing a complex entity
CN1195776A (zh) * 1997-02-19 1998-10-14 株式会社鼎新 半导体测试系统
US20030233600A1 (en) * 2002-06-14 2003-12-18 International Business Machines Corporation Reducing the complexity of finite state machine test generation using combinatorial designs
CN1564489A (zh) * 2004-04-19 2005-01-12 中兴通讯股份有限公司 一种通信系统有限状态机的测试方法
CN1777127A (zh) * 2005-12-08 2006-05-24 中国移动通信集团公司 协议一致性测试装置及测试方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418793A (en) * 1993-06-22 1995-05-23 At&T Corp. Method and apparatus for testing a complex entity
CN1195776A (zh) * 1997-02-19 1998-10-14 株式会社鼎新 半导体测试系统
US20030233600A1 (en) * 2002-06-14 2003-12-18 International Business Machines Corporation Reducing the complexity of finite state machine test generation using combinatorial designs
CN1564489A (zh) * 2004-04-19 2005-01-12 中兴通讯股份有限公司 一种通信系统有限状态机的测试方法
CN1777127A (zh) * 2005-12-08 2006-05-24 中国移动通信集团公司 协议一致性测试装置及测试方法

Also Published As

Publication number Publication date
CN1983992A (zh) 2007-06-20

Similar Documents

Publication Publication Date Title
CN107704395B (zh) 一种基于Openstack下云平台自动化测试实施方法与系统
CN108076098B (zh) 一种业务处理方法及系统
CN100382624C (zh) 一种cdma手机软件自动测试的方法及装置
CN105786998B (zh) 数据库中间件系统及利用其处理数据的方法
CN103530225B (zh) 自动化编译测试方法及实现该方法的自动化编译测试平台
US7529653B2 (en) Message packet logging in a distributed simulation system
CN110502212B (zh) 一种面向多语言的高并发在线开发支撑方法
CN106250178A (zh) 通过多语言云编译实现系统动态功能在线拦截扩展的方法
CN102866944B (zh) 一种压力测试系统及方法
CN102650947A (zh) 一种Android手持设备连续增量的空中升级方法
CN112558980A (zh) 多软件包管理方法及装置
CN102014016A (zh) 一种网络协议缺陷测试系统及方法
CN106293863A (zh) 多语言云编译实现系统功能动态扩展替换的方法及系统
CN106250179A (zh) 通过多语言云编译实现系统动态功能拦截扩展的方法
CN109032577A (zh) 一种数据仿真方法
CN107025115B (zh) 一种适配多种接口采集的方法
CN103019941A (zh) 程序调试方法和装置
CN103218293A (zh) 一种plc在线调试系统和方法
CN110286852A (zh) 双控构架分布式存储系统、数据读取方法、装置和存储介质
CN100568195C (zh) 一种Linux操作系统进程调度信息的监测方法
CN112217886A (zh) 分布式系统的测试方法及系统、消息生产及消费模块
CN105094906A (zh) 一种游戏服务器热更新方法、装置与系统
CN110750445A (zh) 一种yarn组件高可用性功能的测试方法、系统及设备
CN100479393C (zh) 一种实现测试执行器测试的方法
CN114416547A (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: 20090415

Termination date: 20130613