CN117294630A - 通信协议测试方法、装置、计算机设备及存储介质 - Google Patents
通信协议测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117294630A CN117294630A CN202311183175.6A CN202311183175A CN117294630A CN 117294630 A CN117294630 A CN 117294630A CN 202311183175 A CN202311183175 A CN 202311183175A CN 117294630 A CN117294630 A CN 117294630A
- Authority
- CN
- China
- Prior art keywords
- communication
- target
- data
- communication protocol
- protocol
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种通信协议测试方法、装置、计算机设备及计算机可读存储介质。方法包括:基于通信对端发送的通信数据识别通信对端所使用的目标通信协议;确定目标通信端程序;目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与目标通信协议相对应、且用于与通信对端实现通信的通信端程序;通过目标通信端程序生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据;向通信对端发送测试数据,并接收通信对端响应测试数据返回的应答数据;分析应答数据得到目标通信协议的测试结果。采用本申请,能够降低通信协议测试的成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种通信协议测试方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,通信协议测试技术也得到了广泛应用。通信协议测试是指针对通信协议进行验证和评估的一系列技术和方法。通过对通信协议进行测试,可以发现并解决潜在的问题,确保通信能够顺利进行。
传统技术中,针对每一种通信协议都编写和维护特定的自动化测试脚本或工具,通过编写的自动化测试脚本或工具对相应的通信协议进行测试。显然,这种方式无法避免成本高的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种通信协议测试方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品,能够降低成本。
第一方面,本申请提供了一种通信协议测试方法,包括:
基于通信对端发送的通信数据识别通信对端所使用的目标通信协议;
确定目标通信端程序;目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与目标通信协议相对应、且用于与通信对端实现通信的通信端程序;
通过目标通信端程序生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据;
向通信对端发送测试数据,并接收通信对端响应测试数据返回的应答数据;
分析应答数据得到目标通信协议的测试结果。
第二方面,本申请提供了一种通信协议测试装置,包括:
识别模块,用于基于通信对端发送的通信数据识别通信对端所使用的目标通信协议;
确定模块,用于确定目标通信端程序;目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与目标通信协议相对应、且用于与通信对端实现通信的通信端程序;
生成模块,用于通过目标通信端程序生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据;
发送模块,用于向通信对端发送测试数据,并接收通信对端响应测试数据返回的应答数据;
分析模块,用于分析应答数据得到目标通信协议的测试结果。
第三方面,本申请提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行该计算机程序时实现上述的方法中的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法中的步骤。
第五方面,本申请提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述的方法中的步骤。
上述通信协议测试方法、装置、计算机设备、计算机可读存储介质及计算机程序产品,基于通信对端发送的通信数据识别通信对端使用的目标通信协议;由于预先集成了多个通信协议分别对应的通信端程序,故而在识别出目标通信协议后,能够通过目标通信协议相对应的、且用于与通信对端实现通信的目标通信端程序,生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据。进而向通信对端发送测试数据,以对目标通信协议进行测试,分析通信对端响应测试数据返回的应答数据,得到目标通信协议的测试结果。无需针对每个通信协议编写特定的脚本,有效地降低了成本。
附图说明
图1为本申请实施例提供的一种通信协议测试方法的应用环境图;
图2为本申请实施例提供的一种通信协议测试方法的流程示意图;
图3为本申请实施例提供的一种通信客户端与智能测试端通信的示意图;
图4为本申请实施例提供的一种通信服务端与智能测试端通信的示意图;
图5为本申请实施例提供的一种通信协议测试装置的结构框图;
图6为本申请实施例提供的一种计算机设备的内部结构图;
图7为本申请实施例提供的另一种计算机设备的内部结构图;
图8为本申请实施例提供的一种计算机可读存储介质的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的通信协议测试方法,可以应用于如图1所示的应用环境中。其中,通信对端102与智能测试端104通过物理介质连接,基于通信协议进行通信。智能测试端104中的客户端单元中预先集成多个通信协议分别对应的客户端程序;智能测试端104中的服务端单元中预先集成多个通信协议分别对应的服务端程序。具备客户端单元和服务端单元的智能测试端既可以作为客户端也可以作为服务端。通信对端102作为通信协议这一待测对象的实体,既可以包括通信客户端也可以包括通信服务端。任意的通信设备都可以作为智能测试端104的通信对端,比如,通信设备1……通信设备n。
智能测试端104可以基于通信对端102发送的通信数据识别通信对端102所使用的目标通信协议;智能测试端104可以确定目标通信端程序;目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与目标通信协议相对应、且用于与通信对端102实现通信的通信端程序;智能测试端104可以通过目标通信端程序生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据;向通信对端102发送测试数据,并接收通信对端102响应测试数据返回的应答数据;智能测试端104可以分析应答数据得到目标通信协议的测试结果。
其中,通信对端102可以为终端或服务器。智能测试端104可以包括终端或服务器中的至少一种。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,本申请实施例提供了一种通信协议测试方法,以该方法应用于图1中的智能测试端104为例进行说明。该方法包括以下步骤:
S202、基于通信对端发送的通信数据识别通信对端所使用的目标通信协议。
其中,通信对端是指待与本端建立通信以进行通信协议测试的另一端。通信对端为目标通信协议的客户端或服务端。目标通信协议是指待测试的通信协议。通信协议是指在通信过程中用于约定和规范信息交换的规则和规定集合。通信协议定义了通信双方之间的通信格式、数据的传输方式、错误处理机制以及通信过程中的各种控制和管理操作。通信协议就是被测对象。
可以理解,智能测试端可以作为目标通信协议的客户端或服务端与通信对端建立通信,而智能测试端与通信对端之间交互的请求数据和响应数据能够反映目标通信协议的可靠性和稳定性等,进而能够完成对目标通信协议的测试。
在一些实施例中,物理介质是连接智能测试端与通信对端之间的实体,可以是电线、光纤、无线电波等。具体选用哪种物理介质实现通信,取决于通信对端,这也要求智能测试端具备物理介质对应的物理接口。
在一些实施例中,通信对端是指用于实现信息传输和通信的硬件设备或装置,可以是通信服务端或通信客户端。可以理解,智能测试端也具备作为客户端和服务端的能力。通信对端就是被测对象的实体。
在一些实施例中,智能测试端可以获取通信对端发送的通信数据。
在一些实施例中,智能测试端可以获取通信客户端发送的第一通信数据。此时,通信对端为目标通信协议的客户端。智能测试端可以作为用于在通信客户端发起通信时提供响应的服务端,即,目标通信协议的服务端。可以理解,第一通信数据实际上是一种请求数据。
在一些实施例中,智能测试端可以获取通信服务端发送的第二通信数据。此时,通信对端为目标通信协议的服务端。智能测试端可以作为用于向通信服务端发起通信的客户端,即,目标通信协议的客户端。通信服务端用于对智能测试端提供响应。可以理解,第二通信数据实际上是一种响应数据。
在一些实施例中,智能测试端可以对通信对端发送的通信数据进行分类处理,以识别通信对端所使用的目标通信协议。其中,分类处理可以但不限于是文本分类处理。
在一些实施例中,在确定通信对端为通信服务端的情况下,智能测试端可以向通信对端发送至少一个伪数据,在获取到通信对端发送的第二通信数据后,将第二通信数据针对的目标伪数据对应的通信协议作为目标通信协议。其中,至少一个伪数据分别对应不同的通信协议。目标伪数据是指至少一个伪数据中通信对端针对性发出第二通信数据的伪数据。
S204、确定目标通信端程序;目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与目标通信协议相对应、且用于与通信对端实现通信的通信端程序。
其中,目标通信端程序是用于实现目标通信协议的与通信对端相对应的另一通信端的功能程序。目标通信协议的通信端包括目标通信协议的客户端和服务端。两端分别充当使用通信协议通信过程中的请求方角色和响应方角色。
在一些实施例中,智能测试端中预先集成有多个通信协议分别对应的客户端和服务端。智能测试端可以根据通信对端的通信方角色针对性地选择本端的通信方角色。
在一些实施例中,智能测试端在获取到通信对端发送的第一通信数据的情况下,识别通信对端所使用的目标通信协议,确定通信对端为目标通信协议的通信客户端。从预先集成的多个通信协议分别对应的服务端程序中确定目标通信协议对应的目标服务端程序。
在一些实施例中,智能测试端可以通过至少一个通信协议分别对应的客户端程序向通信对端发送伪数据,并在获取到通信对端发送的第二通信数据的情况下,确定通信对端所使用的目标通信协议,并确定通信对端为目标通信协议的通信服务端。
在一些实施例中,智能测试端可以对通信对端发送的第二通信数据进行分类处理,识别通信对端所使用的目标通信协议。从预先集成的多个通信协议分别对应的客户端程序中确定给出目标通信协议对应的目标客户端程序。
在一些实施例中,智能测试端可以将第二通信数据针对的目标伪数据对应的通信协议作为目标通信协议。将生成目标伪数据的客户端程序作为目标客户端程序。
S206、通过目标通信端程序生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据。
在一些实施例中,智能测试端可以根据针对目标通信协议预设的多个测试项,确定目标协议的测试项。
在一些实施例中,智能测试端可以根据通信对端发送的通信数据确定目标通信协议存在的异常情况。从预设的多个测试项中确定出与异常情况对应的测试项,得到目标通信协议的测试项。
S208、向通信对端发送测试数据,并接收通信对端响应测试数据返回的应答数据;分析应答数据得到目标通信协议的测试结果。
其中,目标通信协议的测试结果用于表征目标通信协议的性能。
在一些实施例中,测试数据可以包括状态码或请求参数。不同的测试项可以对应不同的状态码或不同的请求参数。
在一些实施例中,通信对端为通信客户端。测试数据可以是一种错误响应的伪数据。此时,测试数据用于模拟服务端处理通信数据时发生错误,无法成功响应。智能测试端可以发送包括错误状态码、错误信息和错误信息的描述等内容的测试数据,以告知客户端请求无法完成。通信对端可以根据测试数据表征的错误类型采取相应的错误处理措施,向智能测试端返回应答数据。
在一些实施例中,通信对端为通信服务端。测试数据可以是请求参数存在错误的伪数据。此时,测试数据用于模拟客户端发出的数据中请求参数错误,比如,格式错误、缺少必要参数、参数类型不匹配等。通信对端针对测试数据返回的应答数据中包括有关错误的信息,比如,返回一个状态码,提示智能测试端请求参数有误。
在一些实施例中,智能测试端中存在智能测试系统。智能测试系统用于实现本申请实施例提供的方法。智能测试系统是指用于实现协议分析、协议测试的人工智能系统。当通信对端作为通信客户端时,智能测试系统被动接收通信对端的信息,然后分析通信对端发送的第一通信数据,也就是分析目标通信协议,接着启动与其进行通信的目标通信协议对应的目标服务端程序,建立通信。当通信对端作为通信服务端时,通信对端并不会主动向智能测试系统发送通信数据,智能测试系统可以向通信对端发送伪数据,在获取到通信对端返回的第二通信数据时,确定通信对端所使用的目标通信协议,接着通过与其进行通信的目标通信协议对应的目标客户端程序,建立通信。
在一些实施例中,智能测试系统包括协议识别单元、客户端单元和服务端单元。其中,协议识别单元用于识别通信对端所使用的目标通信协议。客户端单元中预先集成多个通信协议分别对应的客户端程序。服务端单元中预先集成多个通信协议分别对应的服务端程序。智能测试系统是基于多个分别对应不同通信协议的通信样本数据进行训练得到的。可以理解,训练出的智能测试系统具备自主识别通信对端发送的通信数据对应的通信协议,并通过该通信协议对应的通信端与通信对端进行通信的能力。
在一些实施例中,智能测试端可以收集不同的通信对端发送的通信数据或应答数据中的至少一种。智能测试系统可以基于收集的通信数据或应答数据中的至少一种进行自主迭代,无需额外编码维护。可以理解,本申请实施例提供的方法,不仅不需要针对每个通信协议编写自动化脚本,也不需要后续的编码维护。若要实现对通信协议的多种测试,只需修改设置相应的测试项即可,大大地降低了通信协议测试的成本。
可见,在本申请实施例中,基于通信对端发送的通信数据识别通信对端使用的目标通信协议;由于预先集成了多个通信协议分别对应的通信端程序,故而在识别出目标通信协议后,能够通过目标通信协议相对应的、且用于与通信对端实现通信的目标通信端程序,生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据。进而向通信对端发送测试数据,以对目标通信协议进行测试,分析通信对端响应测试数据返回的应答数据,得到目标通信协议的测试结果。无需针对每个通信协议编写特定的脚本,有效地降低了成本。
在一些实施例中,每个通信协议对应的通信端程序包括服务端程序;基于通信对端发送的通信数据识别通信对端所使用的目标通信协议,包括:接收通信对端发送的第一通信数据;第一通信数据是指通信对端发送的请求数据;基于第一通信数据识别通信对端所使用的目标通信协议;确定目标通信端程序,包括:从预先集成的多个通信协议分别对应的服务端程序中,确定与目标通信协议对应的目标服务端程序。
在一些实施例中,通信对端可以包括通信客户端。智能测试端可以对第一通信数据进行分类处理,识别通信客户端所使用的目标通信协议。从预先集成的多个通信协议分别对应的服务端程序中确定出目标通信协议对应的目标服务端程序。目标服务端程序用于对第一通信数据进行解析,得到第一解析结果。
在一些实施例中,智能测试端可以根据第一解析结果从预设的多个测试项中确定出目标通信协议的测试项。可以理解,通信对端作为对目标通信协议测试的实体,不同的通信对端发出的通信数据存在不同,根据对通信数据的解析结果针对性地选择测试项,能够准确地对目标通信协议进行测试。
在一些实施例中,智能测试端可以启动目标服务端程序,通过目标服务端程序解析第一通信数据,以及生成相应的测试数据。
可见,在本实施例中,通过接收通信对端发送的第一通信数据;基于第一通信数据识别通信对端所使用的目标通信协议;从预先集成的多个通信协议分别对应的服务端程序中,确定与目标通信协议对应的目标服务端程序,通过目标服务端程序作为与通信对端相对的服务端,建立通信,进而能够基于与通信对端的交互实现目标通信协议的测试,无需针对每个通信协议编写自动化脚本,有效地降低了成本。
在一些实施例中,基于第一通信数据识别通信对端所使用的目标通信协议,包括:通过文本分类模型对第一通信数据进行文本分类处理,确定通信对端所使用的目标通信协议。
在一些实施例中,文本分类模型是基于多个分别对应不同通信协议的通信样本数据进行训练得到的。可以理解,训练出的文本分类模型具备自主识别通信对端发送的通信数据对应的通信协议的能力。
在一些实施例中,智能测试端可以基于收集到的通信数据或应答数据对文本分类模型进行迭代更新。
可见,在本实施例中,通过文本分类模型对第一通信数据进行文本分类处理,确定通信对端所使用的目标通信协议,能够自主识别第一通信数据对应的目标通信协议,后续通过目标通信协议对应的目标服务端程序与通信对端建立通信,以实现目标通信协议的自主训练,无需针对每个通信协议编写自动化脚本,有效降低了成本。
在一些实施例中,方法还包括:在目标服务端程序未启动的情况下,获取在人机交互界面中输入的服务端指示信息;根据服务端指示信息启动目标服务端程序。
其中,服务端指示信息用于指示启动目标服务端程序。
在一些实施例中,人机交互界面中可以实时展示智能测试端与通信对端的通信情况。在测试人员观察到智能测试端接收到第一通信数据,但是没有启动目标服务端程序时,可以在人机交互界面中输入服务端指示信息。
在一些实施例中,如图3所示,提供了通信客户端与智能测试端通信的示意图。智能测试端通过目标服务端程序作为目标通信协议的服务端。
智能测试端通过监听服务端单元,对接收到的通信数据分析出目标通信协议,自动匹配一个符合目标通信协议的目标服务端程序,通过目标服务端程序与通信客户端建立通信进行目标通信协议的测试。
如果智能测试端没有启动符合目标通信协议的目标服务端程序,那么就可以通过浏览器与交互单元进行交互,浏览器将在人机交互界面中输入的服务端指示信息通知到交互单元,以指示智能测试端启动目标服务端程序去进行目标通信协议的测试。
智能测试端与通信客户端建立通信之后,智能测试端就会自主测试,并实时记录测试结果,测试人员可以通过浏览器访问智能测试端的交互单元,在人机交互界面中实时查看测试结果。
可见,在本实施例中,在目标服务端程序未启动的情况下,获取在人机交互界面中输入的服务端指示信息;根据服务端指示信息启动目标服务端程序,通过人机交互界面,可以便捷且准确地指示智能测试端与通信客户端通信以实现目标通信协议的测试。
在一些实施例中,每个通信协议对应的通信端程序包括客户端程序;基于通信对端发送的通信数据识别通信对端所使用的目标通信协议,包括:通过至少一个客户端程序使用对应的通信协议,向通信对端发送伪数据;在接收到通信对端返回的第二通信数据的情况下,确定第二通信数据所针对的目标伪数据,并将发送目标伪数据时所使用的通信协议确定为目标通信协议;第二通信数据是指通信对端针对目标伪数据发送的响应数据;确定目标通信端程序,包括:将发送目标伪数据的客户端程序确定为目标客户端程序。
在一些实施例中,通信对端可以包括通信服务端。智能测试端可以根据预先配置的接口信息,确定未发送第一通信数据的待通信设备。将待通信设备作为通信服务端。
在一些实施例中,智能测试端可以遍历多个通信协议,针对遍历至的通信协议,启动该通信协议对应的客户端程序使用该通信协议生成伪数据,将该伪数据发送至通信服务端,若接收到通信服务端针对该伪数据发送的第二通信数据,则确定该伪数据为目标伪数据,将该通信协议作为目标通信协议,并将该通信协议对应的客户端程序作为目标客户端程序。可以理解,在确定出目标客户端程序后,智能测试端可以停止遍历剩余的未遍历至的通信协议。
可见,在本实施例中,通过至少一个客户端程序使用对应的通信协议,向通信对端发送伪数据;在接收到通信对端返回的第二通信数据的情况下,确定第二通信数据所针对的目标伪数据,并将发送目标伪数据时所使用的通信协议确定为目标通信协议;将发送目标伪数据的客户端程序确定为目标客户端程序,通过目标客户端程序作为与通信对端相对的客户端,建立通信,进而能够基于与通信对端的交互实现目标通信协议的测试,无需针对每个通信协议编写自动化脚本,有效地降低了成本。
在一些实施例中,通过至少一个客户端程序使用对应的通信协议,向通信对端发送伪数据,包括:获取在人机交互界面中输入的协议指示信息;根据协议指示信息从多个通信协议中确定至少一个候选的通信协议;通过至少一个候选的通信协议分别对应的客户端程序,向通信对端发送伪数据。
在一些实施例中,协议指示信息可以包括通信服务端的互联网协议地址和端口、以及通信服务端所使用的通信协议。智能测试端可以根据协议指示信息中的互联网协议地址和端口确定通信服务端。智能测试端可以将协议指示信息中的通信协议作为候选的通信协议。
在一些实施例中,协议指示信息未必能够准确地指示一个通信协议。智能测试端可以从多个通信协议中确定出与协议指示信息相匹配的至少一个候选的通信协议。
在一些实施例中,如图4所示,提供了通信服务端与智能测试端通信的示意图。智能测试端通过目标客户端程序作为目标通信协议的客户端。
智能测试端可以主动向通信服务端发送信息,遍历所有协议,并期待与通信服务端建立通信,以进行下一步测试,能够在通信服务端的通信协议未知的情况下,实现测试。
如果智能测试端没有收到通信服务端的第二通信数据,那么测试人员就可以在浏览器呈现的人机交互界面中输入协议指示信息,通过浏览器告诉智能测试端的交互单元,需要怎样的客户端去进行通信协议测试。
建立通信之后,智能测试端就会自主测试,并实时记录测试结果,测试人员可以通过浏览器访问智能测试端的交互单元,在人机交互界面中实时查看测试结果。
可见,在本实施例中,获取在人机交互界面中输入的协议指示信息;根据协议指示信息从多个通信协议中确定至少一个候选的通信协议;通过至少一个候选的通信协议分别对应的客户端程序,向通信对端发送伪数据,通过人机交互界面,可以便捷且准确地指示候选的通信协议,无需遍历每个通信协议,节约了计算资源。
在一些实施例中,方法还包括:通过目标通信端程序对通信数据进行解析,得到解析结果;在解析结果表征目标通信协议存在异常情况的情况下,从预设的多个测试项中确定异常情况对应的测试项,得到目标通信协议的测试项。
在一些实施例中,智能测试端可以通过目标客户端程序对第一通信数据进行解析,得到第一解析结果。第一解析结果用于指示第一通信数据中每个字节的数据含义。根据第一解析结果分析在通信客户端使用目标通信协议的场景下存在的异常情况。智能测试端中预先针对每种异常情况设置了相应的测试项。故而从预设的测试项中查找到第一解析结果表征的各异常情况分别对应的测试项,得到目标通信协议的测试项。
在一些实施例中,智能测试端可以通过目标服务端程序对第二通信数据进行解析,得到第二解析结果。第二解析结果用于指示第二通信数据中每个字节的数据含义。根据第二解析结果分析在通信服务端使用目标通信协议的场景下存在的异常情况。智能测试端中预先针对每种异常情况设置了相应的测试项。故而从预设的测试项中查找到第二解析结果表征的各异常情况分别对应的测试项,得到目标通信协议的测试项。
可见,在本实施例中,通过目标通信端程序对通信数据进行解析,得到解析结果;在解析结果表征目标通信协议存在异常情况的情况下,从预设的多个测试项中确定异常情况对应的测试项,得到目标通信协议的测试项,通信对端作为对目标通信协议测试的实体,不同的通信对端发出的通信数据存在的异常不同,根据异常情况针对性地选择测试项,能够准确地对目标通信协议进行测试。
应该理解的是,虽然如上述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种通信协议测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个通信协议测试装置实施例中的具体限定可以参见上文中对于通信协议测试方法的限定,在此不再赘述。
如图5所示,本申请实施例提供了一种通信协议测试装置500,包括:
识别模块502,用于基于通信对端发送的通信数据识别通信对端所使用的目标通信协议;
确定模块504,用于确定目标通信端程序;目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与目标通信协议相对应、且用于与通信对端实现通信的通信端程序;
生成模块506,用于通过目标通信端程序生成符合目标通信协议的协议规范、且与目标通信协议的测试项匹配的测试数据;
发送模块508,用于向通信对端发送测试数据,并接收通信对端响应测试数据返回的应答数据;
分析模块510,用于分析应答数据得到目标通信协议的测试结果。
在一些实施例中,每个通信协议对应的通信端程序包括服务端程序;在基于通信对端发送的通信数据识别通信对端所使用的目标通信协议方面,识别模块502具体用于:
接收通信对端发送的第一通信数据;第一通信数据是指通信对端发送的请求数据;
基于第一通信数据识别通信对端所使用的目标通信协议;
在确定目标通信端程序方面,确定模块504具体用于:
从预先集成的多个通信协议分别对应的服务端程序中,确定与目标通信协议对应的目标服务端程序。
在一些实施例中,在基于第一通信数据识别通信对端所使用的目标通信协议方面,识别模块502具体用于:
通过文本分类模型对第一通信数据进行文本分类处理,确定通信对端所使用的目标通信协议。
在一些实施例中,确定模块504还用于:
在目标服务端程序未启动的情况下,获取在人机交互界面中输入的服务端指示信息;
根据服务端指示信息启动目标服务端程序。
在一些实施例中,每个通信协议对应的通信端程序包括客户端程序;在基于通信对端发送的通信数据识别通信对端所使用的目标通信协议方面,识别模块502具体用于:
通过至少一个客户端程序使用对应的通信协议,向通信对端发送伪数据;
在接收到通信对端返回的第二通信数据的情况下,确定第二通信数据所针对的目标伪数据,并将发送目标伪数据时所使用的通信协议确定为目标通信协议;第二通信数据是指通信对端针对目标伪数据发送的响应数据;
在确定目标通信端程序方面,确定模块504具体用于:
将发送目标伪数据的客户端程序确定为目标客户端程序。
在一些实施例中,在通过至少一个客户端程序使用对应的通信协议,向通信对端发送伪数据方面,识别模块502具体用于:
获取在人机交互界面中输入的协议指示信息;
根据协议指示信息从多个通信协议中确定至少一个候选的通信协议;
通过至少一个候选的通信协议分别对应的客户端程序,向通信对端发送伪数据。
在一些实施例中,确定模块504具体用于:
通过目标通信端程序对通信数据进行解析,得到解析结果;
在解析结果表征目标通信协议存在异常情况的情况下,从预设的多个测试项中确定异常情况对应的测试项,得到目标通信协议的测试项。
上述通信协议测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器,也可以以软件形式存储于计算机设备中的存储器,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储多个通信协议分别对应的通信端程序。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的通信协议测试方法中的步骤。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的通信协议测试方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏;该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6或图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,如图8所示提供了一种计算机可读存储介质的内部结构图,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种通信协议测试方法,其特征在于,包括:
基于通信对端发送的通信数据识别所述通信对端所使用的目标通信协议;
确定目标通信端程序;所述目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与所述目标通信协议相对应、且用于与所述通信对端实现通信的通信端程序;
通过所述目标通信端程序生成符合所述目标通信协议的协议规范、且与所述目标通信协议的测试项匹配的测试数据;
向所述通信对端发送所述测试数据,并接收所述通信对端响应所述测试数据返回的应答数据;
分析所述应答数据得到所述目标通信协议的测试结果。
2.根据权利要求1所述的方法,其特征在于,每个所述通信协议对应的通信端程序包括服务端程序;所述基于通信对端发送的通信数据识别所述通信对端所使用的目标通信协议,包括:
接收通信对端发送的第一通信数据;所述第一通信数据是指所述通信对端发送的请求数据;
基于所述第一通信数据识别所述通信对端所使用的目标通信协议;
所述确定目标通信端程序,包括:
从预先集成的多个通信协议分别对应的服务端程序中,确定与所述目标通信协议对应的目标服务端程序。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一通信数据识别所述通信对端所使用的目标通信协议,包括:
通过文本分类模型对所述第一通信数据进行文本分类处理,确定所述通信对端所使用的目标通信协议。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标服务端程序未启动的情况下,获取在人机交互界面中输入的服务端指示信息;
根据所述服务端指示信息启动所述目标服务端程序。
5.根据权利要求1所述的方法,其特征在于,每个所述通信协议对应的通信端程序包括客户端程序;所述基于通信对端发送的通信数据识别所述通信对端所使用的目标通信协议,包括:
通过至少一个所述客户端程序使用对应的通信协议,向通信对端发送伪数据;
在接收到所述通信对端返回的第二通信数据的情况下,确定所述第二通信数据所针对的目标伪数据,并将发送所述目标伪数据时所使用的通信协议确定为目标通信协议;所述第二通信数据是指所述通信对端针对所述目标伪数据发送的响应数据;
所述确定目标通信端程序,包括:
将发送所述目标伪数据的客户端程序确定为目标客户端程序。
6.根据权利要求5所述的方法,其特征在于,所述通过至少一个所述客户端程序使用对应的通信协议,向通信对端发送伪数据,包括:
获取在人机交互界面中输入的协议指示信息;
根据所述协议指示信息从多个通信协议中确定至少一个候选的通信协议;
通过所述至少一个候选的通信协议分别对应的所述客户端程序,向通信对端发送伪数据。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
通过所述目标通信端程序对所述通信数据进行解析,得到解析结果;
在所述解析结果表征所述目标通信协议存在异常情况的情况下,从预设的多个测试项中确定所述异常情况对应的测试项,得到所述目标通信协议的测试项。
8.一种通信协议测试装置,其特征在于,包括:
识别模块,用于基于通信对端发送的通信数据识别所述通信对端所使用的目标通信协议;
确定模块,用于确定目标通信端程序;所述目标通信端程序是从预先集成的多个通信协议分别对应的通信端程序中,确定的与所述目标通信协议相对应、且用于与所述通信对端实现通信的通信端程序;
生成模块,用于通过所述目标通信端程序生成符合所述目标通信协议的协议规范、且与所述目标通信协议的测试项匹配的测试数据;
发送模块,用于向所述通信对端发送所述测试数据,并接收所述通信对端响应所述测试数据返回的应答数据;
分析模块,用于分析所述应答数据得到所述目标通信协议的测试结果。
9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311183175.6A CN117294630A (zh) | 2023-09-13 | 2023-09-13 | 通信协议测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311183175.6A CN117294630A (zh) | 2023-09-13 | 2023-09-13 | 通信协议测试方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117294630A true CN117294630A (zh) | 2023-12-26 |
Family
ID=89252782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311183175.6A Pending CN117294630A (zh) | 2023-09-13 | 2023-09-13 | 通信协议测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294630A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118573746A (zh) * | 2024-08-01 | 2024-08-30 | 深圳市智安新能源科技有限公司 | 基于自主移动机器人的充电通信转换方法、装置 |
-
2023
- 2023-09-13 CN CN202311183175.6A patent/CN117294630A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118573746A (zh) * | 2024-08-01 | 2024-08-30 | 深圳市智安新能源科技有限公司 | 基于自主移动机器人的充电通信转换方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597047B (zh) | 测试方法、装置、电子设备和计算机可读介质 | |
CN107436844B (zh) | 一种接口用例合集的生成方法及装置 | |
CN108255701B (zh) | 场景测试方法及移动终端 | |
CN112035344A (zh) | 多场景测试方法、装置、设备和计算机可读存储介质 | |
CN114116480A (zh) | 应用程序测试覆盖率的确定方法、装置、介质及设备 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN117294630A (zh) | 通信协议测试方法、装置、计算机设备及存储介质 | |
CN112084114B (zh) | 用于测试接口的方法和装置 | |
CN112379967B (zh) | 模拟器检测方法、装置、设备及介质 | |
CN112882948A (zh) | 一种应用的稳定性测试方法、装置、系统及存储介质 | |
CN111190824A (zh) | 监测方法、装置、终端设备及存储介质 | |
CN113704079A (zh) | 基于Protobuf的接口测试方法和装置 | |
CN112579428A (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN113010587B (zh) | 数据源配置方法、装置、终端、服务器及介质 | |
CN115774739A (zh) | 一种交易数据的追踪方法及装置 | |
CN114764713A (zh) | 商户巡检任务的生成方法、装置、电子设备和存储介质 | |
CN114490361A (zh) | 测试脚本质量获取方法、装置、计算机设备和存储介质 | |
CN110851254A (zh) | 基于微服务的设备生产方法、装置、服务器和存储介质 | |
CN111782549A (zh) | 测试方法、装置和电子设备 | |
CN108984313B (zh) | 用于处理信息的方法、装置及服务器 | |
CN117234951B (zh) | 应用系统的功能测试方法、装置、计算机设备、存储介质 | |
CN116795723B (zh) | 链式单元测试处理方法、装置及计算机设备 | |
CN113836291B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111371745B (zh) | 用于确定ssrf漏洞的方法和装置 | |
CN117971680A (zh) | 一种验证容器化应用程序可用性的方法、系统、设备及介质 |
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 |