CN101316196A - 一种对分布式平台上的业务进行仿真测试的实现方法与装置 - Google Patents

一种对分布式平台上的业务进行仿真测试的实现方法与装置 Download PDF

Info

Publication number
CN101316196A
CN101316196A CNA2007101030841A CN200710103084A CN101316196A CN 101316196 A CN101316196 A CN 101316196A CN A2007101030841 A CNA2007101030841 A CN A2007101030841A CN 200710103084 A CN200710103084 A CN 200710103084A CN 101316196 A CN101316196 A CN 101316196A
Authority
CN
China
Prior art keywords
service
command
interface
timer
calling
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
CNA2007101030841A
Other languages
English (en)
Other versions
CN101316196B (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.)
Shenzhen Zhitong World Technology Service 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 CN2007101030841A priority Critical patent/CN101316196B/zh
Publication of CN101316196A publication Critical patent/CN101316196A/zh
Application granted granted Critical
Publication of CN101316196B publication Critical patent/CN101316196B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种对分布式平台上的业务进行仿真测试的实现方法,包括:由仿真代理装置接收测试控制装置发送的业务调用命令,转换成业务调用请求消息发送给分布式平台上的被测试业务;被测试业务执行相应的处理逻辑,生成业务调用应答消息,发送给仿真代理装置;仿真代理装置转换成业务调用应答命令发送给测试控制装置,实现调用被测试业务功能的仿真测试。另一方面,由仿真代理装置将被测试业务发送的请求调用外部接口的接口调用请求消息,转换成接口调用命令发送给测试控制装置,接收测试控制装置返回的接口调用应答命令,转换成接口调用应答消息返回给被测试业务,实现被测试业务对外部接口调用的功能测试。本发明能实现对分布式平台业务的简便有效测试。

Description

一种对分布式平台上的业务进行仿真测试的实现方法与装置
技术领域
本发明涉及软件测试,尤其涉及一种对分布式平台上的业务软件进行仿真测试的方法与装置。
背景技术
目前开放的网络架构、IP化、业务多样化、语音数据融合等已成为电信软件的发展趋势,为了能够提供快速的业务开发、业务提供和业务部署能力,同时满足电信业务对稳定性、可靠性、高性能的要求,电信软件的开发需要基于一个开放性的、支持多种协议的、分布式跨物理平台和操作系统的软件基础平台。
在分布式平台上开发的业务,相互之间一般通过接口进行通信,使得分布式平台业务的扩展性、模块化、灵活性和可靠性大大增强。以一个典型的基于接口定义语言(Interface Definition Language,IDL)接口开发的业务A为例,业务A一般会对外提供一定的功能,这些功能通过一系列IDL接口的形式对外发布,在实现这些功能的过程中,必须要有相应的驱动业务对该业务A对外提供的功能进行调用。另外,业务A在运行过程中,一般还会调用一些其他业务的功能,即需要调用其他业务发布的IDL接口,否则业务无法运行。基于分布式平台业务的特点,在对分布式平台业务A进行测试时,需要仿真驱动功能,通过业务A的IDL接口调用业务A对外提供的功能;同时,还要仿真桩功能,在业务A运行过程中,实现调用其它业务提供的功能。这样一来,对分布式平台业务的调试和测试复杂度就比较高。
现有技术中,单元测试工具,如cppunit,junit,可以提供被测业务需要的驱动功能和桩功能,也可以提供代码级别的驱动函数和桩函数,可以完成业务的仿真测试。
但单元测试工具在仿真测试分布式平台上的业务时,有如下缺陷:
1、一般要修改被测试业务的源代码,用以将要调用的服务重定向到单元测试工具提供的“桩”上,对业务开发有比较大的影响。
2、虽然单元测试工具可以构造各种各样的情况进行测试,但工作量比较大,需要开发很多代码,比较麻烦。
3、如果不构造真正的业务运行环境,无法对分布式平台上真正的消息传输进行测试。
发明内容
本发明实施例提供一种对分布式平台上的业务进行仿真测试实现方法,能实现对分布式平台业务的简便有效测试。
一种对分布式平台上的业务进行仿真测试的实现方法,包括:
由测试控制装置采用与仿真代理装置之间约定的通信协议,向仿真代理装置发送调用被测试业务中分布式对象功能的业务调用命令;
所述仿真代理装置将所述业务调用命令转换为满足所述分布式平台传送的业务调用请求消息,并发送给所述分布式平台上的被测试业务;
所述被测试业务执行被调用的分布式对象功能相应的处理逻辑,生成业务调用应答消息,发送给所述仿真代理装置;
所述仿真代理装置将所述业务调用应答消息转换为满足所述约定的通信协议的业务调用应答命令,并发送给所述测试控制装置;
所述测试控制装置解析所述业务调用应答命令,显示业务调用的结果信息。
一种测试控制装置,包括:存储单元、驱动控制单元、桩控制单元和显示单元;其中,所述存储单元,用于存储调用被测试业务中各分布式对象功能的业务调用命令,包括命令标识和参数信息;
所述驱动控制单元,用于从所述存储单元中获取所述业务调用命令,传送给所述显示单元显示于用户界面上,并发送获取的业务调用命令给仿真代理装置;
还用于接收并解析仿真代理装置返回的业务调用应答命令,传送给所述显示单元显示业务调用结果信息;
所述桩控制单元,用于接收仿真代理装置发送的接口调用命令,传送给显示单元显示于用户界面上,并获取用户应答信息,发送接口调用应答命令给仿真代理装置;
所述显示单元,用于通过用户界面显示出发送或接收的命令,以及业务调用结果信息和用户应答信息。
一种仿真代理装置,包括:驱动代理单元和桩代理单元;其中,所述驱动代理单元,用于接收测试控制装置发送的业务调用命令,转换成满足所述分布式平台传送的业务调用请求消息,发送给被测试业务;
还用于接收被测试业务发送的业务调用应答消息,转换成满足所述约定的通信协议的业务调用应答命令,发送给测试控制装置;
桩代理单元,用于接收被测试业务发送的接口调用请求消息,转换为满足所述约定的通信协议的接口调用命令,发送给测试控制装置;
还用于接收所述测试控制装置返回的携带用户应答信息的接口调用应答命令,转换为满足于分布式平台传送的接口调用应答消息,返回给被测试业务。
本发明实施例通过测试控制装置和仿真代理装置实现对分布式平台上的业务进行仿真测试。测试人员通过测试控制装置中的用户界面简单地选择不同的业务调用命令,即可实现调用被测试业务中各分布式对象提供的功能;由仿真代理装置进行命令/消息转换,并根据被测试业务返回的业务调用应答消息构造出业务调用应答命令发送给测试控制装置,由测试控制装置中的用户界面向测试人员呈现出业务调用结果信息,从而简便直观地实现对被测试业务对外提供的相关业务功能的测试。
在被测试业务调用外部接口的仿真测试中,通过将桩功能重定向到仿真代理装置,由仿真代理装置向测试控制装置发送接口调用命令,通过测试控制装置中的用户界面显示给测试人员,由测量人员输入对应的接口调用应答信息,或由测试控制装置自动获取预先存储在本地的对应的接口调用应答信息,通过仿真代理装置发送给被测试业务,从而方便快捷地仿真实现被测试业务调用外部接口的功能。
附图说明
图1为本发明实施例1提供的仿真调用被测试业务功能和仿真调用外部接口的控制流程示意图;
图2为本发明实施例2提供的仿真调用被测试业务功能的具体信令交互流程图;
图3为本发明实施例3提供的仿真调用外部接口的具体信令交互流程图;
图4A-图4C为本发明实施例4提供的定时器重定向信令交互流程图;
图5为本发明实施例5提供的测试控制装置结构示意图之一;
图6为本发明实施例5提供的测试控制装置结构示意图之二;
图7为本发明实施例6提供的仿真代理装置结构示意图之一;
图8为本发明实施例6提供的仿真代理装置结构示意图之二。
具体实施方式
每个业务可能有一个到多个分布式对象,业务所包含的分布式对象是实现业务功能的实体,这些实体完成了业务对外提供的功能。在对被测试业务发送业务调用之前,需要由本发明实施例提供的测试控制装置获取被测试业务创建的分布式对象信息,其中分布式对象信息至少包括:
分布式对象的类型:分布式对象的类型表征分布式对象实现哪些功能,对外表现为业务接供的IDL接口;
分布式对象的地址:分布式对象的地址类似于IP地址,有些分布式对象的地址是固定的,可以写在配置文件里;而有些分布式对象的地址则是动态生成的,只能在业务运行过程中动态获取。
获取被测试业务中创建的所有分布式对象信息,可以采用现有技术中的多种实现方式,例如:通过上报信息获取。具体为:
在被测试业务的源代码里创建分布式对象的地方插入一些上报代码,这些上报代码在被测试业务运行过程中将创建的分布式对象的信息上报给测试控制装置。
为了实现对被测试业务的仿真测试,测试控制装置根据获得的被测试业务的分布式对象信息,至少生成或存储有如下内容:
1、被测试业务的所有分布式对象及其能实现的相关功能,即被测试业务对外提供的全部IDL接口信息;
2、生成并存储调用被测试业务中各分布式对象功能的业务调用命令,包括每一条业务调用命令的命令标识(命令ID),以及与每一条业务调用命令相对应的参数信息;还存储每一条业务调用命令的对应应答消息的参数格式信息;
3、存储被测试业务调用外部接口的每一条接口调用请求消息的对应标识,即请求ID(包含接口名+方法名),以及与每一条接口调用请求消息相对应的参数格式信息;还存储每一条接口调用请求消息的应答消息的参数信息。
本发明实施例提供的测试控制装置设置有用户界面,用于直观地向测试人员显示出被测试业务的所有分布式对象。当测试人员选择某个分布式对象后,通过用户界面呈现出与分布式对象相对应的一系列业务调用命令,供测试人员选择。当测试人员选择一条业务调用命令后,用户界面显示出测试控制装置中保存的与该业务调用命令相对应的参数,提供测试人员进行参数配置。
本发明实施例提供的测试控制装置与仿真代理装置之间可采用约定的通信协议进行命令交互,其中约定的通信协议可以是现有技术中的各种通信协议,也可以是用户自定义的私有协议。
本发明实施例提供的仿真代理装置与被测试业务之间采用接口消息交互,如采用IDL接口消息。仿真代理装置与被测试业务之间交互的接口消息,通过被测试业务运行的分布式平台传送。
特别地,仿真代理装置可为逻辑装置(如软件程序),可与被测试业务运行于同一分布式平台上,与被测试业务之间交互的接口消息通过分布式上平台消息总线传送。
下面结合附图,用具体实施例详细阐述对被测试业务进行仿真测试过程。
实施例1:
参见图1,为本发明实施例1提供的采用测试控制装置和仿真代理装置对被测试业务进行仿真测试的控制流程图。其包括两部分流程:
第一部分流程为仿真调用被测试业务功能的“驱动”功能流程;
第二部分流程为仿真调用外部接口的“桩”功能流程。
“驱动”功能流程包括:
测试控制装置采用与仿真代理装置之间约定的通信协议,向仿真代理装置发送调用被测试业务中分布式对象功能的业务调用命令;
仿真代理装置将接收业务调用命令转换为满足所述分布式平台传送的业务调用请求消息,并发送给分布式平台上的被测试业务;
被测试业务执行被调用的分布式对象功能相应的处理逻辑,生成业务调用应答消息,发送给仿真代理装置;
仿真代理装置将所述业务调用应答消息转换为满足约定的通信协议的业务调用应答命令,并发送给测试控制装置;
测试控制装置解析接收的业务调用应答命令,显示业务调用的结果信息。
“桩”功能流程包括:
被测试业务发送调用外部接口的接口调用请求消息到仿真代理装置;
仿真代理装置将接口调用请求消息转换为满足约定的通信协议的接口调用命令,并发送给测试控制装置;
测试控制装置获取用户应答信息,向仿真代理装置返回接口调用应答命令;
仿真代理装置将接口调用应答命令转换为满足所述分布式平台传送的接口调用应答消息,并发送给分布式平台上的被测试业务。
下面进一步用具体信令交互过程对上述“驱动”功能流程和“桩”功能流程进行详细阐述。
实施例2:
参见图2,为本发明实施例2提供的仿真调用被测试业务功能的具体信令交互流程图(即“驱动”功能流程),在实施例2中,仿真代理装置通过一软件程序实现,且与被测试业务运行于同一分布式平台上。信令交互具体包括:
1、测试控制装置向仿真代理装置发送业务调用命令。
具体包括:测试控制装置获取测试人员选择的业务调用命令后,显示出保存的与该业务调用命令相对应的参数,提供测试人员进行参数配置;当参数配置完成后,测试控制装置采用与仿真代理装置之间约定的通信协议,向仿真代理装置发送该业务调用命令。该业务调用命令中包含命令标识(命令ID)和对应参数。
2、仿真代理装置将接收的业务调用命令转换为业务调用请求消息。
具体包括:仿真代理装置接收到业务调用命令后,进行消息格式转换;即根据接收的业务调用命令,构造出满足分布式平台传送的业务调用请求消息。转换后的该业务调用请求消息中包含的具体内容与业务调用命令相同,仅是进行了消息协议格式的转换。
3、仿真代理装置发送业务调用请求消息给被测试业务。
具体包括:仿真代理装置通过分布式平台的消息总线,将业务调用请求消息发送给运行于分布式平台上的被测试业务。
4、被测试业务收到业务调用请求消息后,执行被调用的分布式对象功能相应的处理逻辑,生成业务调用应答消息。
该业务调用应答消息中包含应答ID(与命令ID相同)以及相应的处理逻辑执行后的应答数据信息。
5、被测试业务将生成的业务调用应答消息通过分布式平台消息总线发送回仿真代理装置。
6、仿真代理装置从业务调用应答消息中获取应答ID,根据该应答ID向测试控制装置发送获取业务调用应答消息的参数格式的命令。
7、测试控制装置根据应答ID(即命令ID),查询出本地保存的对应应答消息的参数格式,发回给仿真代理装置。
其中,应答消息的参数格式指明了业务调用应答消息中携带的应答数据信息是些什么样的数据,比如数字或字符串,或者是一个很复杂的结构,只有知道了业务调用应答消息的参数格式,仿真代理装置才能正确解析出其中携带的应答数据。
8、仿真代理装置接收到测试控制装置发回的参数格式后,从业务调用应答消息应答数据中获取对应的应答参数值,构造出满足约定的通信协议的业务调用应答命令。
业务调用应答命令中包含本次业务调应的应答参数值。
9、仿真代理装置向测试控制装置发送业务调用应答命令。
10、测试控制装置收到业务调用应答命令后,解析出应答参数值,作为本次业务调用的结果信息通过测试控制装置的用户界面显示给测试人员。
图2所示流程实现了对被测试业务对外提供的业务功能的仿真测试。
实施例2是以仿真代理装置为一软件程序为例。实际中,仿真代理装置也可以采用其它方式实现,其与被测试业务之间采用IDL接口消息通过分布式平台进行信息交互。因此,本发明对仿真代理装置的具体实现形式不作限定。
下面具体描述被测试业务调用外部接口的仿真测试流程。
实施例3:
图3为本发明实施例3提供的仿真调用外部接口的信令交互流程图(即“桩”功能流程),具体包括:
1、被测试业务发出接口调用请求消息,该接口调用请求消息被重定向到仿真代理装置。
接口调用的重定向可以在三个层面实现:即分布式平台内部、对象适配层(Object Adapter,OA)中以及业务代码中。所谓接口调用重定向,就是修改调用的目的地址,把这个调用重定向到设定的另一个地址(即重定向到仿真代理装置的对应地址)。
比较这三种重定向方式,分布式平台重定向的方式提供了最强大的支持,同时对业务的开发没有任何影响;在分布式平台不支持重定向的情况下,OA层的重定向也比较方便,对业务开发没有任何影响;如果OA层也不支持重定向,那就需要在业务代码中做一些重定向处理,即在被测试业务代码中插入重定向功能代码,实现将被测试业务发送的接口调用请求消息重定向到仿真代理装置,此种情况会对业务开发产生一定影响。
接口调用请求消息中包含请求ID和对应的调用参数信息。
根据IDL接口的语法规定,请求ID包含“接口名+方法名”。接口名即对外调用的接口标识,每个接口中包含了多个方法,每个方法具有方法名,“接口名+方法名”共同组成了接口调用请求消息中包含的请求ID。
2、仿真代理装置收到接口调用请求消息后,从中取出请求ID,向测试控制装置发送携带请求ID的获取参数格式的命令。
3、测试控制装置接收到获取参数格式的命令后,根据请求ID,检索出本地存储的与请求ID对应的参数格式信息,发回给仿真代理装置。
4、仿真代理装置根据测试控制装置发回的参数格式,从接收的接口调用请求消息中读取相应的调用参数,构造出满足约定的通信协议的接口调用命令。
5、仿真代理装置发送接口调用命令给测试控制装置。
6、测试控制装置接收到接口调用命令后,通过用户界面显示出来,并接收测试人员输入的与本次接口调用相对应的应答信息,生成接口调用应答命令。
具体包括:由测试人员在界面上设置应答信息,测试控制装置中的界面逻辑将测试人员输入的应答信息封装成接口调用应答命令。
在该步骤中,如果测试控制装置中已预先存储有与接口调用命令相对应的用户应答信息,则直接获取存储的对应的用户应答信息,封装成接口调用应答命令,无需测试人员手工输入。
7、测试控制装置向仿真代理装置发送生成的接口调用应答命令。
8、仿真代理装置进行命令/消息转换,转换成满足分布式平台传送的接口调用应答消息。
9、仿真代理装置通过分布式平台消息总线发送接口调用应答消息给被测试业务。
10、被测试业务收到接口调用应答消息后,继续执行后续处理逻辑。
图3所示流程实现了被测试业务调用外部接口的仿真测试流程。
另外,为了能顺利进行仿真调试,测试控制装置和仿真代理装置还需要提供定时器控制功能。这是因为:
一般分布式业务之间进行接口调用时,会设置一个定时器,定时器超时后如果没有收到调用结果,则认为提供服务的业务有问题,从而执行调用超时处理流程。仿真测试时,在测试业务调用外部接口的功能时,由于需要测试人员输入相应的应答参数信息,但有时测试人员可能需要很长时间才能手工配置好应答参数,因此需要控制相关定时器不能很快超时。另一方面,在对被测业务提供的功能进行仿真测试时,某些业务逻辑在执行时可能超时时间很长,但测试人员想要测试超时处理流程,因此,希望相关定时器能够立刻超时。为此,本发明实施例3提供如下定时器重定向控制流程,将定时器的控制功能重定向到测试控制装置。
实施例4:
图4A至图4C为本发明实施例4提供的定时器重定向信令交互流程图。其中,图4A为创建定时器的信令交互过程,包括:
11、被测试业务向仿真代理装置发送创建定时器消息。
具体包括:被测试业务设置的定时器在分布式平台内部,在进行仿真测试时,可以在OA层或被测试业务代码中做定时器的重定向处理,将定时器的设置和清除重定向到测试控制装置,以便测试人员可以通过测试控制装置的用户界面随意控制任何定时器的超时。
因此,被测试业务中的定时器设置功能发起创建定时器消息后,通过重定向将该创建定时器消息发送到仿真代理装置。
在创建定时器消息中携带创建的定时器标识信息。
12、仿真代理装置进行消息/命令转换。
具体包括:仿真代理装置接收创建定时器消息,根据与测试控制装置之间约定的通信协议,转换为创建定时器命令。
13、仿真代理装置向测试控制装置发送创建定时器命令。
14、测试控制装置根据接收的创建定时器命令,在用户界面上创建一个定时器。
被测试业务的每一次接口调用,可能都需要设置相应的定时器,因此,实际中创建的定时器可能不止一个。当创建了多个定时器时,与不同的接口调用过程相对应的定时器通过不同的定时器标识加以区分。
图4B为清除定时器的信令交互过程,与创建定时器流程类似,具体包括:
21、被测试业务向仿真代理装置发送清除定时器消息。
清除定时器消息中携带请求清除的定时器标识信息。
22、仿真代理装置进行消息/命令转换。
具体包括:仿真代理装置接收清除定时器消息,根据与测试控制装置之间约定的通信协议,转换为清除定时器命令。
23、仿真代理装置向测试控制装置发送清除定时器命令。
24、测试控制装置根据接收的清除定时器命令,清除用户界面显示的相应标识的定时器。
图4C为控制定时器超时的信令交互过程,具体包括:
31、测试人员在测试控制装置的用户界面上选择一个定时器,然后选择发送超时“Send TimeOut”按钮,构造一个定时器超时命令发送给仿真代理装置。
32、仿真代理装置收到定时器超时命令后,进行命令/消息转换,转换成满足分布式平台传送的定时器超时消息。
33、仿真代理装置发送定时器超时消息到被测试业务的消息队列中。
34、被测试业务根据接收的定时器超时消息,执行对应定时器的超时处理流程,实现真正超时。
上述实施例中,已充分公开了测试控制装置和仿真代理装置所具备的功能,下面提供测试控制装置和仿真代理装置的具体结构实施例。
实施例5:
参见图5,为本发明实施例5提供的测试控制装置结构示意图之一。图5所示测试控制装置40具体包括:存储单元401、驱动控制单元402、桩控制单元403和显示单元404;其中:
存储单元401,用于存储被测试业务中各分布式对象功能的业务调用命令,包括业务调用命令的对应命令ID及参数信息,以及每一条业务调用命令的应答消息的参数格式信息;
还用于存储被测试业务调用外部接口时发送的接口调用请求消息的请求ID及参数格式信息,以及每一条接口调用请求消息的应答消息的参数信息。
驱动控制单元402,用于从存储单元401中获取业务调用命令,传送给显示单元404显示于用户界面上,并发送获取的业务调用命令给仿真代理装置;
还用于接收仿真代理装置发送的获取业务调用应答消息的参数格式命令,从存储单元401中获取与业务调用命令相对应的应答消息的参数格式信息,并发送给仿真代理装置;
还用于接收仿真代理装置返回的业务调用应答命令,解析出应答参数值,传送给显示单元404显示。
桩控制单元403,用于接收仿真代理装置发送的携带请求ID的获取参数格式命令,从所述存储单元401中获取与请求ID对应的参数格式,发送给仿真代理装置;
还用于接收仿真代理装置发送的接口调用命令,传送给显示单元404显示于用户界面上,并获取用户应答参数信息,发送给仿真代理装置。
显示单元404,用于通过用户界面显示出发送或接收的命令信息,以及发送或接收的参数值信息业务调用结果信息等。
测试控制装置的另一具体结构实施例如图6所示。图6中的测试控制装置50包括图5中测试控制装置40中的全部功能单元外,还包括:
定时器控制单元405,用于接收仿真代理装置发送的创建定时器命令,创建对应定时器并传送给显示单元404显示于用户界面上;
还用于接收仿真代理装置发送的清除定时器命令,清除显示单元404的用户界面上显示的对应定时器;
还用于接收测试用户对定时器的超时控制,发送定时器超时命令给仿真代理装置。
实施例6:
图7为本发明实施例6提供的仿真代理装置结构示意图之一。图7所示仿真代理装置60具体包括:驱动代理单元601和桩代理单元602。其中:
驱动代理单元601,用于接收测试控制装置发送的业务调用命令,进行命令/消息格式转换,转换成满足分布式平台传送的业务调用请求消息发送给被测试业务;
还用于接收被调试业务发送的业务调用应答消息,向测试控制装置获取应答消息的参数格式,构造出满足约定的通信协议的业务调用应答命令发送给测试控制装置。
桩代理单元602,用于接收被测试业务发送的携带请求ID的接口调用请求消息,向测试控制装置获取与请求ID对应的参数格式,构造出满足约定的通信协议的接口调用命令,发送给测试控制装置;
还用于接收业务控制装置返回的携带用户应答参数信息的接口调用应答命令,进行命令/消息格式转换,转换成满足分布式平台传送的接口调用应答消息,返回给被测试业务。
仿真代理装置的另一具体结构实施例如图8所示。图8中的仿块代理装置70包括图7中仿真代理装置60中的全部功能单元外,还包括:
定时器命令转换单元603,用于接收被调试业务发送的创建/清除定时器消息,转换为满足于约定的通信协议的创建/清除定时器命令,发送给测试控制装置;
还用于接收测试控制装置发送的定时器超时命令,转换成满足于分布式平台传送的定时器超时消息,发送给被测试业务。
综上所述,本发明实施例通过测试控制装置和仿真代理装置实现对分布式平台业务的测试。对被测试业务发送业务功能调用之前,测试控制装置获取被测试业务创建的分布式对象信息,生成并存储调用相应业务功能调用命令。测试人员通过测试控制装置中的用户界面简单地选择不同的业务调用命令,即可实现调用被测试业务中的各分布式对象提供的相关功能;由仿真代理装置进行命令/消息转换,根据被测试业务返回的业务调用应答消息构造出满足于约定的通信协议的业务调用应答命令发送给测试控制装置,由测试控制装置中的用户界面向测试人员呈现出调用被测试业务功能的结果信息,从而简便直观地实现对被测试业务对外提供的相关业务功能的测试。
在被测试业务调用外部接口的仿真测试中,通过将桩功能重定向到仿真代理装置,由仿真代理装置向测试控制装置发送接口调用命令,通过测试控制装置中的用户界面显示给测试人员,由测量人员输入对应的接口调用应答信息,或由测试控制装置自动获取预先存储在本地的对应的接口调用应答信息,通过仿真代理装置发送给被测试业务,从而方便快捷地仿真实现被测试业务调用外部接口的功能。
根据本发明实施例,测试控制装置和仿真代理装置之间采用用户自主约定的通信协议,可以由测试控制装置通过网络实现远程控制仿真代理装置。
根据本发明实施例,由仿真代理装置实现将约定的通信协议转换为分平布式平台能传送的消息,不需构造真正的被测试业务运行环境,就能实现对分布式平台上真正的消息传输进行测试。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (17)

1、一种对分布式平台上的业务进行仿真测试的实现方法,其特征在于,包括:
由测试控制装置采用与仿真代理装置之间约定的通信协议,向仿真代理装置发送调用被测试业务中分布式对象功能的业务调用命令;
所述仿真代理装置将所述业务调用命令转换为满足所述分布式平台传送的业务调用请求消息,并发送给所述分布式平台上的被测试业务;
所述被测试业务执行被调用的分布式对象功能相应的处理逻辑,生成业务调用应答消息,发送给所述仿真代理装置;
所述仿真代理装置将所述业务调用应答消息转换为满足所述约定的通信协议的业务调用应答命令,并发送给所述测试控制装置;
所述测试控制装置解析所述业务调用应答命令,显示业务调用的结果信息。
2、如权利要求1所述的方法,其特征在于,还包括:
由被测试业务发送调用外部接口的接口调用请求消息,所述接口调用请求消息被重定向到所述仿真代理装置;
所述仿真代理装置将所述接口调用请求消息转换为满足所述约定的通信协议的接口调用命令,并发送给所述测试控制装置;
所述测试控制装置获取用户应答信息,向所述仿真代理装置返回接口调用应答命令;
所述仿真代理装置将所述接口调用应答命令转换为满足所述分布式平台传送的接口调用应答消息,并发送给所述分布式平台上的被测试业务。
3、如权利要求2所述的方法,其特征在于,所述测试控制装置在发送所述业务调用命令前,还包括:
获取被测试业务的分布式对象信息;
根据获取的分布式对象信息生成并存储所述业务调用命令。
4、如权利要求3所述的方法,其特征在于,还包括:
所述测试控制装置根据获取的被测试业务的分布式对象信息,还生成并存储每一条所述业务调用命令的命令标识和参数信息,以及每一条业务调用命令的对应应答消息的参数格式信息;
所述测试控制装置向所述仿真代理装置发送的所述业务调用命令中至少包含所述命令标识和参数信息;
所述被测试业务向仿真代理装置发送的所述业务调用应答消息中,包含与所述命令标识相同的应答标识,以及相应的处理逻辑执行后的应答数据信息;
所述仿真代理装置根据接收的所述应答标识,向所述测试控制装置获取对应应答消息的参数格式,并根据获取的所述应答消息的参数格式和接收的所述应答数据信息,构造出所述业务调用应答命令。
5、如权利要求3所述的方法,其特征在于,所述测试控制装置中还存储被测试业务调用外部接口的每一条接口调用请求消息相对应的请求标识和参数格式信息,以及每一条接口调用请求消息的对应应答消息的参数信息;
所述被测试业务向仿真代理装置发送的接口调用请求消息中,携带该接口调用请求消息的请求标识和调用参数信息;
所述仿真代装置根据所述请求标识,向所述测试控制装置获取与所述接口调用请求消息对应的参数格式,并根据获取的所述参数格式和所述接口调用请求消息中携带的调用参数,构造出所述接口调用命令;
所述测试控制装置接收到所述接口调用命令后,通过用户界面显示出对应应答消息的参数信息,获取用户应答信息生成所述接口调用应答命令。
6、如权利要求5所述的方法,其特征在于,所述获取用户应答信息包括:
获取测试人员通过用户界面输入的用户应答信息;或者
获取本地预先存储的与所述接口调用命令相对应的用户应答信息。
7、如权利要求1所述的方法,其特征在于,还包括:将被测试业务中设置的定时器重定向到所述测试控制装置的步骤。
8、如权利要求7所述的方法,其特征在于,所述将被测试业务中设置的定时器重定向到所述测试控制装置,具体包括:
所述被测试业务发送携带定时器标识的创建定时器消息,所述创建定时器消息被重定向到所述仿真代理装置;
所述仿真代理装置将所述创建定时器消息转换为满足所述约定的通信协议的创建定时器命令,发送给所述测试控制装置;
所述测试控制装置在用户界面上显示出一个具有所述定时器标识的对应定时器;
当所述测试控制装置捕获到定时器超时控制指令后,向所述仿真代理装置发送定时器超时命令;
所述仿真代理装置将所述定时器超时命令转换为满足所述分布式平台传送的定时器超时消息,发送给所述被测试业务;
所述被测试业务执行所述定时器超时后的处理逻辑。
9、如权利要求8所述的方法,其特征在于,还包括:所述被测试业务清除重定向到所述测试控制装置中的定时器的步骤。
10、如权利要求9所述的方法,其特征在于,所述被测试业务清除重定向到所述测试控制装置中的定时器,具体包括:
所述被测试业务发送携带定时器标识的清除定时器消息,所述清除定时器消息被重定向到所述仿真代理装置;
所述仿真代理装置将所述清除定时器消息转换为满足所述约定的通信协议的清除定时器命令,发送给所述测试控制装置;
所述测试控制装置清除用户界面上的对应定时器。
11、如权利要求2所述的方法,其特征在于,所述接口调用请求消息被重定向到所述仿真代理装置,具体包括:
由分布式平台实现将所述接口调用请求消息重定向到所述仿真代理装置;或者
由对象适配层实现将所述接口调用请求消息重定向到所述仿真代理装置;或者
在被测试业务代码中插入重定向功能代码,实现将所述接口调用请求消息重定向到所述仿真代理装置。
12、一种测试控制装置,其特征在于,包括:存储单元、驱动控制单元、桩控制单元和显示单元;其中,
所述存储单元,用于存储调用被测试业务中各分布式对象功能的业务调用命令,包括命令标识和参数信息;
所述驱动控制单元,用于从所述存储单元中获取所述业务调用命令,传送给所述显示单元显示于用户界面上,并发送获取的业务调用命令给仿真代理装置;
还用于接收并解析仿真代理装置返回的业务调用应答命令,传送给所述显示单元显示业务调用结果信息;
所述桩控制单元,用于接收仿真代理装置发送的接口调用命令,传送给显示单元显示于用户界面上,并获取用户应答信息,发送接口调用应答命令给仿真代理装置;
所述显示单元,用于通过用户界面显示出发送或接收的命令,以及业务调用结果信息和用户应答信息。
13、如权利要求12所述的测试控制装置,其特征在于,所述存储单元还用于存储每一条业务调用命令的应答消息的参数格式信息、被测试业务发送的接口调用请求消息相对应的请求标识及参数格式信息,以及每一条接口调用请求消息的应答消息的参数信息;
所述驱动控制单元,还用于接收仿真代理装置发送的获取业务调用应答消息的参数格式命令,从所述存储单元中获取存储的业务调用应答消息的参数格式信息,发送给仿真代理装置;
所述桩控制单元,还用于接收仿真代理装置发送的携带所述请求标识的获取参数格式命令,从所述存储单元中获取存储的与所述请求标识相对应的参数格式,发送给仿真代理装置。
14、如权利要求13所述的测试控制装置,其特征在于,还包括:
定时器控制单元,用于接收仿真代理装置发送的创建定时器命令,创建对应定时器并传送给所述显示单元显示于用户界面上;
还用于接收仿真代理装置发送的清除定时器命令,清除显示单元的用户界面上显示的对应定时器;
还用于捕获定时器超时控制指令,发送定时器超时命令给仿真代理装置。
15、一种仿真代理装置,其特征在于,包括:驱动代理单元和桩代理单元;其中,
所述驱动代理单元,用于接收测试控制装置发送的业务调用命令,转换成满足所述分布式平台传送的业务调用请求消息,发送给被测试业务;
还用于接收被测试业务发送的业务调用应答消息,转换成满足所述约定的通信协议的业务调用应答命令,发送给测试控制装置;
桩代理单元,用于接收被测试业务发送的接口调用请求消息,转换为满足所述约定的通信协议的接口调用命令,发送给测试控制装置;
还用于接收所述测试控制装置返回的携带用户应答信息的接口调用应答命令,转换为满足于分布式平台传送的接口调用应答消息,返回给被测试业务。
16、如权利要求15所述的仿真代理装置,其特征在于,所述驱动代理单元还用于:
接收到被测试业务发送的业务调用应答消息后,向测试控制装置获取业务调用应答消息的参数格式,根据获取的所述业务调用应答消息的参数格式构造出所述业务调用应答命令;
所述桩代理单元还用于:
接收被测试业务发送的接口调用请求消息后,向测试控制装置获取与接口调用请求消息相对应的参数格式,构造出所述接口调用命令。
17、如权利要求成16所述的仿真代理装置,其特征在于,还包括:
定时器命令转换单元,用于接收被测试业务发送的创建/清除定时器接口消息,转换为满足所述约定的通信协议的创建/清除定时器命令,发送给测试控制装置;
还用于接收测试控制装置发送的定时器超时命令,转换为满足分布式平台传送的定时器超时消息,发送给被测试业务。
CN2007101030841A 2007-05-28 2007-05-28 一种对分布式平台上的业务进行仿真测试的实现方法与装置 Expired - Fee Related CN101316196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101030841A CN101316196B (zh) 2007-05-28 2007-05-28 一种对分布式平台上的业务进行仿真测试的实现方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101030841A CN101316196B (zh) 2007-05-28 2007-05-28 一种对分布式平台上的业务进行仿真测试的实现方法与装置

Publications (2)

Publication Number Publication Date
CN101316196A true CN101316196A (zh) 2008-12-03
CN101316196B CN101316196B (zh) 2010-12-08

Family

ID=40107053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101030841A Expired - Fee Related CN101316196B (zh) 2007-05-28 2007-05-28 一种对分布式平台上的业务进行仿真测试的实现方法与装置

Country Status (1)

Country Link
CN (1) CN101316196B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171993A (zh) * 2011-04-14 2011-08-31 华为技术有限公司 联动策略实现方法及装置、开放平台单板和设备
CN102420727A (zh) * 2012-01-05 2012-04-18 北京邮电大学 一种基于分布式的协议测试系统及方法
CN102571472A (zh) * 2010-12-27 2012-07-11 北京国睿中数科技股份有限公司 一种调试系统和方法
CN101873233B (zh) * 2009-04-22 2012-12-26 电子科技大学 一种与PeerCast网络兼容的仿真方法
CN108874651A (zh) * 2017-05-09 2018-11-23 北京京东尚科信息技术有限公司 智能设备的远程调试方法和装置
CN109144861A (zh) * 2018-08-09 2019-01-04 京信通信系统(中国)有限公司 多功能自动化测试方法和系统
CN109714396A (zh) * 2018-12-11 2019-05-03 中国航空工业集团公司成都飞机设计研究所 一种测试台、测试台分布式测试方法、装置及存储介质
CN110213119A (zh) * 2018-03-07 2019-09-06 财付通支付科技有限公司 测试桩生成方法、测试系统、测试方法及设备
CN113094254A (zh) * 2019-12-23 2021-07-09 腾讯科技(深圳)有限公司 业务系统的测试方法和装置、存储介质及电子装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140172395A1 (en) * 2012-12-14 2014-06-19 Sas Ip System and method for performing a multiphysics simulation
CN107948317B (zh) * 2017-12-26 2021-01-22 金蝶软件(中国)有限公司 分布式服务的调试方法、装置、存储介质和计算机设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388229C (zh) * 2005-06-01 2008-05-14 中兴通讯股份有限公司 一种自动生成桩函数和驱动函数的单元测试系统及方法
CN100367235C (zh) * 2005-12-27 2008-02-06 华为技术有限公司 一种自动化测试实现方法、装置及其系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873233B (zh) * 2009-04-22 2012-12-26 电子科技大学 一种与PeerCast网络兼容的仿真方法
CN102571472A (zh) * 2010-12-27 2012-07-11 北京国睿中数科技股份有限公司 一种调试系统和方法
US9413592B2 (en) 2011-04-14 2016-08-09 Huawei Technologies Co., Ltd. Linkage policy implementation method and apparatus, open platform board, and device
WO2011100932A3 (zh) * 2011-04-14 2012-03-15 华为技术有限公司 联动策略实现方法及装置、开放平台单板和设备
CN102171993B (zh) * 2011-04-14 2013-09-11 华为技术有限公司 联动策略实现方法及装置、开放平台单板和设备
CN102171993A (zh) * 2011-04-14 2011-08-31 华为技术有限公司 联动策略实现方法及装置、开放平台单板和设备
CN102420727A (zh) * 2012-01-05 2012-04-18 北京邮电大学 一种基于分布式的协议测试系统及方法
CN108874651A (zh) * 2017-05-09 2018-11-23 北京京东尚科信息技术有限公司 智能设备的远程调试方法和装置
CN110213119A (zh) * 2018-03-07 2019-09-06 财付通支付科技有限公司 测试桩生成方法、测试系统、测试方法及设备
CN110213119B (zh) * 2018-03-07 2022-02-22 财付通支付科技有限公司 测试桩生成方法、测试系统、测试方法及设备
CN109144861A (zh) * 2018-08-09 2019-01-04 京信通信系统(中国)有限公司 多功能自动化测试方法和系统
CN109714396A (zh) * 2018-12-11 2019-05-03 中国航空工业集团公司成都飞机设计研究所 一种测试台、测试台分布式测试方法、装置及存储介质
CN113094254A (zh) * 2019-12-23 2021-07-09 腾讯科技(深圳)有限公司 业务系统的测试方法和装置、存储介质及电子装置

Also Published As

Publication number Publication date
CN101316196B (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
CN101316196B (zh) 一种对分布式平台上的业务进行仿真测试的实现方法与装置
US7117411B2 (en) Methods and systems for testing communications network components
KR100361314B1 (ko) 개방형시스템간상호접속(osi)층을테스트하는방법및시스템
JP3706144B2 (ja) プロトコルインターフェースゲートウェイ
CN101478449B (zh) 一种协议自动测试方法及其系统
CN106603283B (zh) 一种模拟服务的方法、装置及集中管理平台
CN104579822A (zh) 基于Http协议的移动应用自动化性能测试系统及方法
CN109840155A (zh) 一种实现远程过程调用的方法及装置
CN111522727A (zh) 一种模拟对象测试方法、设备和系统
US20210297318A1 (en) State machine emulation using domain-specific language constructs
CN103513858A (zh) 远程协助方法及装置
CN115333787A (zh) 5g工控网络系统自动化安全测试方法、系统及存储介质
CN106708717B (zh) 一种开发调试方法及装置
CN117130318B (zh) 工业数据采集方法、装置、系统和可读存储介质
CN107733743B (zh) 实现以太网总线数据自动测试的方法及系统
US20210232494A1 (en) Network application testing using domain-specific natural language
CN109547430A (zh) 一种开发服务网关系统及开发服务网关
CN112988267A (zh) 加载方法、装置、存储介质及电子设备
CN110399723A (zh) 漏洞检测方法和装置、存储介质及电子装置
CN114726789A (zh) 流量管理、配置流量管理策略的方法、装置、设备及介质
JP2010146551A (ja) ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法
JP3545777B2 (ja) ネットワーク接続型通信処理システム及びテストシステム
KR100793056B1 (ko) 텔레매틱스 서비스 시험을 위한 시험 제어 장치 및 그 방법
CN115051730B (zh) 一种有线网络传输设备自动化测试装置及其方法
CN113452563B (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
TR01 Transfer of patent right

Effective date of registration: 20170818

Address after: 201, room 1, building A, No. 518053, front Bay Road, Qianhai, Shenzhen Shenzhen cooperation zone, Guangdong, China

Patentee after: Shenzhen Zhitong World Technology Service Co. Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20081203

Assignee: Shenzhen Vimicro Tech Co. Ltd.

Assignor: Shenzhen Zhitong World Technology Service Co. Ltd.

Contract record no.: 2017440020097

Denomination of invention: Method and apparatus for implementing simulation test of service on distributed platform

Granted publication date: 20101208

License type: Common License

Record date: 20171211

EE01 Entry into force of recordation of patent licensing contract
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20190528

CF01 Termination of patent right due to non-payment of annual fee