CN107622013A - 一种分布式系统测试方法及装置 - Google Patents

一种分布式系统测试方法及装置 Download PDF

Info

Publication number
CN107622013A
CN107622013A CN201710861020.1A CN201710861020A CN107622013A CN 107622013 A CN107622013 A CN 107622013A CN 201710861020 A CN201710861020 A CN 201710861020A CN 107622013 A CN107622013 A CN 107622013A
Authority
CN
China
Prior art keywords
test
distributed system
message
feedback message
post
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
CN201710861020.1A
Other languages
English (en)
Other versions
CN107622013B (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.)
BEIJING KEYIN JINGCHENG TECHNOLOGY Co Ltd
Kyland Technology Co Ltd
Original Assignee
BEIJING KEYIN JINGCHENG TECHNOLOGY Co Ltd
Kyland Technology 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 BEIJING KEYIN JINGCHENG TECHNOLOGY Co Ltd, Kyland Technology Co Ltd filed Critical BEIJING KEYIN JINGCHENG TECHNOLOGY Co Ltd
Priority to CN201710861020.1A priority Critical patent/CN107622013B/zh
Publication of CN107622013A publication Critical patent/CN107622013A/zh
Application granted granted Critical
Publication of CN107622013B publication Critical patent/CN107622013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及软件测试技术领域,特别涉及一种分布式系统测试方法及装置。该方法为:将分布式系统在进行数据交互时所采用的消息的格式,确定为测试分布式系统所需采用的消息的格式;基于测试分布式系统所需采用的消息的格式,设置相应的测试用例,并基于测试用例,对分布式系统进行测试,其中,测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;接收分布式系统根据每一条测试消息分别返回的反馈消息,并判断反馈消息是否符合预期要求。采用上述方法,可通过通用的测试方式,对采用不同消息机制的分布式系统进行测试,提升了测试效果,且测试过程简单,提高了测试效率的同时,减少了测试所需的人力物力。

Description

一种分布式系统测试方法及装置
技术领域
本发明涉及软件测试技术领域,特别涉及一种分布式系统测试方法及装置。
背景技术
分布式系统(Distributed System)是建立在网络之上的软件系统。通常一个分布式系统由多个子系统组成。分布式系统与外界的交互大都基于消息机制进行通信,分布式系统内部各子系统之间同样也是基于消息机制进行通信。
通常一个大型的分布式系统,如,航空电子系统、基于数据分发服务(DataDistribution Service,DDS)的分布式系统,在系统开发时,会由多个开发单位进行并行开发,然后逐一进行集成。系统在开发过程中需要经常进行调试和测试,以确保系统的实现是严格按照需求进行的。由于团队之间的开发速度有快有慢,以及受到地域等客观条件的限制,在现有条件下对分布式系统进行系统测试不方便且代价高昂。
目前,对分布式系统进行测试的方式包括以下两种方式中的任意一种:
第一种方式为:通过手动生成用于测试的消息块,调用通信接口向被测对象发送用于激励分布式系统的测试消息,然后接收被测对象返回的反馈消息,通过手工方式检查被测对象的反馈消息的内容是否满足要求。
然而采用第一种方式对分布式系统进行测试时,只能进行一些基础的,消息交互较简单的测试,若需要进行需要大量消息交互的测试,则需要花费大量的人力物力,测试效率低,测试成本较高。
第二种方式为:手动编写仿真软件或脚本,将测试消息编码至仿真软件或脚本中仿真为被测软件所依赖的其他软件,并与被测软件进行消息交互,得到测试结果。
然而采用第二种方式,需要将测试消息硬编码到仿真软件或脚本中,一个仿真或脚本,只能用来测试采用相同消息格式的被测对象,缺乏通用性,由于分布式系统内部子系统、外部系统所采用的消息格式,以及消息内容都会因系统而异,那么,就需要针对采用不同消息格式进行通信的被测对象编写相应的仿真软件或脚本,测试效率低,且需耗费大量的人力物力,测试成本较高。
有鉴于此,需要设计一种新的分布式系统测试方法及装置,以弥补现有技术中存在的缺陷和不足之处。
发明内容
本发明实施例的目的是提供一种分布式系统测试方法及装置,用以解决现有技术中存在的分布式系统测试效率低,以及测试成本较高的问题。
本发明实施例中提供的具体技术方案如下:
一种分布式系统测试方法,包括:
将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;
基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;
接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
较佳的,在基于所述测试用例,对所述分布式系统进行测试之前,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例之后,进一步包括:
针对所述测试用例中定义的多条测试消息中的每一条测试消息,分别设置相应的预期反馈消息,其中,所述预期反馈消息表征预期所述测试系统返回的反馈消息的内容。
较佳的,判断所述反馈消息是否符合预期要求,具体包括:
针对接收到的与各测试消息相对应的各反馈消息,分别执行以下操作:将一条测试消息对应的反馈消息与针对所述一条测试消息预先设置的预期反馈消息进行对比处理,得到对比结果,并基于所述对比结果,确定所述一条测试消息对应的反馈消息是否符合预期要求。
较佳的,基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,具体包括:
根据用户在图像化用户界面中输入的数据,按照测试所述分布式系统所需采用的消息的格式,在用于编辑测试用例的统一建模语言UML时序图中,设置相应的测试消息,各测试消息的执行顺序,以及执行任意两条相邻测试消息的时间间隔;
基于所述测试用例,对所述分布式系统进行测试,具体包括:
根据所述UML时序图中设置的各测试消息的执行顺序和执行任意两条相邻测试消息的时间间隔,向所述分布式系统发送测试消息。
较佳的,进一步包括:
将分布式系统返回的反馈消息按照时间顺序,以UML时序图的方式展现,并标记出不满足预期要求的反馈消息;
基于预设的测试报告模板,生成相应的测试报告。
一种分布式系统测试装置,包括:
确定单元,用于将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;
测试单元,用于基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;
判断单元,用于接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
较佳的,在基于所述测试用例,对所述分布式系统进行测试之前,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例之后,所述测试单元进一步用于:
针对所述测试用例中定义的多条测试消息中的每一条测试消息,分别设置相应的预期反馈消息,其中,所述预期反馈消息表征预期所述测试系统返回的反馈消息的内容;
在判断所述反馈消息是否符合预期要求时,所述判断单元具体用于:
针对接收到的与各测试消息相对应的各反馈消息,分别执行以下操作:将一条测试消息对应的反馈消息与针对所述一条测试消息预先设置的预期反馈消息进行对比处理,得到对比结果,并基于所述对比结果,确定所述一条测试消息对应的反馈消息是否符合预期要求。
较佳的,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例时,所述测试单元具体用于:
根据用户在图像化用户界面中输入的数据,按照测试所述分布式系统所需采用的消息的格式,在用于编辑测试用例的统一建模语言UML时序图中,设置相应的测试消息,各测试消息的执行顺序,以及执行任意两条相邻测试消息的时间间隔;
在基于所述测试用例,对所述分布式系统进行测试时,所述测试单元具体用于:
根据所述UML时序图中设置的各测试消息的执行顺序和执行任意两条相邻测试消息的时间间隔,向所述分布式系统发送测试消息。
较佳的,所述判断单元进一步用于:
将分布式系统返回的反馈消息按照时间顺序,以UML时序图的方式展现,并标记出不满足预期要求的反馈消息;
基于预设的测试报告模板,生成相应的测试报告。
一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行:确定测试分布式系统所需采用的消息的格式;基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。
本发明有益效果如下:
综上所述,本发明实施例中,在进行分布式系统测试的过程中,将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
采用上述方法,可以通过定义消息的格式,编辑测试用例,执行测试用例,以及判断执行结果的方式,对采用不同消息机制的不同分布式系统进行测试,提升了分布式系统测试效果,且测试过程简单,提高了分布式系统测试效率的同时,减少了分布式系统测试所需的人力物力。
附图说明
图1为本发明实施例中,分布式系统内部、外部通信示意图;
图2为本发明实施例中,一种分布式系统测试方法的详细流程图;
图3为本发明实施例中,一种分布式系统测试工具的结构示意图;
图4为本发明实施例中,另一种分布式系统测试方法的详细流程图;
图5为本发明实施例中,一种分布式测试装置的结构示意图。
具体实施方式
为了解决现有技术中存在的分布式系统测试效率低,以及测试成本较高的问题,本发明实施例中提供了一种新的分布式系统测试方法及装置,该方法为:将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,一个分布式系统由多个子系统构成,分布式系统内容子系统之间的通信,及分布式系统与外部系统之间的通信均是基于消息机制进行的。具体的,参阅图1所示,本发明实施例中,分布式系统内部、外部通信示意图。
下面将通过具体实施例对本发明的方案进行详细描述,当然,本发明并不限于以下实施例。
参阅图2所示,本发明实施例中,一种分布式系统测试方法的详细流程如下:
步骤200:将分布式系统在进行数据交互时所采用的消息的格式,确定为测试上述分布式系统所需采用的消息的格式。
实际应用中,分布式系统中各子系统之间的数据交互,及分布式系统与外部系统之间的数据交互均是采用消息机制进行的,即分布式系统通过向外部系统发送指定格式的消息,接收外部系统发送的指定格式的消息的方式与外部系统进行数据交互,分布式子系统通过向其他分布式子系统发送指定格式的消息,接收其他分布式子系统发送的指定格式的消息的方式与其他子系统进行数据交互。而不同的分布式系统所采用的消息机制不同(如,消息的格式等)。那么,在针对一个分布式系统进行测试之前,需要确定出测试该一个分布式系统所需采用的消息的格式。
例如,假设分布式系统1中各子系统之间的数据交互及与外部系统的数据交互所采用的消息的格式为消息格式1,那么,在对分布式子系统1进行测试之前,通过分布式系统测试工具中的消息格式定义模块将消息格式1确定为测试分布式系统1所需采用的消息的格式。
实际应用中,针对分布式系统测试,可设置相应的分布式系统测试工具,本发明实施例中,分布式系统测试工具可以包括消息格式定义模块,测试用例编辑模块,测试用例执行模块,测试结果判断模块,测试结果展示模块和测试报告生成模块,具体的,参阅图3所示。
步骤210:基于测试上述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于上述测试用例,对上述分布式系统进行测试,其中,上述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔。
实际应用中,在确定出测试分布式系统所需采用的消息的格式之后,需要根据确定出的测试该分布式系统所需采用的消息的格式,通过分布式系统测试工具中的测试用例编辑模块设置相应的测试用例,具体的,测试用例编辑模块提供了基于统一建模语言(Unified Modeling Language,UML)时序图的测试用例编辑功能,进一步的,本发明实施例中,在分布式系统测试工具中测试用例编辑模块中,对UML时序图进行了相应功能扩展,如,添加了设置执行两条相邻测试消息的时间间隔功能和图形,针对测试消息添加相应的注释的功能等。那么,本发明实施例中,由于添加了执行两条相邻测试消息的时间间隔功能和图形和针对测试消息添加相应的注释的功能等,这样,系统测试人员在编辑测试用例时,就能够直接通过选择表征不同时间间隔的图形设置两条相邻测试消息的时间间隔,使得系统测试人员能够更方便、快捷的编辑测试用例,提高测试用例编辑效率,同时,系统测试人员可根据需要对某些测试消息进行注释,以便系统测试人员能够根据任一测试消息对应的注释,直接确定出该测试消息的测试内容等。
具体的,本发明实施例中,在执行步骤210时,根据用户在图像化用户界面中输入的数据,按照测试上述分布式系统所需采用的消息的格式,在用于编辑测试用例的统一建模语言UML时序图中,设置相应的测试消息,各测试消息的执行顺序,以及执行任意两条相邻测试消息的时间间隔,并根据上述UML时序图中设置的各测试消息的执行顺序和执行任意两条相邻测试消息的时间间隔,向上述分布式系统发送测试消息。
例如,假设确定出的测试分布式系统1所需采用的消息的格式为消息格式1,分布式系统测试工具中的测试用例编辑模块根据消息格式1,在用于编辑测试分布式系统1的测试用例的UML时序图中设置相应的测试消息,如,设置用于测试分布式系统1的测试消息1,测试消息2,测试消息3和测试消息4,其中,测试消息1,测试消息2,测试消息3和测试消息4的消息的格式均为消息格式1,以及设置执行测试消息1和执行测试消息2的时间间隔为1秒,执行测试消息2和执行测试消息3的时间间隔为2秒,执行测试消息3和执行测试消息4的时间间隔为0.5秒。然后,分布式测试系统工具中的用例执行模块根据测试用例编辑模块生成的测试用例,向分布式系统1发送测试消息1;并在发送完成1秒后,向分布式系统1发送测试消息2;在发送完成2秒后,向分布式系统发送测试消息3;以及在发送完成0.5后,向分布式系统1发送测试消息4。
本发明实施例中,一个测试用例可以包括多条测试消息,而一条测试消息可以包括多个消息块。
实际应用中,在一个分布式系统的开发过程中,开发人员针对上述一个分布式系统设置有相应的,用于表征各子系统、设备之间或与其他系统、子系统、设备之间具体接口关系的接口控制文件(Interface Control Document,ICD),那么,本发明实施例中,在基于测试上述一个分布式系统所需采用的消息的格式,设置相应的测试用例时,可以根据上述一个分布式系统的ICD文件中记录的各个接口的特征信息,生成相应的可用于测试上述一个分布式系统的测试用例。
显然,本发明实施例中,分布式系统测试工具可以基于待测试分布式系统的ICD文件,从待测试分布式系统的ICD文件中提取相关信息(即各个接口的特征信息等),生成相应的测试用例,这样,针对不同类型的待测试分布式系统,分布式系统测试工具可以根据不同类型的待测试分布式系统的ICD文件,生成不同的测试用例,完成待测试分布式系统的测试,即一个分布式系统测试工具可用于多种不同类型的分布式系统的测试。
较佳的,本发明实施例中,在基于上述测试用例,对上述分布式系统进行测试之前,在基于测试上述分布式系统所需采用的消息的格式,设置相应的测试用例之后,进一步包括:针对上述测试用例中定义的多条测试消息中的每一条测试消息,分别设置相应的预期反馈消息,其中,上述预期反馈消息表征预期上述测试系统返回的反馈消息的内容。
本发明实施例中,针对测试用例中每一条测试消息,分别设置有分布式系统针对每一条测试消息分别返回的预期反馈消息。即分布式系统在接收到一条测试消息时,预期该分布式系统在正常情况下,根据该一条测试消息的消息内容返回的反馈消息的消息内容。若分布式系统针对该一条测试消息返回的反馈消息的消息内容与预先设置的预期反馈消息的消息内容相同或差异较小,则可以表明该分布式系统在与该一条测试消息相对应的某方面的功能满足预期要求,否则,表明该分布式系统在于该一条测试消息相对应的某方面的功能不能满足预期要求。
步骤220:接收上述分布式系统根据每一条测试消息分别返回的反馈消息,并判断上述反馈消息是否符合预期要求。
实际应用中,分布式系统接收到一条测试消息,则会根据该一条测试消息的消息内容,生成相应的反馈消息,并返回给分布式系统测试工具,本发明实施例中,可根据分析判断分布式系统针对每一条测试消息分别返回的反馈消息的消息内容,判断各反馈消息是否满足预期要求,从而判断分布式系统各功能是否满足预期要求。
具体的,本发明实施例中,在执行步骤220时,针对接收到的与各测试消息相对应的各反馈消息,分别执行以下操作:将一条测试消息对应的反馈消息与针对上述一条测试消息预先设置的预期反馈消息进行对比处理,得到对比结果,并基于上述对比结果,确定上述一条测试消息对应的反馈消息是否符合预期要求。
本发明实施例中,在编辑测试用例时,针对每一测试消息预先设置有相应的预期反馈消息,那么,在判断各测试消息相对应的各反馈消息是否满足预期要求时,即可将针对一条测试消息返回的反馈消息的消息内容,与针对该一条测试消息设置的预期反馈消息的消息内容进行对比处理,得到相应的对比结果,若判定该反馈消息的消息内容与该预期反馈消息的消息内容相同或差别较小,则表明该反馈消息满足预期要求,否则,表明该反馈消息不满足预期要求。
进一步的,本发明实施例中,将分布式系统返回的各反馈消息按照返回时间的先后顺序,以UML时序图的方式展现,并标记出不满足预期要求的反馈信息,以供测试人员进行测试结果查看。
更进一步的,本发明实施例中,根据分布式系统的应用场景和/或使用单位对测试报告的格式,内容等要求设置的测试报告模块和上述测试结果,生成相应的测试报告。可选的,测试报告的格式可以包括超文本语言标记(Hyper Text Markup Language,HTML)、可移植文档格式(Portable Document Format,PDF)、Excel格式或者Word格式等。
下面采用具体的应用场景对上述实施例作进一步详细说明,参阅图4所示,本发明实施例中,一种分布式系统测试方法的具体流程如下:
步骤400:定义消息格式。
具体的,根据分布式系统测试工具中消息格式定义模块提供的,可用于定义在测试过程中使用的消息的格式和内容的图形化用户界面,定义当前要执行的分布式系统测试所需采用的消息的格式。
步骤410:编辑测试用例。
具体的,根据上述定义的消息的格式,采用分布式系统测试工具中测试用例编辑模块提供的,可用于测试用例编辑的UML时序图,对当前要执行的分布式系统测试用例进行编辑,其中,测试用例中定义有各测试消息的执行顺序,执行任意两个相邻测试消息的时间间隔,以及用于判断分布式系统返回的反馈消息是否满足预期要求的预期反馈消息。
步骤420:执行测试用例。
具体的,采用分布式系统测试工具中测试用例执行模块,根据测试用例中定义的测试消息的执行顺序,及执行任意两个相邻测试消息的时间间隔,逐一执行每条测试消息。即分布式系统测试工具中用例执行模块向分布式系统按预设规则发送各测试消息,并接收分布式系统针对每条测试消息返回的反馈消息。
步骤430:检查执行结果。
具体的,分布式系统测试工具中的测试结果判断模块根据接收到的反馈消息与预先设置的预期反馈消息进行比对,分别判断每条反馈消息是否满足预期要求。
步骤440:查看执行结果。
具体的,分布式系统测试工具中测试结果展示模块,将判断结果通过UML时序图的方式展现,并用红色标记出不满足预期要求的反馈消息。
步骤450:生成测试报告。
具体的,分布式系统测试工具中测试报告生成模块根据预先设置的测试报告模板以及判断结果,生成相应的测试报告,报告的格式可以为HTML格式、,PDF格式、Excel格式或者Word格式等。
基于上述实施例,参阅图5所示,本发明实施例中,一种分布式系统测试装置,至少包括确定单元50,测试单元51和判断单元52,其中,
确定单元50,用于将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;
测试单元51,用于基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;
判断单元52,用于接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
较佳的,在基于所述测试用例,对所述分布式系统进行测试之前,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例之后,所述测试单元51进一步用于:
针对所述测试用例中定义的多条测试消息中的每一条测试消息,分别设置相应的预期反馈消息,其中,所述预期反馈消息表征预期所述测试系统返回的反馈消息的内容;
在判断所述反馈消息是否符合预期要求时,所述判断单元52具体用于:
针对接收到的与各测试消息相对应的各反馈消息,分别执行以下操作:将一条测试消息对应的反馈消息与针对所述一条测试消息预先设置的预期反馈消息进行对比处理,得到对比结果,并基于所述对比结果,确定所述一条测试消息对应的反馈消息是否符合预期要求。
较佳的,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例时,所述测试单元51具体用于:
根据用户在图像化用户界面中输入的数据,按照测试所述分布式系统所需采用的消息的格式,在用于编辑测试用例的统一建模语言UML时序图中,设置相应的测试消息,各测试消息的执行顺序,以及执行任意两条相邻测试消息的时间间隔;
在基于所述测试用例,对所述分布式系统进行测试时,所述测试单元51具体用于:
根据所述UML时序图中设置的各测试消息的执行顺序和执行任意两条相邻测试消息的时间间隔,向所述分布式系统发送测试消息。
较佳的,所述判断单元52进一步用于:
将分布式系统返回的反馈消息按照时间顺序,以UML时序图的方式展现,并标记出不满足预期要求的反馈消息;
基于预设的测试报告模板,生成相应的测试报告。
综上所述,本发明实施例中,在进行分布式系统测试的过程中,将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
采用上述方法,可以通过定义消息的格式,编辑测试用例,执行测试用例,以及判断执行结果的方式,对采用不同消息机制的不同分布式系统进行测试,提升了分布式系统测试效果,且测试过程简单,提高了分布式系统测试效率的同时,减少了分布式系统测试所需的人力物力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种分布式系统测试方法,其特征在于,包括:
将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;
基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;
接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
2.如权利要求1所述的方法,其特征在于,在基于所述测试用例,对所述分布式系统进行测试之前,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例之后,进一步包括:
针对所述测试用例中定义的多条测试消息中的每一条测试消息,分别设置相应的预期反馈消息,其中,所述预期反馈消息表征预期所述测试系统返回的反馈消息的内容。
3.如权利要求2所述的方法,其特征在于,判断所述反馈消息是否符合预期要求,具体包括:
针对接收到的与各测试消息相对应的各反馈消息,分别执行以下操作:将一条测试消息对应的反馈消息与针对所述一条测试消息预先设置的预期反馈消息进行对比处理,得到对比结果,并基于所述对比结果,确定所述一条测试消息对应的反馈消息是否符合预期要求。
4.如权利要求1-3任一项所述的方法,其特征在于,基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,具体包括:
根据用户在图像化用户界面中输入的数据,按照测试所述分布式系统所需采用的消息的格式,在用于编辑测试用例的统一建模语言UML时序图中,设置相应的测试消息,各测试消息的执行顺序,以及执行任意两条相邻测试消息的时间间隔;
基于所述测试用例,对所述分布式系统进行测试,具体包括:
根据所述UML时序图中设置的各测试消息的执行顺序和执行任意两条相邻测试消息的时间间隔,向所述分布式系统发送测试消息。
5.如权利要求1所述的方法,其特征在于,进一步包括:
将分布式系统返回的反馈消息按照时间顺序,以UML时序图的方式展现,并标记出不满足预期要求的反馈消息;
基于预设的测试报告模板,生成相应的测试报告。
6.一种分布式系统测试装置,其特征在于,包括:
确定单元,用于将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;
测试单元,用于基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;
判断单元,用于接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
7.如权利要求6所述的装置,其特征在于,在基于所述测试用例,对所述分布式系统进行测试之前,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例之后,所述测试单元进一步用于:
针对所述测试用例中定义的多条测试消息中的每一条测试消息,分别设置相应的预期反馈消息,其中,所述预期反馈消息表征预期所述测试系统返回的反馈消息的内容;
在判断所述反馈消息是否符合预期要求时,所述判断单元具体用于:
针对接收到的与各测试消息相对应的各反馈消息,分别执行以下操作:将一条测试消息对应的反馈消息与针对所述一条测试消息预先设置的预期反馈消息进行对比处理,得到对比结果,并基于所述对比结果,确定所述一条测试消息对应的反馈消息是否符合预期要求。
8.如权利要求6或7所述的装置,其特征在于,在基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例时,所述测试单元具体用于:
根据用户在图像化用户界面中输入的数据,按照测试所述分布式系统所需采用的消息的格式,在用于编辑测试用例的统一建模语言UML时序图中,设置相应的测试消息,各测试消息的执行顺序,以及执行任意两条相邻测试消息的时间间隔;
在基于所述测试用例,对所述分布式系统进行测试时,所述测试单元具体用于:
根据所述UML时序图中设置的各测试消息的执行顺序和执行任意两条相邻测试消息的时间间隔,向所述分布式系统发送测试消息。
9.如权利要求6所述的装置,其特征在于,所述判断单元进一步用于:
将分布式系统返回的反馈消息按照时间顺序,以UML时序图的方式展现,并标记出不满足预期要求的反馈消息;
基于预设的测试报告模板,生成相应的测试报告。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行:将分布式系统在进行数据交互时所采用的消息的格式,确定为测试所述分布式系统所需采用的消息的格式;基于测试所述分布式系统所需采用的消息的格式,设置相应的测试用例,并基于所述测试用例,对所述分布式系统进行测试,其中,所述测试用例中定义有多条测试消息,各测试消息的执行顺序以及执行任意两条相邻测试消息的时间间隔;接收所述分布式系统根据每一条测试消息分别返回的反馈消息,并判断所述反馈消息是否符合预期要求。
11.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至5任一项所述的方法。
CN201710861020.1A 2017-09-21 2017-09-21 一种分布式系统测试方法及装置 Active CN107622013B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710861020.1A CN107622013B (zh) 2017-09-21 2017-09-21 一种分布式系统测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710861020.1A CN107622013B (zh) 2017-09-21 2017-09-21 一种分布式系统测试方法及装置

Publications (2)

Publication Number Publication Date
CN107622013A true CN107622013A (zh) 2018-01-23
CN107622013B CN107622013B (zh) 2020-07-14

Family

ID=61090336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710861020.1A Active CN107622013B (zh) 2017-09-21 2017-09-21 一种分布式系统测试方法及装置

Country Status (1)

Country Link
CN (1) CN107622013B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400162A (zh) * 2019-01-02 2020-07-10 阿里巴巴集团控股有限公司 一种测试方法及测试系统
CN111444097A (zh) * 2020-03-25 2020-07-24 北京奇艺世纪科技有限公司 测试方法及测试系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1728159A1 (en) * 2004-02-25 2006-12-06 Samsung Electronics Co., Ltd. Method of testing open services gateway initiative service platform and test tool using the method
CN101295280A (zh) * 2008-06-18 2008-10-29 腾讯科技(深圳)有限公司 自动化软件调测方法及系统
CN103455423A (zh) * 2013-09-03 2013-12-18 浪潮(北京)电子信息产业有限公司 一种基于集群架构的软件自动测试装置及系统
CN103500139A (zh) * 2013-09-25 2014-01-08 刘爱琴 一种通信软件集成测试系统及测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1728159A1 (en) * 2004-02-25 2006-12-06 Samsung Electronics Co., Ltd. Method of testing open services gateway initiative service platform and test tool using the method
CN101295280A (zh) * 2008-06-18 2008-10-29 腾讯科技(深圳)有限公司 自动化软件调测方法及系统
CN103455423A (zh) * 2013-09-03 2013-12-18 浪潮(北京)电子信息产业有限公司 一种基于集群架构的软件自动测试装置及系统
CN103500139A (zh) * 2013-09-25 2014-01-08 刘爱琴 一种通信软件集成测试系统及测试方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400162A (zh) * 2019-01-02 2020-07-10 阿里巴巴集团控股有限公司 一种测试方法及测试系统
CN111400162B (zh) * 2019-01-02 2023-04-25 阿里巴巴集团控股有限公司 一种测试方法及测试系统
CN111444097A (zh) * 2020-03-25 2020-07-24 北京奇艺世纪科技有限公司 测试方法及测试系统

Also Published As

Publication number Publication date
CN107622013B (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN110764753B (zh) 一种业务逻辑代码生成方法、装置、设备及存储介质
CN101571802B (zh) 一种嵌入式软件测试数据可视化自动生成方法及系统
CN103502952B (zh) 创建测试用例
CN109379251B (zh) 继电保护装置过程层goose及sv通信自动测试方法及系统
CN104750603B (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
US10961826B2 (en) Subsurface modeler workflow and tool
CN110287097A (zh) 批量测试方法、装置及计算机可读存储介质
CN101996131A (zh) 基于xml封装关键字的gui自动测试方法及自动测试平台
US20070061641A1 (en) Apparatus and method for generating test driver
CN106502896A (zh) 一种函数测试代码的生成方法及装置
CN104133588B (zh) 一种基于脚本的继电保护装置图形开发方法
CN108182359A (zh) 一种测试可信环境下api安全性的方法、装置及存储介质
Shah et al. Exploring knowledge engineering strategies in designing and modelling a road traffic accident management domain
CN111966580A (zh) 基于人工智能的自动化测试方法、装置、设备和存储介质
CN107622013A (zh) 一种分布式系统测试方法及装置
CN107577709B (zh) 一种信息系统资源模型的图形化管理方法
CN102520949B (zh) 形式化计算机联锁实现方法
CN110286882B (zh) 一种基于模型检测的前台系统设计与验证方法
CN102147797A (zh) 一种内容管理系统中管理元素文件的方法及装置
CN105653445B (zh) 一种满足do‑178c测试结果的实现方法
CN110471835A (zh) 一种基于电力信息系统代码文件的相似度检测方法及系统
CN109871453A (zh) 一种基于bim模型的质量通病数据的信息处理系统及方法
CN107656865A (zh) 测试需求确定方法及装置
CN113434387A (zh) 一种基于脚本驱动的自动化测试工具及系统
Ben Charrada et al. An automated hint generation approach for supporting the evolution of requirements specifications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20180123

Assignee: Kedong (Guangzhou) Software Technology Co., Ltd

Assignor: Beijing Dongtu Technology Co., Ltd.|Beijing keyin Jingcheng Technology Co., Ltd

Contract record no.: X2020980000255

Denomination of invention: Distributed-system testing method and device

License type: Exclusive License

Record date: 20200218

EE01 Entry into force of recordation of patent licensing contract
GR01 Patent grant
GR01 Patent grant