一种测试异步交互系统的自动化测试方法与系统技术方案

技术编号:16474013 阅读:74 留言:0更新日期:2017-10-29 01:38
本发明专利技术提供了一种测试异步交互系统的自动化测试方法与系统,模拟被测系统与其他系统使用消息中间件交互时,实现向消息中间件发送消息和从消息中间件中接收消息的方法,所述的方法包括:模拟消息接收端从消息中间件中接收消息并将消息持久化保存的过程,以及模拟消息发送端将文件中的数据发送至消息中间件的过程;所述的系统包括消息中间件、以及分别与消息中间件交互的消息发送端与消息接收端,调用模拟消息发送端将文件中的数据发送至中间件和模拟消息接收端接收消息并将消息持久化保存的过程,实现自动化验证被测系统发送或者接收数据准确性和完整性。与现有技术相比,本发明专利技术消除了测试时各个系统之间的依赖,降低了测试工作的复杂度。

An automated testing method and system for testing Asynchronous Interactive Systems

The present invention provides automated testing method and system for testing asynchronous interaction system, simulation of the system to be measured and other interactive system using message middleware, message middleware to send messages and receive messages from the message middleware in the method, the method comprises the following steps: simulating the message receiving end to receive messages from the message middleware and the process of message persisted, and the simulation process of message sending end will send data to the message middleware in the file; the system includes message middleware, and sending a message and message middleware interactive terminal and message receiving terminal call message sending end simulation data in the files sent to the middleware and message receiving simulation receiving the message and the message process persisted, realize the automatic verification system to be measured to send or receive data Accuracy and integrity. Compared with the existing technology, the invention eliminates the dependence between the systems during the test, and reduces the complexity of the test work.

【技术实现步骤摘要】
一种测试异步交互系统的自动化测试方法与系统
本专利技术涉及计算机软件测试
,尤其是涉及一种测试异步交互系统的自动化测试方法与系统。
技术介绍
目前,很多跨系统交互的应用中都会使用RabbitMQ、ActiveMQ和ZeroMQ等消息中间件进行异步通信,以降低系统之间的耦合度,并提高系统的可扩展性和可用性。如对于面向多个应用系统的监控系统,监控系统可通过消息中间件获取各个应用系统多方面的数据。在上述的应用中,现有的测试方法一般是手工测试,且各个系统测试时需要相互系统,很难做到独立测试,因而该方法存在着以下问题:(1)测试人员需要了解被依赖的系统,使得测试人员需具有较高的专业技能,也会使得多系统所属团队间的协同难度加大。而实际上测试人员对被依赖系统的了解普遍存在局限性,则很难保证较高的测试质量。(2)由于一个系统的测试需要依赖另一个系统,因此各个系统间测试进度受到限制,需要较长的测试周期。另外,单个系统的修改会影响其它系统,导致测试成本较高。(3)各个系统间的依赖性高,导致跨系统问题的跟踪周期及处理周期较长。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种测试异步交互系统的自动化测试方法与系统,实现独立测试各个系统,消除各个系统之间的依赖,降低测试工作的复杂度,缩短测试周期,提高测试效率。本专利技术的目的可以通过以下技术方案来实现:一种测试异步交互系统的自动化测试方法,模拟被测系统与其他系统使用消息中间件交互时,实现向消息中间件发送消息和从消息中间件中接收消息的方法,所述的方法包括:模拟消息接收端从消息中间件中接收消息并将消息持久化保存的过程,以及模拟消息发送端将文件中的数据发送至消息中间件的过程。所述的模拟消息接收端从消息中间件中接收消息并将消息持久化保存的过程具体为:(1)将消息中间件服务器IP、消息队列名称、队列类型与指定队列建立连接;(2)实时监控消息队列,并利用消息获取机制取出消息;(3)将取出的消息转换为设定格式的数据;(4)保存消息:分析消息的类型及其特征,并采用对应的消息保存策略将消息保存至不同的文件中。所述的消息保存策略的实现过程包括,(401)判断并选择消息类型;(402)判断该消息是否存在指定目录,若存在,进入下一步,若不存在,创建指定目录,并根据消息类型命名后,进入下一步;(403)判断是否存在消息接收文件,若存在,则选择数据更新策略,进入下一步,若不存在,则创建消息接收文件后,选择数据更新策略,进入下一步;(404)将消息保存至消息接收文件中。所述的模拟消息发送端将文件中的数据发送至消息中间件的具体实现过程为,(1)将模拟消息发送端与消息中间件建立连接;(2)根据消息类型及消息格式的定义,创建消息数据的源文件,将消息按照规范的格式保存在文件中,文件中的每一行即为一个消息的完整内容;(3)按行读取消息数据的源文件;(4)选择消息发送机制,将消息发送至消息中间件。一种测试异步交互系统的自动化测试系统,所述的自动化测试系统包括消息中间件、以及分别与消息中间件交互的消息发送端与消息接收端,用于模拟被测系统与其他系统使用消息中间件交互,调用模拟消息发送端将文件中的数据发送至中间件和模拟消息接收端接收消息并将消息持久化保存的过程,实现自动化验证被测系统发送或者接收数据准确性和完整性。所述的实现自动化验证被测系统发送或者接收数据准确性和完整性操作前需确定测试前提是否满足,所述的测试前提包括,测试前提一:消息格式的定义规范且期望值明确;测试前提二:使用python语言实现模拟消息发送或者模拟消息接收的相关方法,使用基于RobotFramework调用这些相关方法实现模拟消息的发送和消息的接收;测试前提三:操作文件的相关方法已实现,基于RobotFramework调用这些方法可正常操作文件及文件内容;测试前提四:被测系统基于RobotFramework框架的接口测试已规范。基于所述的测试前提,若被测系统为消息发送端,则对被测系统发送数据进行准确性和完整性测试的具体操作为,(1)调用模拟消息接收的相关方法,将被测系统与消息中间件交互的消息写入到指定文件中;(2)获取接收消息文件的md5值;(3)调用被测系统的接口测试脚本,产生应用数据;(4)基于步骤(1),自动接收消息并更新至指定文件中;(5)持续获取消息接收文件的md5值,通过判断md5值的变化来判断消息是否已更新至文件中;(6)调用读取文件的相关方法,读取文件中最新更新的数据;(7)调用被测系统提供的接口,获取相应数据;(8)一一比较步骤(6)与步骤(7)所获取的数据,验证被测系统发送的数据与被测系统自身的数据是否一致。基于测试前提1,验证被测系统发送的数据是否完整。基于所述的测试前提,若被测系统为消息接收端,则对被测系统接收的数据进行测试的具体操作为,(1)将被测系统与消息中间件建立连接;(2)调用读取文件的相关方法,从指定文件中读取消息;(3)将读取的消息转化为设定格式的数据;(4)调用模拟消息发送相关方法,将消息发送至消息中间件;(5)持续调用被测系统的接口,判断被测系统是否已处理消息;(6)调用被测系统的接口,获取所有相关数据;(7)比较步骤(5)获取的数据与步骤(2)读取的数据,判断被测系统接收并处理后的数据是否准确和完整。所述的消息获取机制与实际系统的消息获取机制保持一致。本专利技术以多应用系统(消息发送端)与监控系统(消息接收端)通过消息中间件进行异步通信为例,通过模拟应用系统或者监控系统与消息中间件交互,实现独立测试应用系统或监控系统。与现有技术相比,本专利技术具有以下优点:1、测试效率高:在多个系统使用消息中间件交互的场景中,消除了测试时各个系统之间的依赖,降低了测试工作的复杂度,提高了测试效率;2、工作量少:当两个系统迭代进度不一致时,单独测试各个系统,可为后续两个系统集成测试减少工作量;3、节约人力成本:基于RobotFramework自动测试框架可实现自动化测试,为每个版本的回归测试节约了人力成本。附图说明图1为模拟消息接收端与消息发送端使用RabbitMQ交互的实现过程流程图;图2为消息保存策略的实现过程流程图;图3为模拟消息发送端与消息接收端使用RabbitMQ交互的实现过程流程图;图4基于RobotFramework的测试框架图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。一种测试异步交互系统的自动化测试方法与系统,该方法模拟被测系统与其他系统使用消息中间件交互,对被测系统接收或者发送数据的准确性和完整性进行独立的自动化测试。被测系统包括消息发送端和消息接收端,本专利技术的自动化测试方法与系统包括两部分:(1)模拟被测系统与其他系统使用消息中间件进行异步交互:包括模拟消息接收端从消息中间件中接收消息并将消息持久化保存的过程,以及模拟消息发送端将文件中的数据发送至消息中间件的过程;(2)验证被测系统发送或接收的数据的准确性和完整性:采用基于RobotFramework的自动测试框架,对被测系统发送或者接收的消息数据进行准确性和完整性测试。如图1所示,模拟消息接收端从消息中间件中接收消息并将消息持久化保存的具体实现过程为,(1)将消息中间件服务器IP、消息队列名称、队列类型与指定队列建本文档来自技高网...
一种测试异步交互系统的自动化测试方法与系统

【技术保护点】
一种测试异步交互系统的自动化测试方法,其特征在于,模拟被测系统与其他系统使用消息中间件交互时,实现向消息中间件发送消息和从消息中间件中接收消息的方法,所述的方法包括:模拟消息接收端从消息中间件中接收消息并将消息持久化保存的过程,以及模拟消息发送端将文件中的数据发送至消息中间件的过程。

【技术特征摘要】
1.一种测试异步交互系统的自动化测试方法,其特征在于,模拟被测系统与其他系统使用消息中间件交互时,实现向消息中间件发送消息和从消息中间件中接收消息的方法,所述的方法包括:模拟消息接收端从消息中间件中接收消息并将消息持久化保存的过程,以及模拟消息发送端将文件中的数据发送至消息中间件的过程。2.根据权利要求1所述的一种测试异步交互系统的自动化测试方法,其特征在于,所述的模拟消息接收端从消息中间件中接收消息并将消息持久化保存的过程具体为:(1)将消息中间件服务器IP、消息队列名称、队列类型与指定队列建立连接;(2)实时监控消息队列,并利用消息获取机制取出消息;(3)将取出的消息转换为设定格式的数据;(4)保存消息:分析消息的类型及其特征,并采用对应的消息保存策略将消息保存至不同的文件中。3.根据权利要求2所述的一种测试异步交互系统的自动化测试方法,其特征在于,所述的消息保存策略的实现过程包括,(401)判断并选择消息类型;(402)判断该消息是否存在指定目录,若存在,进入下一步,若不存在,创建指定目录,并根据消息类型命名后,进入下一步;(403)判断是否存在消息接收文件,若存在,则选择数据更新策略,进入下一步,若不存在,则创建消息接收文件后,选择数据更新策略,进入下一步;(404)将消息保存至消息接收文件中。4.根据权利要求1所述的一种测试异步交互系统的自动化测试方法,其特征在于,所述的模拟消息发送端将文件中的数据发送至消息中间件的具体实现过程为,(1)将模拟消息发送端与消息中间件建立连接;(2)根据消息类型及消息格式的定义,创建消息数据的源文件,将消息按照规范的格式保存在文件中,文件中的每一行即为一个消息的完整内容;(3)按行读取消息数据的源文件;(4)选择消息发送机制,将消息发送至消息中间件。5.一种测试异步交互系统的自动化测试系统,其特征在于,所述的自动化测试系统包括消息中间件、以及分别与消息中间件交互的消息发送端与消息接收端,用于模拟被测系统与其他系统使用消息中间件交互,调用模拟消息发送端将文件中的数据发送至中间件和模拟消息接收端接收消息并将消息持久化保存的过程,实现自动化验证被测系统发送或者接收数据准确性和完整性。...

【专利技术属性】
技术研发人员:陈琼
申请(专利权)人:上海爱数信息技术股份有限公司
类型:发明
国别省市:上海,31

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

1