CN106547685A - 一种基于自动生成序列图的测试方法及装置 - Google Patents
一种基于自动生成序列图的测试方法及装置 Download PDFInfo
- Publication number
- CN106547685A CN106547685A CN201510611269.8A CN201510611269A CN106547685A CN 106547685 A CN106547685 A CN 106547685A CN 201510611269 A CN201510611269 A CN 201510611269A CN 106547685 A CN106547685 A CN 106547685A
- Authority
- CN
- China
- Prior art keywords
- message
- plot space
- node
- space
- life line
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于自动生成序列图的测试方法及装置,涉及计算机应用领域,所述方法包括:收集多节点异步消息交互系统在交互过程中的信息;按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间;在为所有消息对应的绘图单元分配绘图空间之后,在各个绘图空间展示对应的绘图单元;利用所展示的各个绘图单元,进行相应测试。本发明通过自动生成的序列图,能够直观呈现消息的交互流程,更加方便地定位问题出现的节点,解决了多节点异步消息交互系统中调试程序难、定位问题难的问题,同时,由于自动生成序列图,节约了人力资源,提高了测试效率。
Description
技术领域
本发明涉及计算机应用领域,特别涉及一种基于自动生成序列图的测试方法及装置。
背景技术
在多节点异步消息交互系统中,由于涉及到的节点多、消息多,一旦出现问题,工程人员很难定位消息阻塞的节点,为问题定位、调试程序带来很大的难度。
在现有测试技术中,若发现程序存在问题,多数是通过单步调试和日志打印的方法来定位问题,这种方式虽然能够逐步缩小问题范围,最终定位问题,但是定位问题效率低下,且结果呈现不直观。
通过绘制序列图,能够直观呈现消息交互关系。但是,当前的序列图仅能通过工程人员绘制,工程人员根据序列图的元素,逐步绘制序列图。具体地说,工程人员需要收集信息,分配绘图空间,在绘图软件上绘制生命线与消息流线。这种获取序列图的方式,效率低,造成人力资源的浪费,并且不便于在不同终端上呈现。
发明内容
本发明的目的在于提供一种基于自动生成序列图的测试方法及装置,能更好地解决人工绘制序列图效率低而导致的测试效率低的问题。
根据本发明的一个方面,提供了一种基于自动生成序列图的测试方法,包括:
收集多节点异步消息交互系统在交互过程中的信息;
按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间;
在为所有消息对应的绘图单元分配绘图空间之后,在各个绘图空间展示对应的绘图单元;
利用所展示的各个绘图单元,进行相应测试。
优选地,所述按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间的步骤包括:
按照收集的信息中的消息编号及说明,为当前消息编号的消息对应的绘图单元分配绘图空间;
在为所述当前消息编号的消息对应的绘图单元分配绘图空间之后,按照消息编号及说明,为后续消息编号的消息对应的绘图单元分配绘图空间,直至为所有消息对应的绘图单元分配绘图空间。
优选地,所述绘图单元包括消息的发送方节点的生命线、消息的接收方节点的生命线和消息的消息流线;所述为当前消息编号的消息对应的绘图单元分配绘图空间的步骤包括:
根据所述发送方节点的锚点位置、所述发送方节点的节点名称字符串长度、预设的生命线单位长度,确定所述发送方节点的生命线绘图空间;
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度、所述接收方节点的节点名称字符串长度、预设的生命线单位长度和横向绘图空间间隔,确定所述接收方节点的生命线绘图空间;
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间、所述接收方节点的生命线绘图空间、预设的消息流线绘图空间高度和纵向绘图空间间隔,确定所述消息的消息流线绘图空间。
优选地,所述确定所述发送方节点的生命线绘图空间的步骤包括:
根据所述发送方节点的节点名称字符串长度,确定所述发送方节点的生命线绘图空间的宽度;
根据预设的生命线单位长度,确定所述发送方节点的生命线绘图空间的长度;
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度和长度,确定所述发送方节点的生命线绘图空间。
优选地,所述确定所述接收方节点的生命线绘图空间的步骤包括:
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度、预设的横向绘图空间间隔,确定所述接收方节点的锚点位置;
根据所述接收方节点的节点名称字符串长度,确定所述接收方节点的生命线绘图空间的宽度;
根据预设的生命线单位长度,确定所述接收方节点的生命线绘图空间的长度;
根据所述接收方节点的锚点位置、所述接收方节点的生命线绘图空间的宽度和长度,确定所述接收方节点的生命线绘图空间。
优选地,所述确定所述消息的消息流线绘图空间的步骤包括:
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度、预设的纵向绘图空间间隔,确定所述消息的锚点位置;
根据所述发送方节点的生命线绘图空间宽度、所述接收方节点的生命线绘图空间宽度、预设的横向绘图空间间隔,确定所述消息流线绘图空间的宽度;
根据所述消息的锚点位置、所述消息流线绘图空间的宽度、预设的消息流线绘图空间的高度,确定消息流线绘图空间。
优选地,当所述消息的发送方节点与接收方节点为同一节点时,所述确定所述消息的消息流线绘图空间的步骤包括:
根据所述节点的锚点位置、所述节点的生命线绘图空间的宽度、预设的纵向绘图空间间隔,确定所述消息流线绘图空间的中心点位置;
根据所述消息及其说明对应的字符串长度,确定所述消息流线绘图空间的宽度;
根据所述中心点位置、所述消息流线绘图空间的宽度、预设的消息流线绘图空间的高度,确定消息流线绘图空间。
优选地,还包括:
将收集的信息中的消息编号及说明对应的字符串长度与所述消息流线绘图空间的宽度进行比较;
若所述消息编号及说明对应的字符串长度大于所述消息流线绘图空间的宽度,则以消息编号及说明对应的字符串长度作为消息流线绘图空间的宽度,并对所述接收方节点的生命线绘图空间进行相应扩展。
优选地,所述为后续消息编号的消息对应的绘图单元分配绘图空间的步骤包括:
根据所述当前消息编号的消息的锚点位置、预设的消息流线绘图空间高度和纵向绘图空间间隔,为下一消息编号的消息对应的绘图单元分配绘图空间;
其中,根据下一消息编号的消息编号及说明对应的字符串长度、关联的新增节点的节点名称字符串长度,为所述下一消息编号的消息横向扩展消息流线绘图空间,并为所述新增节点横向扩展生命线绘图空间;
其中,根据预设的生命线单位长度,为所有节点纵向扩展生命线绘图空间。
根据本发明的另一方面,提供了一种基于自动生成序列图的测试装置,包括:
信息收集模块,用于收集多节点异步消息交互系统在交互过程中的信息;
空间分配模块,用于按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间;
序列图生成模块,用于在为所有消息对应的绘图单元分配绘图空间之后,在各个绘图空间展示对应的绘图单元;
测试模块,用于利用所展示的各个绘图单元,进行相应测试。
与现有技术相比较,本发明的有益效果在于:
1、本发明通过自动生成能够直观呈现消息交互流程的序列图,提高了测试效率,节约了人力资源;
2、本发明通过字符打印的方式生成所述序列图,支持在不同的终端上显示;
3、本发明基于自动生成的序列图,能够更方便地定位故障出现的节点,解决了多节点异步消息交互系统中调试程序难、定位故障难的问题。
附图说明
图1是本发明实施例提供的基于自动生成序列图的测试方法流程图;
图2是本发明实施例提供的基于自动生成序列图的测试装置框图;
图3是本发明实施例提供的自动生成序列图的流程图;
图4是本发明实施例提供的绘图空间分配示意图;
图5是本发明实施例提供的包含四个节点、六条消息的第一序列图;
图6是本发明实施例提供的包含四个节点、六条消息的第二序列图;
图7是本发明实施例提供的包含四个节点、六条消息的第三序列图;
图8是本发明实施例提供的包含四个节点、六条消息的第四序列图;
图9是本发明实施例提供的包含四个节点、六条消息的第五序列图;
图10是本发明实施例提供的包含四个节点、六条消息的第六序列图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明通过自动生成序列图来辅助测试。
图1是本发明实施例提供的基于自动生成序列图的测试方法流程图,如图1所示,步骤包括:
步骤S101:收集多节点异步消息交互系统在交互过程中的信息。
其中,所收集的信息包括消息交互的节点名称、消息编号及说明、消息的发送方节点、消息的接收方节点。
需要说明的是,在所述步骤S101之前,在多节点异步消息交互系统中,为不同的消息编号,用于区分消息。
步骤S102:按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间。
其中,所述绘图单元包括消息的发送方节点的生命线、消息的接收方节点的生命线和消息的消息流线。
首先,按照收集的信息中的消息编号及说明,为当前消息编号的消息对应的绘图单元分配绘图空间。具体地说,当所述发送方节点与所述接收方节点为不同节点时,根据所述发送方节点的节点名称字符串长度,确定所述发送方节点的生命线绘图空间的宽度,根据预设的生命线单位长度,确定生命线绘图空间的长度,并根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度、所述生命线绘图空间的长度,确定所述发送方节点的生命线绘图空间;根据所述发送方节点的锚点位置、所述的发送方节点生命线绘图空间的宽度、预设的横向绘图空间间隔,确定所述接收方节点的锚点位置,根据所述接收方节点的节点名称字符串长度,确定所述接收方节点的生命线绘图空间的宽度,根据预设的生命线单位长度,确定所述接收方节点的生命线绘图空间的长度,并根据所述接收方节点的锚点位置、所述接收方节点的生命线绘图空间的宽度、所述接收方节点的生命线绘图空间的长度,确定所述接收方节点的生命线绘图空间;根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间宽度、预设的纵向绘图空间间隔,确定所述消息的锚点位置,根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间宽度、所述发送方节点的锚点位置、所述接收方节点的生命线绘图空间宽度,确定消息流线绘图空间宽度,并根据消息的锚点位置、消息流线绘图空间宽度、预设的消息流线绘图空间高度和纵向绘图空间间隔,确定消息流线绘图空间。当所述消息的发送方节点与接收方节点为同一节点时,根据所述节点的锚点位置、所述节点的生命线绘图空间的宽度、预设的纵向绘图空间间隔,确定所述消息流线绘图空间的中心点位置,根据所述消息及其说明对应的字符串长度,确定所述消息流线绘图空间的宽度,并根据所述中心点位置、消息流线绘图空间的宽度、预设的消息流线绘图空间高度,确定消息流线绘图空间。
然后,在为所述当前消息编号的消息对应的绘图单元分配绘图空间之后,按照消息编号及说明,为后续消息编号的消息对应的绘图单元分配绘图空间,直至为所有消息对应的绘图单元分配绘图空间。具体地说,根据所述当前消息编号的消息的锚点位置、预设的消息流线绘图空间高度和纵向绘图空间间隔,为下一消息编号的消息对应的绘图单元分配绘图空间。其中,根据下一消息编号的消息编号及说明对应的字符串长度、关联的新增节点的节点名称字符串长度,为所述下一消息编号的消息横向扩展消息流线绘图空间,为所述新增节点横向扩展生命线绘图空间,并根据预设的生命线单位长度,为所有节点纵向扩展生命线绘图空间。也就是说,每增加一条消息,消息流线绘图空间增加一个纵向间隔,并将所有节点的生命线的绘图空间增加一个生命线单位长度值,从而向下扩展绘图空间,每增加一个节点,横向绘图空间增加一个横向间隔,从而向右扩展绘图空间。由此可见,总的绘图空间是按照消息的递增,逐步扩展而得到的,例如,随着消息的增加而扩展的绘图空间按照由左向右,从上至下的顺序依次扩展。
需要说明的是,在确定绘图空间期间,需要将收集的信息中的消息编号及说明对应的字符串长度与所述消息流线绘图空间的宽度进行比较,若所述消息编号及说明对应的字符串长度大于所述消息流线绘图空间的宽度,则以消息编号及说明对应的字符串长度作为消息流线绘图空间的宽度,然后对所述接收方节点的生命线绘图空间进行相应扩展,例如向右扩展相应的宽度。
步骤S103:在为所有消息对应的绘图单元分配绘图空间之后,在各个绘图空间展示对应的绘图单元。
步骤S104:利用所展示的各个绘图单元,进行相应测试。
本发明通过自动绘制的序列图,梳理消息交互过程中,消息在各节点间的交互流程,能够定位问题,实现辅助测试。
图2是本发明实施例提供的基于自动生成序列图的测试装置框图,如图2所示,步骤包括信息收集模块10、空间分配模块20、序列图生成模块30和测试模块40。其中,信息收集模块10收集多节点异步消息交互系统在交互过程中的信息,空间分配模块20按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间,具体分配原则可参考上述步骤S102。序列图生成模块30在为所有消息对应的绘图单元分配绘图空间之后,在各个绘图空间展示对应的绘图单元,测试模块40利用所展示的各个绘图单元,进行相应测试。
本发明通过自动搜集消息交互过程中的信息,为节点和消息分配绘图空间,并确定最终总的绘图空间,在总的绘图空间确定之后开始呈现信息,通过字符打印的方式,支持不同终端上显示,依次在节点和消息的绘图空间打印绘图内容,得到序列图。通过序列图,方便直观呈现消息交互流程,提高测试效率,解决了多节点异步消息交互系统中,调试程序难、定位故障难的技术问题。
图3是本发明实施例提供的自动生成序列图的流程图,如图3所述,步骤包括:
步骤S201:程序自动进行信息搜集并记录,信息搜集的内容包括消息交互过程中涉及到的节点名称、消息编号及说明、消息的发送方节点、消息的接收方节点。
步骤S202:信息搜集完成后,等待接收用户发出绘图指令。
步骤S203:程序收到用户发出的绘图指令后,开始为各绘图单元分配绘图空间。
其中,绘图单元包括消息对应的消息流线、节点对应的生命线。
其中,消息流线包含消息编号及说明,生命线包含节点名称。
与传统的“先分配总的绘图空间,再划分给每个绘图对象”的分配原则比较,本发明根据消息交互过程中,每增加一个消息,依据下述设计方式逐步为增加的绘图单元分配绘图空间,且逐步扩展总的绘图空间。
图4是本发明实施例提供的绘图空间分配示意图,如图4所示,wA为节点A的生命线绘图空间的宽度,w0为横向绘图空间间隔,h0为生命线单位长度,h1为消息流线高度,h2为纵向绘图间隔。以下结合图4,进一步说明步骤S203,具体如下:
1、首先确定第一条消息Msg[1]及其发送方节点A、接收方节点B的绘图空间。
确定第一个节点(即发送方节点A)的生命线绘图空间。具体地说,首先获取初始锚点位置,根据第一个节点的节点名称的字符串长度,为其分配对应的生命线绘图空间的宽度,如图4中所示的wA,生命线纵向向下,生命线的长度先为其分配固定单位长度,如图4中所示的h0,由此得到节点A的生命线绘图空间。
确定第二个节点(即接收方节点B)的生命线绘图空间。具体地说,首先确定第二个节点的锚点位置,所述锚点位置的纵向位置与初始锚点位置相同,横向位置在初始锚点位置的基础上加上第一个节点的生命线绘图空间的宽度和横向绘图空间间隔,横向绘图空间间隔为分配好的固定值,如图4中所示的w0,在得到第二个节点的锚点位置之后,依据上述规则得到节点B的生命线绘图空间。
确定第一条消息的消息流线绘图空间。具体地说,如图4所示,首先分配消息流线绘图空间的高度h1和消息流线绘图空间的纵向绘图间隔h2,其中,h1为固定高度值,优选地,h1与h2之和等于生命线单位长度h0。确定第一条消息的锚点位置,横向位置为第一个节点(消息发送方A)的生命线,纵向位置在初始锚点位置的基础上加上预先分配好的固定值,优选地,该固定值必须小于生命线单位长度h0,且小于消息流线绘图空间的纵向绘图间隔h2。根据消息的发送方节点A、消息接收方节点B的生命线的间隔宽度,确定消息流线绘图空间的宽度,并根据第一条消息的锚点位置、消息流线绘图空间的宽度、预先分配好的消息流线绘图空间的高度,得到消息流线绘图空间。
需要注意的是,如果消息编号及其说明对应的字符串长度大于依据上述规则确定的消息流线绘图空间的宽度,则以消息编号及其说明对应的字符串长度作为消息流线绘图空间的宽度,对应地将接收方节点B的生命线向右扩展对应宽度。
2、然后确定第二条消息Msg[2]的消息流线绘图空间。
第二条消息对应的锚点位置,纵向位置在第一条消息流线锚点位置的基础上加上消息流线绘图空间的纵向绘图间隔h2和消息流线绘图空间的高度h1,依据上述规则获取第二条消息的消息流线绘图空间。
需要注意的是,对于如图4所示的节点自己给自己发送消息的特殊情况,首先获取第二条消息的消息流线绘图空间的中心点位置,中心点位置的确定原则与上述消息流线的锚点位置的确定原则相同,消息流线绘图空间的宽度与高度由消息编号及说明对应的字符串长度与高度来确定,最后根据中心点位置、消息流线绘图空间的宽度和高度,得到第二条消息Msg[2]的消息流线绘图空间。
3、按照节点出现的顺序,遵循上述规则,依次为各节点的生命线分配生命线绘图空间;按照消息发出的顺序,遵循上述规则,依次为各消息流线分配消息流线绘图空间。
其中,每次增加一条消息,消息流线的纵向位置依次增加一个间隔,所有生命线的长度延长一个固定单位长度值h0。
在横向空间上,节点间的横向绘图空间间隔为固定宽度值w0,根据所有节点的生命线绘图空间宽度与所有间隔的宽度之和,确定总的绘图空间的宽度。
在纵向空间上,根据生命线绘图空间的高度,确定总的绘图空间的高度。
4、根据总的绘图空间的宽度和高度,确定总的绘图空间。
步骤S204:分配好绘图空间后,开始信息的展示。
节点名称、消息编号及说明通过对应字符形式呈现,生命线可以但不限于通过虚线或实线形式呈现,消息流线可以但不限于通过带箭头的虚线或实线形式呈现。
步骤S205:生成序列图。
区别于通过绘制图形的方式生成的序列图,本发明通过字符打印的形式,在分配好的各绘图空间里,依次打印相应的各绘图单元,字符打印方式生成的序列图支持在不同终端上显示,即最终在终端上,得到消息交互流程的序列图。
区别于其他序列图的获取方法,本发明接收用户指令,并在终端上通过字符打印的方式,自动生成序列图,以供辅助测试。
本发明能够自动搜集并记录消息交互过程中的信息,并在收到用户输入的绘图指令后,通过分配绘图空间,信息展示,将消息交互的序列图在终端上呈现出来,以供辅助测试。需要说明的是,上述步骤S201和步骤S202的顺序可调,也可以先执行步骤S202后执行步骤S201,也就是说,根据绘图指令收集信息。
本发明在多节点异步消息交互系统中,能够直观呈现消息交互流程,解决调试程序难、定位问题难的问题。
以下结合图5至图10,以图10所示的最终序列图为例,说明程序自动生成序列图以供辅助测试的具体实现方式。
步骤1:信息搜集。
程序自动开始信息搜集并记录,信息搜集的内容包括消息交互的节点名称、消息编号及说明、消息的发送方节点、消息的接收方节点。如图10所示序列图,搜集到的信息包括:消息交互过程中,节点A给节点B发送消息Msg[1],节点B给自己发送的消息Msg[2],处理完成后,节点B给节点C发送的消息Msg[3],节点C处理后,给节点D发送消息Msg[4],节点D处理后,直接给节点B发送的应答消息Ack[1],节点B给节点A回复的消息Ack[2]。
步骤2:接收用户发出的绘图指令。
步骤3:分配绘图空间。
消息交互过程中的节点名称A、B、C、D,初始锚点位置(x0,y0),生命线单位高度值h0、节点名称对应宽度wA、wB、wC、wD,横向绘图空间间隔宽度w0,消息交互过程中的消息流线高度值h1、纵向绘图空间间隔高度值h2、消息编号及说明字符串对应宽度为w1、w2、w3、w4、w5、w6。本实施例中h1+h2=h0。
节点A生命线的生命线绘图空间为(x0,y0)至(x0+wA,y0+h0)的矩形区域,由此得到节点A生命线的生命线绘图空间。
节点B生命线的生命线绘图空间为(x0+wA+w0,y0)至(x0+wA+w0+wB,y0+h0)的矩形区域,由此得到节点B生命线的生命线绘图空间。
确定消息Msg[1]的消息流线绘图空间为(x0+1/2wA,y0+1/2h0-1/2h1)至(x0+wA+w0+1/2wB,y0+1/2h0+1/2h1)的矩形区域,如图5所示。需要说明的是,如果w1大于1/2wA+w0+1/2wB,则消息Msg[1]的消息流线绘图空间的宽度值改为w1,消息Msg[1]的消息流线绘图空间为(x0+1/2wA,y0+1/2h0-1/2h1)至(x0+1/2wA+w1,y0+1/2h0+1/2h1)的矩形区域,并将节点B生命线的生命线绘图空间向右扩展为(x0+1/2wA+w1-1/2wB,y0)-(x0+1/2wA+w1+1/2wB,y0+h0)。
确定消息Msg[2]消息流线的绘图空间。先将所有节点的生命线延长一个单位长度h0,消息Msg[2]的消息流线绘图空间的中心点位置为(x0+wA+w0+1/2wB,y0+3/2h0),进而得到消息Msg[2]的消息流线绘图空间为(x0+wA+w0+1/2wB-1/2w2,y0+3/2h0-1/2h1)至(x0+wA+w0+1/2wB+1/2w2,y0+3/2h0+1/2h1)的矩形区域,如图6所示。
确定消息Msg[3]的消息流线绘图空间为(x0+wA+w0+1/2wB,y0+5/2h0-1/2h1)至(x0+wA+2w0+wB+1/2wC,y0+5/2h0+1/2h1)的矩形区域,同上述规则,获取节点C生命线的生命线绘图空间,如图7所示。
依据规则,依次得到后续消息Msg[4]、Ack[1]、Ack[2]对应消息流线及对应发送方节点、接收方节点生命线的绘图空间,如图6、图7、图8所示。
步骤4:信息展示。
分配好绘图空间后,在对应的绘图空间,将对应的绘图单元内容展示出来。
本实施例中消息流线采用带虚线的箭头表示,消息流线的绘图内容还包括消息编号及说明对应的字符串,可以以消息流线绘图空间的中心点为字符串的中心点呈现消息编号及说明。
本实施例中生命线采用竖直虚线表示,生命线的绘图内容还包括节点名称,可以以锚点位置作为节点名称绘图空间的锚点位置的对应点,将节点名称对应的字符串呈现出来。
步骤5:生成序列图。
以字符打印的形式,将上述绘图单元内容,在其分配好的绘图空间上呈现出来,字符打印的方式支持在不同的终端上显示序列图。
由得到的序列图,来分析消息交互过程中的交互流程,进而判断消息是否成功发出并成功收到应答,从而定位程序出现的问题,辅助测试。
综上所述,本发明具有以下技术效果:
1、本发明通过自动搜集并记录信息,提高了序列图的绘制效率;
2、相比较于人工绘制序列图,本发明根据消息交互的过程,自动生成序列图,提高了效率,节约了人力资源;
3、相比较于现有绘制图形,本发明的序列图是通过字符打印的方式生成的,支持不同的终端显示;
4、本发明解决多节点异步消息交互系统中调试程序难、定位故障难的问题,通过自动生成的序列图,能够直观简便地看到消息的交互,更加方便地定位故障出现的节点,与传统的单步调试和日志打印等定位故障的方法相比,测试效率高,且结果呈现更加直观。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种基于自动生成序列图的测试方法,其特征在于,包括:
收集多节点异步消息交互系统在交互过程中的信息;
按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间;
在为所有消息对应的绘图单元分配绘图空间之后,在各个绘图空间展示对应的绘图单元;
利用所展示的各个绘图单元,进行相应测试。
2.根据权利要求1所述的方法,其特征在于,所述按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间的步骤包括:
按照收集的信息中的消息编号及说明,为当前消息编号的消息对应的绘图单元分配绘图空间;
在为所述当前消息编号的消息对应的绘图单元分配绘图空间之后,按照消息编号及说明,为后续消息编号的消息对应的绘图单元分配绘图空间,直至为所有消息对应的绘图单元分配绘图空间。
3.根据权利要求2所述的方法,其特征在于,所述绘图单元包括消息的发送方节点的生命线、消息的接收方节点的生命线和消息的消息流线;所述为当前消息编号的消息对应的绘图单元分配绘图空间的步骤包括:
根据所述发送方节点的锚点位置、所述发送方节点的节点名称字符串长度、预设的生命线单位长度,确定所述发送方节点的生命线绘图空间;
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度、所述接收方节点的节点名称字符串长度、预设的生命线单位长度和横向绘图空间间隔,确定所述接收方节点的生命线绘图空间;
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间、所述接收方节点的生命线绘图空间、预设的消息流线绘图空间高度和纵向绘图空间间隔,确定所述消息的消息流线绘图空间。
4.根据权利要求3所述的方法,其特征在于,所述确定所述发送方节点的生命线绘图空间的步骤包括:
根据所述发送方节点的节点名称字符串长度,确定所述发送方节点的生命线绘图空间的宽度;
根据预设的生命线单位长度,确定所述发送方节点的生命线绘图空间的长度;
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度和长度,确定所述发送方节点的生命线绘图空间。
5.根据权利要求4所述的方法,其特征在于,所述确定所述接收方节点的生命线绘图空间的步骤包括:
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度、预设的横向绘图空间间隔,确定所述接收方节点的锚点位置;
根据所述接收方节点的节点名称字符串长度,确定所述接收方节点的生命线绘图空间的宽度;
根据预设的生命线单位长度,确定所述接收方节点的生命线绘图空间的长度;
根据所述接收方节点的锚点位置、所述接收方节点的生命线绘图空间的宽度和长度,确定所述接收方节点的生命线绘图空间。
6.根据权利要求5所述的方法,其特征在于,所述确定所述消息的消息流线绘图空间的步骤包括:
根据所述发送方节点的锚点位置、所述发送方节点的生命线绘图空间的宽度、预设的纵向绘图空间间隔,确定所述消息的锚点位置;
根据所述发送方节点的生命线绘图空间宽度、所述接收方节点的生命线绘图空间宽度、预设的横向绘图空间间隔,确定所述消息流线绘图空间的宽度;
根据所述消息的锚点位置、所述消息流线绘图空间的宽度、预设的消息流线绘图空间的高度,确定消息流线绘图空间。
7.根据权利要求6所述的方法,其特征在于,当所述消息的发送方节点与接收方节点为同一节点时,所述确定所述消息的消息流线绘图空间的步骤包括:
根据所述节点的锚点位置、所述节点的生命线绘图空间的宽度、预设的纵向绘图空间间隔,确定所述消息流线绘图空间的中心点位置;
根据所述消息及其说明对应的字符串长度,确定所述消息流线绘图空间的宽度;
根据所述中心点位置、所述消息流线绘图空间的宽度、预设的消息流线绘图空间的高度,确定消息流线绘图空间。
8.根据权利要求6或7所述的方法,其特征在于,还包括:
将收集的信息中的消息编号及说明对应的字符串长度与所述消息流线绘图空间的宽度进行比较;
若所述消息编号及说明对应的字符串长度大于所述消息流线绘图空间的宽度,则以消息编号及说明对应的字符串长度作为消息流线绘图空间的宽度,并对所述接收方节点的生命线绘图空间进行相应扩展。
9.根据权利要求8所述的方法,其特征在于,所述为后续消息编号的消息对应的绘图单元分配绘图空间的步骤包括:
根据所述当前消息编号的消息的锚点位置、预设的消息流线绘图空间高度和纵向绘图空间间隔,为下一消息编号的消息对应的绘图单元分配绘图空间;
其中,根据下一消息编号的消息编号及说明对应的字符串长度、关联的新增节点的节点名称字符串长度,为所述下一消息编号的消息横向扩展消息流线绘图空间,并为所述新增节点横向扩展生命线绘图空间;
其中,根据预设的生命线单位长度,为所有节点纵向扩展生命线绘图空间。
10.一种基于自动生成序列图的测试装置,其特征在于,包括:
信息收集模块,用于收集多节点异步消息交互系统在交互过程中的信息;
空间分配模块,用于按照收集的信息中的消息编号及说明,依次为相应消息对应的绘图单元分配绘图空间;
序列图生成模块,用于在为所有消息对应的绘图单元分配绘图空间之后,在各个绘图空间展示对应的绘图单元;
测试模块,用于利用所展示的各个绘图单元,进行相应测试。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611269.8A CN106547685A (zh) | 2015-09-23 | 2015-09-23 | 一种基于自动生成序列图的测试方法及装置 |
PCT/CN2016/090848 WO2017050007A1 (zh) | 2015-09-23 | 2016-07-21 | 一种测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611269.8A CN106547685A (zh) | 2015-09-23 | 2015-09-23 | 一种基于自动生成序列图的测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106547685A true CN106547685A (zh) | 2017-03-29 |
Family
ID=58365134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510611269.8A Pending CN106547685A (zh) | 2015-09-23 | 2015-09-23 | 一种基于自动生成序列图的测试方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106547685A (zh) |
WO (1) | WO2017050007A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034019A (zh) * | 2023-10-09 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 一种业务处理方法、装置、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240756B (zh) * | 2019-12-31 | 2023-05-16 | 西安翔腾微电子科技有限公司 | 一种图形功能的处理模式可配置的应用程序的执行方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501602A (zh) * | 2002-11-17 | 2004-06-02 | 华为技术有限公司 | 通讯性能测试方法 |
CN101645037B (zh) * | 2009-09-11 | 2011-06-29 | 兰雨晴 | 基础软件平台应用程序接口集成测试覆盖分析方法 |
US9954908B2 (en) * | 2013-01-22 | 2018-04-24 | General Electric Company | Systems and methods for collaborating in a non-destructive testing system |
-
2015
- 2015-09-23 CN CN201510611269.8A patent/CN106547685A/zh active Pending
-
2016
- 2016-07-21 WO PCT/CN2016/090848 patent/WO2017050007A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034019A (zh) * | 2023-10-09 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 一种业务处理方法、装置、电子设备和存储介质 |
CN117034019B (zh) * | 2023-10-09 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 一种业务处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017050007A1 (zh) | 2017-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103036692B (zh) | 针对it支撑网生成网络拓扑的方法及装置 | |
CN104809347B (zh) | 一种控制显示器突出区域显示的实现方法 | |
CN106598988A (zh) | 一种数据处理方法和设备 | |
CN103840975B (zh) | 一种光纤系统的管理方法及装置 | |
CN104077735B (zh) | 在线考场可视化监测系统 | |
CN103324401B (zh) | 报表的图表显示方法及装置 | |
CN106547685A (zh) | 一种基于自动生成序列图的测试方法及装置 | |
CN110069413A (zh) | 测试数据通信、测试方法、装置、设备及存储介质 | |
CN112435337A (zh) | 一种景观可视域分析方法及系统 | |
CN103679400B (zh) | 地铁图展示项目进度的方法和系统 | |
CN114168767A (zh) | 一种数据标注方法、装置、系统、设备以及存储介质 | |
CN110516129A (zh) | 一种数据处理方法及装置 | |
CN109697235A (zh) | 一种思维导图的自动转化方法及储存介质 | |
CN105278909B (zh) | 多gis显示端图标数据显示方法和系统 | |
CN104931754B (zh) | 三维波形数据的异常检测方法 | |
CN106501644A (zh) | 一种变电站测控装置测试可视化及测试信息提取方法 | |
CN106503070B (zh) | 一种发动机试验数据三维瀑布图重建方法 | |
CN112883523B (zh) | 汽车总线拓扑图展示方法、装置和设备 | |
CN109462283A (zh) | 智能变电站单个设备流量监控方法及系统 | |
CN206021352U (zh) | 应急物资放置柜及应急物资统计系统 | |
CN112084288A (zh) | 一种地图可视化管理装置 | |
CN206400006U (zh) | 一种在线电网谐波监测装置 | |
CN113448804A (zh) | 一种设备状态数据处理方法及系统 | |
CN109933262A (zh) | 一种gif截屏方法及其装置 | |
CN205899526U (zh) | 一种led灯杆屏画面同步系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170929 Address after: 201203 Shanghai Free Trade Zone pilot blue wave Road No. 889 B block 205 Applicant after: Shanghai Zhongxing Software Co., Ltd. Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building Applicant before: ZTE Corporation |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170329 |