掌桥专利:专业的专利平台
掌桥专利
首页

通信测试方法、装置、通信设备及存储介质

文献发布时间:2023-06-19 11:26:00


通信测试方法、装置、通信设备及存储介质

技术领域

本申请属于计算机技术领域,尤其涉及一种通信测试方法、装置、通信设备及存储介质。

背景技术

目前,在通过测试工具对被测系统进行测试时,被测系统常常会向测试工具交织返回被测系统的运行日志数据和测试响应数据,通过这些返回的交织混合的数据,常常难以准确地追踪测试过程,难以分析测试情况。

发明内容

有鉴于此,本申请实施例提供了通信测试方法、装置、通信设备及存储介质,以解决现有技术中如何清晰准确地记录测试过程的问题。

本申请实施例的第一方面提供了一种通信测试方法,包括:

获取测试指令,将所述测试指令的信息记录至第一日志文件中,并发送对应的测试报文至被测系统;

获取所述被测系统返回的测试数据,并根据预设报文格式的信息,从所述测试数据中确定出测试响应报文;其中,所述预设报文格式的信息为预设的所述测试响应报文的格式信息;

若所述测试响应报文存在异常,则记录对应的异常响应信息至所述第一日志文件。

本申请实施例的第二方面提供了一种通信测试装置,包括:

测试指令获取单元,用于获取测试指令,将所述测试指令的信息记录至第一日志文件中,并发送对应的测试报文至被测系统;

测试数据获取单元,用于获取所述被测系统返回的测试数据,并根据预设报文格式的信息,从所述测试数据中确定出测试响应报文;其中,所述预设报文格式的信息为预设的所述测试响应报文的格式信息;

第一记录单元,用于若所述测试响应报文存在异常,则记录对应的异常响应信息至所述第一日志文件。

本申请实施例的第三方面提供了一种通信设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得通信设备实现如所述通信测试方法的步骤。

本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得通信设备实现如所述通信测试方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在通信设备上运行时,使得通信设备执行上述第一方面所述的通信测试方法。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,由于在获取测试指令后,能够将该测试指令的信息记录至第一日志文件中,以及在发送测试指令对应的测试报文到被测系统,并获取到被测系统返回的测试数据后,能够根据预设报文格式信息,准确地从测试数据中分离出测试响应报文,并在该测试响应报文存在异常时,将该测试响应报文对应的异常响应信息记录至第一日志文件中,因此使得第一日志文件中能够清晰准确地记录测试过程的测试指令及其异常响应情况,避免测试数据中诸如被测系统的运行日志数据之类的其它数据的混扰,使得后续能够高效准确地追踪测试过程,准确地分析测试异常情况。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种通信测试方法的应用场景示意图;

图2是本申请实施例提供的一种测试客户端的结构示意图;

图3是本申请实施例提供的一种预设报文格式的示意图

图4是本申请实施例提供的一种通信测试方法的实现流程示意图;

图5是本申请实施例提供的一种第一日志文件的示意图;

图6是本申请实施例提供的一种第二日志文件的示意图;

图7是本申请实施例提供的一种通信测试装置的示意图;

图8是本申请实施例提供的通信设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

目前,在通过测试工具对被测系统进行测试时,被测系统常常会向测试工具交织串行返回被测系统的运行日志数据和测试响应数据。然而,通过这些返回的交织混合的数据,难以准确地追踪测试过程,难以分析测试情况。为了解决该技术问题,本申请实施例提供了一种通信测试方法、装置、通信设备及存储介质,通过在获取测试指令后,将该测试指令的信息记录至第一日志文件中,以及在发送测试指令对应的测试报文到被测系统,并获取到被测系统返回的测试数据后,能够根据预设报文格式信息,准确地从测试数据中分离出测试响应报文,并在该测试响应报文存在异常时,将该测试响应报文对应的异常响应信息记录至第一日志文件中,因此使得第一日志文件中能够清晰准确地记录测试过程的测试指令及其异常响应情况,避免测试数据中诸如被测系统的运行日志数据之类的其它数据的混扰,使得后续能够高效准确地追踪测试过程,准确地分析测试异常情况。

图1示出了本申请实施例通信测试方法的一种应用场景示意图,包括测试工具与被测系统。其中,测试工具与被测系统之间能够以全双工串口通信的方式进行通信。当测试工具通过上行链路向被测系统发起测试指令后,被测系统通过下行链路交织返回被测系统的运行日志数据(log)及与测试指令相对应的测试响应报文。即,测试工具从串口通信链路接收到的数据为被测系统的运行日志数据以及测试响应报文的混合字节流。

示例性地,本申请实施例中的测试工具可以为运行在通信设备上的测试客户端,作为示例而非限定,该测试客户端的结构示意图可以如图2所示。其中,该测试客户端包括人机交互界面(User Interface,UI)和业务后台,这两者间可以通过QT(一种应用程序开发框架)中的信号/槽(Signal-Slot)机制进行通信。其中,该业务后台包括参数管理模块、测试引擎模块和状态监控模块。具体地,参数管理模块用于实现测试参数设置、读取、校验和传递。测试引擎用于根据测试参数启动测试任务,该测试引擎模块具体可以包括协议封装层、串口读写层、基础库层及硬件驱动层。状态监控模块用于测试状态监控,具体包括:接收测试任务的测试结果并更新到UI界面进行显示;处理测试任务的异常情况,例如在出现串口链路中断、测试日志链路异常等情况时,终止测试任务;保护测试进程不受用户误操作干扰中断,例如可以通过该状态监控模块进行UI控件锁定、退出确认的设置。

示例性地,图3示出了本申请实施例的一种预设报文格式的示意图,该预设报文格式为本申请实施例中测试报文和测试响应报文的格式。该预设报文格式依次包括帧头字段(Frame head)、协议头长度信息字段(Header length)、协议头字段(Header)、协议头校验字段(Header check)、数据段字段(Data)、数据校验字段(Data check)。其中,帧头字段标识数据帧的开始,为固定的字符信息,例如0xDB。协议头长度信息字段为固定的长度(例如一个字节),该协议头长度信息字段用于记录协议头字段的长度。协议头字段可以包括设备类型,命令号,设备标识号,数据体长度,命令属性等信息。数据段字段的长度由协议头字段中的数据体长度信息决定,包括了具体的响应数据内容。协议头校验字段、数据校验字段均为固定的长度,例如一个字节的长度,记录了有关循环冗余校验(cyclie redundancycheck,CRC)校验的相关参数信息。

图4示出了本申请实施例提供的一种通信测试方法的流程示意图,该通信测试方法的执行主体为通信设备,包括但不限于个人电脑、笔记本电脑、服务器、机器人等。进一步地,该通信测试方法的执行主体具体为运行于通信设备中的测试工具,也可以称为测试客户端。如图4所示的通信测试方法详述如下:

在S401中,获取测试指令,将所述测试指令的信息记录至第一日志文件中,并发送对应的测试报文至被测系统。

本申请实施例中,测试指令为指示被测系统执行指定的测试动作的指令。例如,指示被测系统进行复位动作的指令。本申请实施例的第一日志文件为专门用于记录测试流程(包括测试过程的各个测试指令及其响应情况)的日志文件,也可以将其称为测试日志文件。本申请实施例中的被测系统为当前待测试的系统。在一个实施例中,本申请实施例的通信测试方法的执行主体为通信设备的测试客户端,而该被测系统可以为与该测试客户端位于同一个通信设备中的其它软件系统;或者,该被测系统也可以为位于另一个通信设备中的系统。

本申请实施例中,测试指令的获取,可以通过获取当前用户操作测试客户端的指定按钮或者指定触控区域而得到,也可以根据提前编写的测试程序,按照一定的顺序或者时间获取该测试程序对应步骤的指令代码而得到。

在获取到该测试指令后,将测试指令的名称、描述信息或者编号等测试指令的信息记录至提前创建的第一日志文件中。在将测试指令的信息记录至第一日志文件的同时,按照预设报文格式的信息,将该测试指令转换为与被测系统约定好的预设报文格式,得到当前测试指令对应的测试报文,并将该测试报文发送至被测系统。例如,若当前的测试指令为指示被测系统执行复位动作的指令,则可以将“执行复位动作”作为测试指令的描述信息记录至第一日志文件中,并将该测试指令转换为对应的测试报文并发送至被测系统。进一步地,可以将当前的时间戳信息(具体可以为发送测试报文时本端的系统时间)与该测试指令的信息一同记录至该第一日志文件中,以方便后续的日志信息查找。

在S402中,获取所述被测系统返回的测试数据,并根据预设报文格式信息,从所述测试数据中确定出测试响应报文;其中,所述预设报文格式信息为预设的所述测试响应报文的格式信息。

在向被测系统发送测试报文之后,被测系统向测试客户端返回测试数据,如图1所示,该测试数据包括:被测系统的运行日志数据(log)和测试响应报文。其中,被测系统的运行日志数据为被测系统根据测试指令的指示执行测试动作而生成的运行日志数据;测试响应报文为被测系统向测试客户端反馈测试指令的接收情况或者执行结果的响应报文,该测试响应报文的格式与测试报文的格式一致,均为测试客户端与被测系统提前约定好的预设报文格式。本申请实施例中,预设报文格式的信息即为预设的测试响应报文的格式信息。

在获取到被测系统返回的混合了被测系统的运行日志数据和测试响应报文的测试数据后,根据预设报文格式的信息,从测试数据中检测出符合预设报文格式的测试数据,将这些符合预设报文格式的测试数据确定为测试响应报文,从而实现被测系统的运行日志数据与测试响应报文的准确分离。

在S403中,若所述测试响应报文存在异常,则记录对应的异常响应信息至所述第一日志文件。

在准确从测试数据中区分出测试响应报文后,若检测接收测试响应报文的过程存在异常,则将对应的异常响应信息记录至第一日志文件中。具体地,该异常响应信息为反映当前被测系统对步骤S401中的测试指令响应异常的信息,因此,该异常响应信息在第一日志文件中的记录位置与该测试指令的信息在第一日志文件中的记录信息紧邻,例如,位于该测试指令的信息的同一行或者下一行,以便之后能够在查看第一日志文件时,清晰准确地获悉测试指令及其对应异常响应的情况。示例性地,该异常响应信息可以为“接收响应异常”“文件不存在”“校验失败”等表示具体异常原因的文字信息。

在一个实施例中,除了测试响应报文存在异常时,记录对应的异常响应信息至第一日志文件外,在测试响应报文被正常接收后,也同样在第一日志文件中,将表示当前响应成功的信息对应记录至该测试指令的信息的紧邻位置。在另一个实施例中,对于一条测试指令,只在其对应的测试响应报文存在异常时,在第一日志文件中对应记录该测试指令的异常响应信息,而当该测试响应报文正常时,说明该测试指令响应正常,无需在第一日志文件中记录该测试指令相关的响应信息,即,响应正常的测试指令无需在第一日志文件对应的位置中追加记录相关的响应信息,即默认为响应正常,从而能够减少第一日志文件中的数据量,节省存储空间。

可选地,上述的获取测试指令,包括:

获取测试启动命令,创建并打开第一日志文件;

根据预设的测试任务步骤,依次确定当前的测试指令;其中所述测试任务步骤包括:中断被测系统正在运行的脚本;上传待运行的脚本;指示所述被测系统运行所述待运行的脚本;

对应地,所述通信测试方法还包括:

若检测到停止测试命令,则关闭所述第一日志文件。

测试启动命令为用户在测试客户端上配置好相关的测试配置信息后,进行预设的用户交互操作(例如按下表示“开始测试”的按钮),生成的用于指示测试客户端开始执行预设的测试任务的命令。其中,该测试配置信息可以包括串口号、串口数据读取的超时时限、响应数据接收的超时时限,测试脚本路径、日志文件保存路径、测试时间、测试次数、测试时间间隔、测试过程的重启次数等信息。在测试客户端获取到该测试启动命令后,在指定的日志文件保存路径中,创建第一日志文件,并打开该第一日志文件,以便于后续将相关的信息记录至该第一日志文件中。

在获取到测试启动命令后,可以根据预设的测试任务步骤,依次确定当前的测试指令。该测试任务步骤可以提前编写在指定的程序文件中,通过运行该程序文件即可依次运行各个测试任务步骤。具体地,该测试任务步骤可以包括:中断被测系统正在运行的脚本;上传待运行的脚本;指示所述被测系统运行所述待运行的脚本。其中,脚本为指示被测系统完成系列动作的文件,被测系统通过运行脚本,能够执行系列动作。待运行的脚本即为描述了当前需要被测系统完成的测试动作序列的脚本文件。示例性地,设被测系统为机器人系统,则该测试动作序列可以包括:机器人向前走;遇到障碍时蜂鸣器响起,并向后退让。测试客户端可以通过先中断被测系统正在运行的脚本,从而中断被测系统当前正在执行的动作,该正在执行的动作可以为上一轮的测试动作,或者为该被测系统在完成自身任务时自主执行的动作。之后,上传当前待运行的脚本至该被测系统,并指示被测系统运行该待运行的脚本,使得被测系统能够完成该待运行脚本所描述的测试动作序列。具体地,每个测试任务步骤对应一个或者多个测试指令,根据该测试任务步骤,即可按序确定当前的一个测试指令,接着,执行所述将所述测试指令的信息记录至第一日志文件中,并发送对应的测试报文至被测系统的步骤,以实现该测试任务步骤的执行;以及执行上述的步骤S402至步骤S403,实现测试响应报文的提取、判断及异常响应信息的记录,从而完成对当前的测试指令及其响应情况的记录。之后,返回执行所述根据预设的测试任务步骤,依次确定当前的测试指令的步骤及后续的步骤,继续获取下一个测试指令,继续该下一个测试指令的信息的记录、测试报文的发送、测试响应报文的确定及异常响应信息的记录。

在本申请实施例中,在获取测试启动命令,创建并打开第一日志文件之后的任意一个步骤中,若检测到用户发出的停止测试命令,则停止当前的测试任务,关闭该第一日志文件并进行存储。

本申请实施例中,由于能够在获取测试启动命令后,自动根据预设的测试任务步骤,确定当前的测试指令,以实现测试指令的自动确定及发送,因此能够实现测试流程的自动化,方便高效地对被测系统进行持续的压力测试。

可选地,在所述指示被测系统运行所述待运行的脚本之后,还包括:

若检测到重启指令,则重启所述被测系统,并重新返回执行所述中断被测系统正在运行的脚本的步骤及后续的步骤。

本申请实施例中,重启指令可以为用户当前发送的指示被测系统进行重启的指令,也可以为根据测试配置信息指定地在指定的某个时间点或者某次测试中自动生成的用于指示被测系统重启的指令。在检测到重启指令后,测试客户端可以通过生成该重启指令对应的测试指令,并通过上述的步骤S401的方式,将测试指令以测试报文的格式传送至被测系统,以使被测系统在获取到测试报文后进行重启,之后,返回执行预设的测试任务步骤中的终端被测系统正在运行的脚本的步骤及后续的步骤。

本申请实施例中,由于能够根据重启指令来重启被测系统,从而能够模拟被测系统在实际运行过程中可能出现的重启的情况,从而丰富测试场景,提高测试的准确性。

可选地,在所述步骤S401中,所述将所述测试指令的信息记录至第一日志文件中,包括:

将所述测试指令的信息及当前的时间戳信息对应记录至所述第一日志文件中;

对应地,在所述步骤S402的同时,还包括:

将所述测试数据中的被测系统的运行日志数据及其对应的时间戳信息记录至第二日志文件中,其中,所述被测系统的运行日志数据为所述测试数据中除所述测试响应报文以外的数据;

对应地,所述步骤S403,包括:

若所述测试响应报文存在异常,则记录对应的异常响应信息及当前的时间戳信息至所述第一日志文件中。

本申请实施例中,在步骤S401中,在获取到测试指令后,具体将测试指令的信息以及当前的时间戳信息对应记录至第一日志文件中。具体地,该当前的时间戳信息为即将发送该测试指令对应的测试报文时的系统时间。同样地,在检测到测试响应报文存在异常时,以检测到测试响应报文存在异常的系统时间作为当前的时间戳信息,并将该当前的时间戳信息以及对应的异常响应信息一同记录至第一日志文件中。具体地,可以当前的时间戳信息作为前缀,与该测试指令的信息或者异常响应信息一同记录至第一日志文件中,例如图5所示。

对应地,在能够根据预设报文格式的信息,区分出测试数据中的测试响应报文的同时,将除该测试响应报文以外的数据确定为被测系统的运行日志数据,将该被测系统的运行日志数据以及该被测系统的运行日志对应的时间戳信息一同记录至第二日志文件中,该第二日志文件为专门用于存储被测系统的运行日志数据的日志文件,也可以称为被测系统运行日志文件。具体地,以获取到该被测系统的运行日志数据时的系统时间记录作为当前对应的时间戳信息,以该时间戳信息作为前缀,与该被测系统的运行日志数据一同记录至第二日志文件中,如图6所示。

本申请实施例中,由于能够在区分出测试数据中的测试响应报文和被测系统的运行日志数据后,将被测系统的运行日志数据记录至与第一日志文件区分开的第二日志文件中,从而使得被测系统的运行日志数据能够与测试指令的信息、异常响应信息分开记录,使得数据的记录更加清晰有序;并且,在将测试指令的信息、异常响应信息记录至第一日志文件,将被测系统的运行日志数据记录至至第二日志文件时,均对应记录各自的时间戳信息,使得之后在查阅第一日志文件及第二日志文件时,能够根据该时间戳信息,实现测试指令的信息及其响应信息与被测系统的运行日志数据的时间精确同步,即,使得测试人员能够根据第一日志文件中的测试指令的信息及异常响应信息对应的时间戳信息,快速准确地从第二日志文件中查找携带该对应时间戳信息的被测系统的运行日志数据,准确地追踪测试情况,提高了测试诊断效率。

可选地,上述的步骤S403,包括:

若接收所述测试响应报文超时或者所述测试响应报文存在错误信息,则确定所述测试响应报文存在异常,记录对应的异常响应信息至所述第一日志文件。

本申请实施例中,测试响应报文存在异常,包括接收测试响应报文超时,即在发送测试指令后的预设时长内,无法接收到对应的测试响应报文;以及包括:在获取到了部分或者全部测试响应报文后,判断该测试响应报文存在错误信息。若检测到存在上述的两种异常情况,均判定测试响应报文存在异常,并记录对应的异常响应信息至第一日志文件中。

可选地,上述的步骤S402,具体包括:

接收所述被测系统返回的测试数据;

将所述测试数据中符合所述预设报文格式的信息的数据确定为测试响应报文的数据;

若所述测试响应报文的协议头字段校验错误或者数据段字段校验错误,则确定所述测试响应报文存在错误信息。

本申请实施例中,测试客户端具体通过持续地读取来自被测系统的串口数据,以实现被测系统返回的测试数据的持续接收。

在接收到测试数据,即持续获取的串口数据后,根据预设报文格式的信息,检测当前的测试数据中是否存在符合预设报文格式的信息的数据,若存在,则将这些数据确定为属于测试响应报文的数据。并且,若根据该测试响应报文的数据,检测到测试响应报文的协议头字段校验错误,或者数据段字段校验错误时,确定该测试响应报文存在错误信息。即,本申请实施例的错误信息包括:协议头字段校验错误的信息,以及数据段字段校验错误的信息。

可选地,本申请实施例的步骤S402具体可以包括以下的流程:

A1:持续接收测试数据,若当前接收的测试数据中包含预设报文格式中的帧头字段的信息(例如0XDB),则确定当前开始接收到属于测试响应报文的数据,执行步骤A2;否则将当前接收的测试数据确定为被测系统的运行日志数据,将该被测系统的运行日志数据记录至第二日志文件中。

A2:将该帧头字段的信息之后继续接收到的测试数据判定为测试响应报文的协议头部分的数据,并对该协议头部分的数据的协议头字段进行CRC校验;若校验成功,则执行步骤A3;否则,判定当前的测试响应报文的协议头字段校验错误,确定该测试响应报文存在错误信息。具体地,该属于协议头部分的数据包括依次包括协议头长度信息字段以及协议头字段;该协议头长度信息字段为固定的长度(例如一个字节),用于记录协议头字段的长度信息,根据该协议头长度信息字段,可以准确地划分当前是否已完整读取了协议头部分的数据,若否,则继续读取,若是,则开始进行协议头字段的CRC校验。

A3:将协议头部分之后继续接收到的测试数据判定为数据段(data)字段的数据,并对该数据段字段进行CRC校验;若校验成功,则执行步骤A4;否则,判定当前的测试响应报文的数据段字段校验错误,确定该测试响应报文存在错误信息。具体地,上述的协议头内容字段中包含了数据段的长度信息,根据该数据段的长度信息,可以准确地划分当前是否已完整地读取了数据段部分的数据,若否,则继续读取,若是,则开始进行数据段字段的CRC校验。

A4:判定当前的测试响应报文接收完毕,并将数据段字段CRC校验后继续接收到的测试数据确定为被测系统的运行日志,记录至第二日志文件中。

本申请实施例中,由于能够根据预设报文格式的信息准确地划分出测试响应报文的数据,并在测试响应报文的协议头字段校验错误或者数据段字段校验错误时,能够判定该测试响应报文存在错误信息,以便后续根据该错误信息判段该测试响应报文异常,准确地记录对应的异常响应信息至第一日志文件中。

可选地,在A4中,完整接收到测试响应报文后,解析该测试响应报文的数据段的内容,若该数据段的内容包含表示被测系统无法运行该测试指令的信息,也同样确定当前测试响应报文存在错误信息,并在之后记录对应的异常响应信息至第一日志文件中。

可选地,所述步骤S403,包括:

若在发送所述测试报文后的预设时长内,无法从所述测试数据中确定出与所述预设报文格式的信息相符的测试数据,则判定接收所述测试响应报文超时,记录对应的异常响应信息至所述第一日志文件。

本申请实施例中,若在发送测试报文后的预设时长内,无法从测试数据中确定出与预设报文格式的信息相符的测试数据,例如,在上述的步骤A1中无法获取到与预设报文格式中的帧头信息相符的测试数据,或者在接收到帧头信息之后无法继续接收到后续的协议头部分的数据,或者在接收到协议头的数据之后无法接收到后续的数据段部分的数据,则均可以判定当前等待接收测试响应报文超时,记录对应的异常响应信息(例如:“报文响应超时”的文件信息)至第一日志文件中。

本申请实施例中,由于能够准确地判定当前接收测试响应报文超时的情况,并记录对应的异常响应信息至第一日志文件中,因此能够进一步准确地记录测试指令的异常响应情况,以便后续准确地进行测试结果分析。

本申请实施例中,由于在获取测试指令后,能够将该测试指令的信息记录至第一日志文件中,以及在发送测试指令对应的测试报文到被测系统,并获取到被测系统返回的测试数据后,能够根据预设报文格式信息,准确地从测试数据中分离出测试响应报文,并在该测试响应报文存在异常时,将该测试响应报文对应的异常响应信息记录至第一日志文件中,因此使得第一日志文件中能够清晰准确地记录测试过程的测试指令及其异常响应情况,避免测试数据中诸如被测系统的运行日志数据之类的其它数据的混扰,使得后续能够高效准确地追踪测试过程,准确地分析测试异常情况。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

图7示出了本申请实施例提供的一种通信测试装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:

该通信测试装置包括:测试指令获取单元71、测试数据获取单元72、第一记录单元73。其中:

测试指令获取单元71,用于获取测试指令,将所述测试指令的信息记录至第一日志文件中,并发送对应的测试报文至被测系统。

测试数据获取单元72,用于获取所述被测系统返回的测试数据,并根据预设报文格式的信息,从所述测试数据中确定出测试响应报文;其中,所述预设报文格式的信息为预设的所述测试响应报文的格式信息。

第一记录单元73,用于若所述测试响应报文存在异常,则记录对应的异常响应信息至所述第一日志文件。

可选地,所述测试指令获取单元71,包括启动命令获取模块和测试指令确定模块:

启动命令获取模块,用于获取测试启动命令,创建并打开第一日志文件;

测试指令确定模块,用于根据预设的测试任务步骤,依次确定当前的测试指令;其中所述测试任务步骤包括:中断被测系统正在运行的脚本;上传待运行的脚本;指示所述被测系统运行所述待运行的脚本;

对应地,所述通信测试装置还包括:

停止单元,用于若检测到停止测试命令,则关闭所述第一日志文件。

可选地,所述通信测试装置还包括:

重启单元,用于若检测到重启指令,则重启所述被测系统,并重新返回执行所述中断被测系统正在运行的脚本的步骤及后续的步骤。

可选地,在所述测试指令获取单元中,所述将所述测试指令的信息记录至第一日志文件中,具体包括:将所述测试指令的信息及当前的时间戳信息对应记录至所述第一日志文件中;

对应地,所述通信测试装置还包括:

第二记录单元,用于将所述测试数据中的被测系统的运行日志数据及其对应的时间戳信息记录至第二日志文件中,其中,所述被测系统的运行日志数据为所述测试数据中除所述测试响应报文以外的数据;

对应地,所述第一记录单元73,具体用于若所述测试响应报文存在异常,则记录对应的异常响应信息及当前的时间戳信息至所述第一日志文件中。

可选地,所述第一记录单元73,具体用于若接收所述测试响应报文超时或者所述测试响应报文存在错误信息,则确定所述测试响应报文存在异常,记录对应的异常响应信息至所述第一日志文件。

可选地,所述测试数据获取单元72,具体用于接收所述被测系统返回的测试数据;将所述测试数据中符合所述预设报文格式的信息的数据确定为测试响应报文的数据;若所述测试响应报文的协议头字段校验错误或者数据段字段校验错误,则确定所述测试响应报文存在错误信息。

可选地,所述第一记录单元73,具体用于若在发送所述测试报文后的预设时长内,无法从所述测试数据中确定出与所述预设报文格式的信息相符的测试数据,则判定接收所述测试响应报文超时,记录对应的异常响应信息至所述第一日志文件。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图8是本申请一实施例提供的通信设备的示意图。如图8所示,该实施例的通信设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如通信测试程序。所述处理器80执行所述计算机程序82时实现上述各个通信测试方法实施例中的步骤,例如图1所示的步骤S401至S403。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图7所示单元71至73的功能。

示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述通信设备8中的执行过程。例如,所述计算机程序82可以被分割成测试指令获取单元、测试数据获取单元、第一记录单元,各单元具体功能如下:

测试指令获取单元,用于获取测试指令,将所述测试指令的信息记录至第一日志文件中,并发送对应的测试报文至被测系统。

测试数据获取单元,用于获取所述被测系统返回的测试数据,并根据预设报文格式的信息,从所述测试数据中确定出测试响应报文;其中,所述预设报文格式的信息为预设的所述测试响应报文的格式信息。

第一记录单元,用于若所述测试响应报文存在异常,则记录对应的异常响应信息至所述第一日志文件。

所述通信设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述通信设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是通信设备8的示例,并不构成对通信设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述通信设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器81可以是所述通信设备8的内部存储单元,例如通信设备8的硬盘或内存。所述存储器81也可以是所述通信设备8的外部存储设备,例如所述通信设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述通信设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述通信设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/通信设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/通信设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 通信测试方法、装置、通信设备及存储介质
  • 通信设备测试方法、装置、存储介质及终端
技术分类

06120112923332