状态机构建方法和设备测试系统及设备模拟器技术方案

技术编号:3503771 阅读:200 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了状态机构建方法和设备测试系统及设备模拟器。所述方法包括:第一设备模拟器接收来自第二设备的消息,在其状态机中创建与该消息对应的状态表;第一设备模拟器将新建的状态表提供给第二设备模拟器;第二设备模拟器根据上述状态表更新其内部状态机。所述系统包括:第一设备模拟器用于接收来自第二设备的消息,在其状态机中创建与该消息对应的状态表;还用于将新建的状态表提供给第二设备模拟器;第二设备模拟器用于将第一设备模拟器提供的新建状态表更新到其状态机中。通过本发明专利技术,能够简单、方便地为设备模拟器构建出状态机。

【技术实现步骤摘要】

本专利技术涉及测试领域,尤其涉及状态机构建方法和设备测试系统及设备模拟器
技术介绍
在设备的测试中,需要对各设备间消息交互的正确性进行测试,然而当被测设备间的距离较远时,各设备间可能会无法有效进行这种测试。目前通常的做法是用设备模拟器来模拟被测设备,通过不同被测设备的设备模拟器与对端设备分别进行测试,以此来代替实际被测设备间的消息交互测试。举例来说,当要对第一设备和第二设备进行消息交互测试时,采用第一设备模拟器代替第一设备与第二设备进行测试,而采用第二设备模拟器代替第二设备与第一设备进行消息交互测试。在这样的测试中,如何在设备模拟器中模拟交互测试所需的消息是要解决的一个主要问题。基于单条消息重放的设备模拟器是在设备模拟器中构造一条消息来代替被模拟设备发到对端设备,检测对端设备对该消息的响应是否正确,由于该技术只能构造单条消息进行测试,因而具有较大的局限性。现有技术中还有一种方案采用基于消息匹配的状态转移设备模拟器代替被模拟设备进行测试,该设备模拟器在状态机中模拟出与对端设备的交互消息。状态机由一系列相关联的状态组成,状态机可以根据收到的消息进行响应,并进行状态的转移。由于需要对被模拟设备的内部属性非常熟悉才能够创建出理想的状态机,而在实际测试中常常无法了解到被模拟设备的内部属性,因此该方案不但实现复杂,且难度较大。
技术实现思路
本专利技术要解决的技术问题是提供状态机构建方法和设备测试系统及设备模拟器,简单、方便地为设备模拟器构建出状态机。为解决上述技术问题,本专利技术的目的是通过以下技术方案实现的一种状态机构建方法,包括 第一设备模拟器接收来自第二设备的消息,在其状态机中创建与该消息对应的状态表;第一设备模拟器将新建的状态表提供给第二设备模拟器;第二设备模拟器根据上述状态表更新其内部状态机。可选的,该方法还包括第二设备模拟器接收来自第一设备的消息,在其状态机中创建与该消息对应的状态表;第二设备模拟器将新建的状态表提供给第一设备模拟器;第一设备模拟器根据上述状态表更新其内部状态机。所述第一设备模拟器接收来自第二设备的消息,在其状态机中创建与该消息对应的状态表具体包括A、第一设备模拟器接收来自第二设备的消息,当在预定时间内所接收的消息与该设备模拟器状态机中的消息不匹配时,在其状态机创建与该接收消息对应的状态表。其中,所述A具体包括A1、在第一设备模拟器的状态机中查找与当前状态值对应的状态表;A2、在当前状态下要接收消息时,第一设备模拟器接收来自第二设备的消息,若在预定时间内所接收的消息与当前状态表中的消息不匹配,则在其状态机中创建与该接收消息对应的状态表;否则判断状态机中是否有下一状态,若有,则将下一状态的状态值赋予当前状态值,执行A1。可选的,所述第二设备模拟器更新其内部状态机后还包括B、第二设备模拟器按照其状态机与第一设备进行消息交互,若交互过程与其状态机相匹配,则确认与第一设备的对接测试成功;否则确认测试失败。其中,所述B具体包括B1、在第二设备模拟器的状态机中查找与当前状态值对应的状态表;B2、在当前状态下要发送消息时,第二设备模拟器将当前状态表中的消息发送到第一设备,执行B3;在当前状态下要接收消息时,第二设备模拟器接收来自第一设备的消息,若该消息与当前状态表中的消息不匹配或接收到该消息的时间超过预定时长时,则确认与第一设备的对接测试失败;否则执行B3;B3、第二设备模拟器判断状态机是否有下一状态,若有,则将下一状态的状态值赋予当前状态值,执行B1;否则,确认与第一设备的对接测试成功。其中,B2中所述在当前状态下要发送消息时,第二设备模拟器将当前状态表中的消息发送到对端设备具体包括当状态机中存在至少两个与当前状态值对应的状态时,若在所述状态下第二设备模拟器是要发送消息,则选择其中一个状态作为当前状态,将当前状态中的消息发送到第一设备。其中,所述第二设备模拟器选择其中一个状态作为当前状态具体包括第二设备模拟器按照预先指定或通过概率选择法或顺次遍历法选择其中一个状态作为当前状态。一种设备测试系统,包括第一设备模拟器、第二设备、第二设备模拟器,其中第一设备模拟器用于接收来自第二设备的消息,在其状态机中创建与该消息对应的状态表;还用于将新建的状态表提供给第二设备模拟器;第二设备模拟器用于将第一设备模拟器提供的新建状态表更新到其状态机中。可选的,该系统还包括第一设备;第二设备模拟器还用于接收来自第一设备的消息,在其状态机中创建与该消息对应的状态表;还用于将新建的状态表提供给第一设备模拟器;第一设备模拟器还用于将第二设备模拟器提供的新建状态表更新到其状态机中。其中,所述设备模拟器用于接收来自第一设备的消息,在其状态机中创建与该消息对应的状态表具体包括设备模拟器用于接收来自第一设备的消息,当在预定时间内所接收的消息与状态机中的消息不匹配时在其状态机中创建与该接收消息对应的状态表。一种设备模拟器,用于与对端设备进行对接测试,包括消息复制单元,用于接收对端设备模拟器所创建的与题述设备模拟器所模拟设备发送的消息对应的状态表;状态机处理单元,用于将消息复制单元接收的状态表更新到本设备模拟器的状态机中。可选的,所述设备模拟器还包括接收单元,用于接收来自对端设备的消息,并将该消息提供给状态机处理单元;状态机处理单元还用于在本设备模拟器的状态机中查找与当前状态值对应的状态,在该状态是要接收消息时,等待接收单元接收来自对端设备的消息,并在接收单元是在预定时间内接收到该消息时,根据该消息与当前状态表中的消息进行匹配,当接收消息与状态表中的消息不匹配时,在状态机中创建与所述接收消息对应的状态表;消息复制单元用于向对端设备模拟器发送状态机处理单元所创建的状态表。可选的,所述设备模拟器还包括消息过滤单元,用于过滤对端设备发送来的无用消息。可选的,所述设备模拟器还包括发送单元,用于向对端设备发送状态机处理单元所提供的消息;状态机处理单元还用于在与当前状态值对应的状态是要发送消息时,将该状态下记录的消息提供给发送单元。从以上技术方案可以看出,本专利技术具有以下优点第一设备模拟器在与第二设备进行消息交互的过程中通过接收到的来自第二设备的消息构造出与第二设备的消息对应的状态表,并将更新的状态表提供给远端的第二设备模拟器,使第二设备模拟器可以模拟第二设备在本地与第一设备进行消息交互测试;第二设备模拟器又可以在与第一设备进行消息交互的过程中通过接收到的来自第一设备的消息构造出与第一设备的消息对应的状态表,并将更新的状态表提供给第一设备模拟器,使得第一设备模拟器可以模拟第一设备与第二设备进行消息交互测试;通过上述过程的交替执行在第一设备模拟器和第二设备模拟器各自的状态机中创建出第一设备与第二设备进行对接测试时的消息交互表。由于是在消息交互过程中构建出第一设备与第二设备进行对接测试所需的状态机,而不需要熟悉被测设备的内部属性,因此本专利技术可以简单、有效的为设备模拟器构建出状态机。附图说明图1是本专利技术设备状态机构建方法的流程图;图2是本专利技术中从设备模拟器构造状态机的流程图;图3是本专利技术中主设备模拟器构造状态机的流程图;图4是本专利技术设备模拟器与对端设备进行对接测试的流程图;图5是本专利技术设备模拟器的结构图;图6是本专利技术设备设备测试系统的结构图。具体实施本文档来自技高网...

【技术保护点】
一种状态机构建方法,其特征在于,包括:第一设备模拟器接收来自第二设备的消息,在其状态机中创建与该消息对应的状态表;第一设备模拟器将新建的状态表提供给第二设备模拟器;第二设备模拟器根据上述状态表更新其内部状态机。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴平黄泥王定军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利