CN106302025B - 通信协议的自动化测试方法和装置 - Google Patents

通信协议的自动化测试方法和装置 Download PDF

Info

Publication number
CN106302025B
CN106302025B CN201610704291.1A CN201610704291A CN106302025B CN 106302025 B CN106302025 B CN 106302025B CN 201610704291 A CN201610704291 A CN 201610704291A CN 106302025 B CN106302025 B CN 106302025B
Authority
CN
China
Prior art keywords
protocol
target
test
response
field
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.)
Active
Application number
CN201610704291.1A
Other languages
English (en)
Other versions
CN106302025A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610704291.1A priority Critical patent/CN106302025B/zh
Publication of CN106302025A publication Critical patent/CN106302025A/zh
Application granted granted Critical
Publication of CN106302025B publication Critical patent/CN106302025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种通信协议的自动化测试方法和装置。本发明实施例方法包括:确定目标协议中的待测字段;从预置测试库中获取测试值,将所述目标协议中的待测字段取值为所述测试值;向目标终端发送取值后的目标协议;监听所述目标终端对所述取值后的目标协议的响应,根据所述响应判断所述目标协议的安全性。

Description

通信协议的自动化测试方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种通信协议的自动化测试装置。
背景技术
通信协议是通信各方完成通信或服务所遵循的规则和规定。通信协议定义了交换的数据单元使用的格式、信息单元应该包含的信息与含义、连接方式、信息发送与接收的时序等等,以使得通信双方可以识别各自接收到的信息的含义。游戏通信协议指的是游戏的客户端和服务器进行信息交互的通信协议。
协议安全测试是针对通信协议进行的测试,主要用于验证服务器的逻辑性。通讯协议是一个包含多个字段的字符串,每个字段代表着不同的含义,如协议长度,协议类型等。现有技术中的游戏通信协议的安全测试方法是人工获取到通信协议后手动修改通信协议中的不同字段为不同的值,并采用该通信协议向服务器发送信息,通过人工查看服务器对该修改后的通信协议能否正确处理,若服务器能够正确处理,则表示通信协议为安全的,若服务器不能正确处理,则表示通信协议为不安全的。
然而,采用人工进行协议安全测试,不仅人力成本高,而且容易产生疏漏。
发明内容
本发明实施例提供了一种通信协议的自动化测试装置,能够提高测试速度,而且不易出现遗漏的情况。
第一方面,本发明提供一种通信协议的自动化测试方法,包括:
确定目标协议中的待测字段;
从预置测试库中获取测试值,将所述目标协议中的待测字段取值为所述测试值;
向目标终端发送取值后的目标协议;
监听所述目标终端对所述取值后的目标协议的响应,根据所述响应判断所述目标协议的安全性。
第二方面,本发明提供一种通信协议的自动化测试装置,包括:
确定模块,用于确定目标协议中的待测字段;
修改模块,用于从预置测试库中获取测试值,将所述目标协议中的待测字段取值为所述测试值;
发送模块,用于向目标终端发送取值后的目标协议;
判断模块,用于监听所述目标终端对所述取值后的目标协议的响应,根据所述响应判断所述目标协议的安全性。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明中,通过从预置测试库中取出测试值来作为目标协议中待测字段的取值,并将取值后的目标协议发送到目标终端,通过目标终端对该目标协议的响应来判断目标协议是否安全,整个测试过程能够实现自动化,降低了通信协议的测试成本,提高测试速度,而且不易出现遗漏的情况。
附图说明
图1为本发明的通信协议的自动化测试方法的一种实施例的流程示意图;
图2为本发明的通信系统的工作流程一个实施例的示意图;
图3为一个测试机器人实现的通信协议的自动化测试方法的流程示意图;
图4为本发明的通信协议的自动化测试装置的一个实施例的结构示意图。
具体实施方式
请参阅图1,图1为本发明的通信协议的自动化测试方法的一种实施例的流程示意图。本实施例中,通信协议的自动化测试方法包括:
101、确定目标协议中的待测字段。
本实施例中,目标协议是待进行安全性检测的通信协议,该通信协议为用于客户端与目标终端进行通信的通信协议,其中,该目标终端可以是客户端,也可以是服务器,在此不作限制。为描述清楚,下文中除开特别说明时,客户端均指的是与目标终端进行通信的客户端,而不是指目标终端,然而,实际意义中的客户端(例如手机、电脑等等)是不具备修改协议的能力的,因此,本发明中的客户端指的是设有能够模仿实际意义中的客户端(例如手机、电脑等等)与目标终端进行通信的功能且能够对协议进行修改的程序的终端。例如,客户端为设有测试机器人的终端。该测试机器人为一段测试程序,可以模拟客户端与目标终端正常的连接、交互流程等等。
一条通信协议包括多个字段,待测字段包括目标协议中的至少一个字段,本发明中客户端将目标协议中的待测字段的取为不同的值,将取值后的目标协议发送至目标终端,通过该目标终端对该取值后的目标协议的响应来确定该目标协议的安全性。优选的,本实施中的待测字段仅包括目标协议中的一个字段,这样,客户端在对该目标协议进行测试时,目标协议中仅对一个字段的取值进行变化,其他字段为正常取值,这样目标协议的安全性测试结果的准确性较高。当然,实际应用中,该待测字段也可以包括至少两个字段。但在待测字段所包含的字段数量较多的情况下无法确定目标存在安全性问题时是由哪一个待测字段的变化引起的。
102、从预置测试库中获取测试值,将所述目标协议中的待测字段取值为所述测试值。
客户端内存储有预置测试库,该预置测试库内存有多个测试值。在确定目标协议的待测字段后,从预置测试库中取出测试值,并将待测字段取值为该测试值。预置测试库的实现方式有多种。可选的,该预置测试库中存有不同的字段类型以及每一个字段类型对应的测试值,其中,每一个字段类型对应的测试值的数量为至少一个。由于目标协议中包含每个字段的字段类型,在确定待测字段的字段类型后,可根据该字段类型从预置测试库中查询到对应的至少一个测试值,并将待测字段取值为其中一个测试值。
可选的,预置测试库中每一个字段类型对应的至少一个测试值包括该字段类型的正常值和异常值。程序语言中对每一种字段类型都有规定的正常的取值范围,该正常值指的是位于该正常的取值范围内的值,异常值指的是位于该正常的取值范围之外的值。
具体的,预置测试库中的各字段类型的取值主要包括数字和字符串两种。
取值为数字时,预置测试库中各字段类型的测试值中,正常值为一个数字范围中的任意一个数值。进一步,可选的,该至少一个测试值还包括该字段类型的边界值,也即位于该正常的取值范围内且位于边界处的值。例如正常值为0至4294967259中的任意一个数值,异常值为位于该范围以外的数字,那么边界值为0和4294967259。部分情况中目标终端可能会出现对字段取值为边界值的通信协议处理异常的情况,在预置测试库中添加字段类型的边界值,能够提高通信协议的安全性测试结果的准确度。
取值为字符串时,预置测试库中各字段类型的测试值可以有多种方式。例如,测试值包括一个字符串取值范围。又例如,测试值包括一些特殊字符(如'!'、'@'、'\t'、'\n'、'%'、'^'、'&'、'*'、'\\'、'\'、','、'<'、'|'、'='、'\0'),以测试目标终端是否对这些特殊字符做了处理。
预置测试库中各测试值可针对不同项目具体设置,这取决于具体情况,在此不再赘述。
可选的,在对目标协议进行测试时,对同一个待测字段,分别采用正常值中的至少一个值和异常值中的至少一个测试值进行测试,或者还采用边界值进行测试,也即对目标协议的该待测字段进行多次取值,每次取值为不同的测试值,这样可以提高通信协议的安全性测试结果的准确度。
103、向目标终端发送取值后的目标协议。
本实施例中,客户端向目标终端发送通信协议之前要和目标终端先建立连接。建立连接的方法有多种。以客户端是设有测试机器人的终端,目标终端为服务器为例,该测试机器人将登录用户名和密码通过登录协议发送至服务器,该服务器会验证登录用户名和密码,验证通过后服务器会生成一个标记(token)值,并将该token值发送给客户端。客户端给服务器发送取值后的目标协议时该取值后的目标协议的token字段都需要携带该token值,通过该token值和服务器建立连接。
实际应用中,客户端并不需要每一次发送目标协议之前都需要和服务器建立连接,而是在开始检测一轮测试之前和服务器建立连接即可。然而,在测试的过程中,该连接有可能会断开。因此,可选的,本实例中,客户端还对与目标终端的连接状态进行监测,当确定与目标终端断开连接时,与目标终端重新建立连接。
由于测试机器人具有断线重连机制,因此,本发明中优选采用测试机器人来对目标协议的安全性进行测试。具体的,测试机器人设有超时机制和接收判断机制,当测试机器人和服务器建立连接后,测试机器人和服务器会进行协议交互,当测试机器人检测到从服务器收到的数据包的长度为0,或者检测到超过了预置时长没有接收到来自服务器的数据包时,即可确定与服务器断开了连接,那么测试机器人会重新与服务器建立连接。
在采用测试机器人来对目标协议的安全性进行测试的情况中,可选的,客户端侧包括至少两个测试机器人。在对目标协议进行安全性测试时,各测试机器人确定目标协议的同一个待测字段,并分别预置测试库中取出不同的测试值,并将该测试字段取值为不同的测试值后各自将目标协议发送至目标终端。这样,由于不需要对目标协议的同一个待测字段逐次取值不同的测试值,能够大大缩短测试时长。
104、监听所述目标终端对所述取值后的目标协议的响应,根据所述响应判断所述目标协议的安全性。
正常情况中,当客户端将通信协议发送给目标终端后,目标终端会返回针对该通信协议的通信协议。本实施例中,将取值后的目标协议发送给目标终端后,对目标终端的响应进行监听,并根据该响应来判断目标协议的安全性。其中,目标终端的响应主要包括两种,第一种是目标终端不返回针对目标协议的响应协议,第二种是目标终端返回针对目标协议的响应协议。
在第一种响应中包括三种:一、客户端和目标终端断开连接,二、客户端和目标终端还保持连接,但目标终端不返回响应协议;三、目标终端崩溃。其中,在客户端和目标终端断开连接、以及目标终端崩溃的这两种情况中,客户端都接收不到目标终端的响应。客户端在目标终端断开后进行重新建立连接,若重新建立连接成功,则表示目标终端的响应是和客户端断开连接;若客户端重新建立连接连续失败的次数达到预置次数时,即可确定目标终端的响应是目标终端崩溃。
在第二种响应中,可通过目标终端所返回的响应协议查看目标终端是否正确处理取值后的目标协议;其中正确处理指的是服务器接收到错误的目标协议时的处理方法和接收到正确的目标协议时的处理方法不同,服务器可以识别出错误的目标协议。判断目标终端是否正确处理的方法有多种,例如,客户端内预设有对正常的通信协议的预置正常方式,可通过与该预置正常方式的比较来查看目标终端是否正确处理取值后的目标协议。
具体的,根据目标终端的响应来判断目标协议不安全的方法有多种。
例如,当所述测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全。具体举例来说,正常的物品购买流程是:客户端发送正常的购买请求协议,服务器响应下发购买成功协议。而在客户端发送购买请求协议时修改购买请求协议里的金钱字段为0,然后发送到服务器。若服务器不进行金额校验,而是直接下发购买成功的协议,这样可以零花费购买物品。这样就是服务器正常响应了修改后的协议。
又例如,当所述测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端不按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全。
又例如,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端进行重新建立连接连续失败的次数达到预置次数时,确定所述目标协议不安全。其中,目标终端崩溃指的是目标终端中的进程异常退出或者不再响应正常的请求,目标终端为服务器时,服务器崩溃也即服务器宕机。
具体的,根据目标终端的响应来判断目标协议安全的方法有多种。
例如,当所述测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端对所述取值后的目标协议发出异常提示时,确定所述目标协议安全。异常提示的内容可以有多种方式,例如提示发生错误或者提示出现未能识别的操作等等
又例如,当所述测试值为异常值,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端重新建立连接成功时时,确定所述目标协议安全。
又例如,当所述测试值为异常值,所述响应为所述目标终端对所述取值后的目标协议不返回响应协议时,确定所述目标协议安全。实际应用中,在目标终端为客户端的情况下,由于目标终端并不一定会对接收到的每条通信协议进行响应,因此在目标终端为客户端的情况时可以不采用该条判断规则。
又例如,当所述测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议安全。
本实施例中,通过从预置测试库中取出测试值来作为目标协议中待测字段的取值,并将取值后的目标协议发送到目标终端,通过目标终端对该目标协议的响应来判断目标协议是否安全,整个测试过程能够实现自动化,降低了通信协议的测试成本,提高测试速度,而且不易出现遗漏的情况。
可选的,本实施例中,客户端还在当确定目标协议不安全时,对所述待测字段的类型、取值后的目标协议、所述目标终端对所述取值后的目标协议的响应以及所述目标协议的安全性进行记录,以便对不安全的目标协议进行后续处理。
实际应用中,部分通信协议中的某些字段是不可以修改的,一旦修改就会导致客户端和服务器之间断开连接。例如,通信协议中的数据包长度字段不能修改。因此,可选的,本实施例中,客户端内预先设置有对各通信协议中不能修改的字段。在确定目标协议中的待测字段时,若该目标协议中存在不能修改的字段,则不将位于该字段作为待测字段。
为方便理解,下面结合一个实际应用场景对本发明的通信协议的自动化测试方法进行举例描述。如图2所示,图2为本发明的通信系统的结构示意图。本实施例中,该通信系统包括客户端和服务器。其中,客户端包括至少一个测试机器人和预置测试库。
客户端内的各个测试机器人开始运行后,分别服务器建立连接。同时,各个测试人也启动断线重连的机制。待测试项目具体为一个游戏项目,该项目包括多个通信协议,各个测试机器人分别将该多个通信协议依次作为待进行安全性测试的目标协议。
具体的,如图3所示,图3为单个测试机器人实现的通信协议的安全性测试方法的流程示意图。测试机器人开始运行后,测试机器人首先确认当前是否还存在待测试的目标协议,若不存在,则测试机器人结束运行。若存在,则测试机器人对该待测试的目标协议的待测字段进行修改,然后检测是否和服务器建立有连接,若建立有连接,则将修改后的目标协议发送至服务器,若没有建立连接,则和服务器建立连接,再将修改后的目标协议发送至服务器。然后监听服务器对该目标协议的响应,根据该响应判断协议的安全性,并记录数据,该数据包括该修改后的目标协议和服务器的响应。记录数据后,测试机器人确定该目标协议是否还有待修改的字段,若还有待修改的字段,则修改该字段,并重复上述测试流程;若没有待修改的字段,则判断是否还存在待测协议。
其中,各个测试机器人对其中一条目标协议测试时,为方便理解,下面以项目中的一个用于创建游戏房间的通信协议作为目标协议为例进行说明。
目标协议字符串为:A4 00 78 F9 69 55 A1 EC 34 44 61 BB 65 B3 BF C5 DA7E 42 1B 97 AA 00 00 00 00 00 00 00 00 0C 00 00 00 E6 B0 B8 E5 A4 9C E5 90 9BE7 8E 8B 03 00 00 00 31 31 31 00 02 00 00 00 00 00 00 00。其中,字符串中每两位代表一个字节,协议中的一个字段由至少一个字节组成。对该目标协议解析后,可得到该协议中所包括的各个字段的字段类型、字段属性名和字段值如下表所示。
Figure BDA0001086816700000081
Figure BDA0001086816700000091
客户端内预先设置有待测试项目中不能修改的字段。具体的,本实施例中目标协议中的“PacketType、SessionToken、SecurityToken、RequestID”这几个字段为不能修改的字段。当然,实际应用中并不是待测试项目中的每一个通信协议中都会存在不能修改的字段。
各个测试机器人将目标协议中“PacketType、SessionToken、SecurityToken、RequestID”这四个字段排除后,将剩余的几个字段依次作为待测字段。具体的,以第一个字段PlayerName为待测字段为例。各个测试机器人根据该字段的字段类型为System.String,到预置测试库中查找字段类型为System.String对应的所有测试值。各个测试机器人分别从该字段类型对应的测试值中取出不同值,来对目标协议中该待测字段的取值进行修改。各个测试机器人各自将修改后的目标协议发送至服务器。
各个测试机器人中,每一个测试机器人监听服务器对自己所发送的修改后的目标协议的响应,并根据该响应判断目标协议的安全性。具体判断的方法可参考图1所示实施例中步骤104的解释说明,在此不再赘述。
每个测试机器人还对自己所发送的修改后的目标协议、接收到的服务器的响应以及安全性测试结果进行记录。
上面对本发明的通信协议的自动化测试方法进行了描述,下面将对本发明的通信协议的自动化测试装置进行描述。
请参阅图4,图4为本发明的通信协议的自动化测试装置的一个实施例的结构示意图。本实施例中,通信协议的自动化测试装置400,包括:
确定模块401,用于确定目标协议中的待测字段;
修改模块402,用于从预置测试库中获取测试值,将所述目标协议中的待测字段取值为所述测试值;
发送模块403,用于向目标终端发送取值后的目标协议;
判断模块404,用于监听所述目标终端对所述取值后的目标协议的响应,根据所述响应判断所述目标协议的安全性。
本实施例中,通信协议的自动化测试装置通过从预置测试库中取出测试值来作为目标协议中待测字段的取值,并将取值后的目标协议发送到目标终端,通过目标终端对该目标协议的响应来判断目标协议是否安全,整个测试过程能够实现自动化,降低了通信协议的测试成本,提高测试速度,而且不易出现遗漏的情况。
可选的,所述预置测试库中存有不同的字段类型以及每一个字段类型对应的测试值;所述修改模块402在从预置测试库中获取测试值时,具体用于:
确定所述待测字段的字段类型;
从预置测试库中查找所述待测字段的字段类型对应的测试值。
可选的,所述判断模块304在根据所述响应判断所述目标协议的安全性时,具体用于:
当所述测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全;
或者,当所述测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端不按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全;
或者,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端进行重新建立连接连续失败的次数达到预置次数时,确定所述目标协议不安全。
可选的,所述判断模块304在根据所述响应判断所述目标协议的安全性时,具体用于:
当所述测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端对所述取值后的目标协议发出异常提示时,确定所述目标协议安全;
或者,当所述测试值为异常值,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端重新建立连接成功时,确定所述目标协议安全;
或者,当所述测试值为异常值,所述响应为所述目标终端对所述取值后的目标协议不返回响应协议时,确定所述目标协议安全;
或者,当所述测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议安全。
可选的,所述装置还包括重连模块,用于在所述发送模块向目标终端发送取值后的目标协议之前,监测与所述目标终端的连接状态,当确定与所述目标终端断开连接时,与所述目标终端重新建立连接。
可选的,所述装置还包括记录模块,用于当确定所述目标协议不安全时,对所述取值后的目标协议、所述目标终端对所述取值后的目标协议的响应以及所述目标协议的安全性进行记录。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种通信协议的自动化测试方法,其特征在于,应用设有至少两个测试机器人的终端,所述测试机器人模拟客户端与目标终端正常的连接、交互流程,包括:
确定目标协议中可修改字段中的一个作为待测字段;
从预置测试库中获取所述待测字段对应的所有测试值,通过至少两个测试机器人分别基于所述待测字段对应的不同测试值以及其他可修改字段的正常测试值,将所述目标协议中的所有可修改字段进行取值;所述预置测试库中各测试值针对不同项目具体设置;
通过所述至少两个测试机器人分别向目标终端发送取值后的目标协议;
通过所述至少两个测试机器人分别监听所述目标终端对所述取值后的目标协议的响应,根据所述响应判断所述目标协议的安全性;
其中,所述根据所述响应判断所述目标协议的安全性,包括:
当所述待测字段对应的测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全;
或者,当所述待测字段对应的测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端不按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全;
或者,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端进行重新建立连接连续失败的次数达到预置次数时,确定所述目标协议不安全;
其中,所述通过所述至少两个测试机器人分别向目标终端发送取值后的目标协议,之前还包括:
通过测试机器人监测与所述目标终端的连接状态;
当确定与所述目标终端断开连接时,通过测试机器人与所述目标终端重新建立连接。
2.根据权利要求1所述的通信协议的自动化测试方法,其特征在于,所述预置测试库中存有不同的字段类型以及每一个字段类型对应的测试值;
所述从预置测试库中获取所述待测字段对应的所有测试值,包括:
确定所述待测字段的字段类型;
从预置测试库中查找所述待测字段的字段类型对应的所有测试值。
3.根据权利要求1所述的通信协议的自动化测试方法,其特征在于,所述根据所述响应判断所述目标协议的安全性,包括:
当所述待测字段对应的测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端对所述取值后的目标协议发出异常提示时,确定所述目标协议安全;
或者,当所述待测字段对应的测试值为异常值,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端重新建立连接成功时,确定所述目标协议安全;
或者,当所述待测字段对应的测试值为异常值,所述响应为所述目标终端对所述取值后的目标协议不返回响应协议时,确定所述目标协议安全;
或者,当所述待测字段对应的测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议安全。
4.根据权利要求1至3任一项所述的通信协议的自动化测试方法,其特征在于,所述方法还包括:
当确定所述目标协议不安全时,对所述取值后的目标协议、所述目标终端对所述取值后的目标协议的响应以及所述目标协议的安全性进行记录。
5.一种通信协议的自动化测试装置,其特征在于,应用设有至少两个测试机器人的终端,所述测试机器人模拟客户端与目标终端正常的连接、交互流程,包括:
确定模块,用于确定目标协议中可修改字段中的一个作为待测字段;
修改模块,用于从预置测试库中获取所述待测字段对应的所有测试值,通过至少两个测试机器人分别基于所述待测字段对应的不同测试值以及其他可修改字段的正常测试值,将所述目标协议中的所有可修改字段进行取值;所述预置测试库中各测试值针对不同项目具体设置;
发送模块,用于通过所述至少两个测试机器人分别向目标终端发送取值后的目标协议;
判断模块,用于通过所述至少两个测试机器人分别监听所述目标终端对所述取值后的目标协议的响应,根据所述响应判断所述目标协议的安全性;
其中,所述判断模块在根据所述响应判断所述目标协议的安全性时,具体用于:
当所述待测字段对应的测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全;
或者,当所述待测字段对应的测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端不按预置正常方式响应所述取值后的目标协议时,确定所述目标协议不安全;
或者,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端进行重新建立连接连续失败的次数达到预置次数时,确定所述目标协议不安全;
其中,所述装置还包括重连模块,用于在所述发送模块通过所述至少两个测试机器人分别向目标终端发送取值后的目标协议之前,通过测试机器人监测与所述目标终端的连接状态,当确定与所述目标终端断开连接时,通过测试机器人与所述目标终端重新建立连接。
6.根据权利要求5所述的通信协议的自动化测试装置,其特征在于,所述预置测试库中存有不同的字段类型以及每一个字段类型对应的测试值;
所述修改模块在从预置测试库中获取所述待测字段对应的所有测试值时,具体用于:
确定所述待测字段的字段类型;
从预置测试库中查找所述待测字段的字段类型对应的所有测试值。
7.根据权利要求5所述的通信协议的自动化测试装置,其特征在于,所述判断模块在根据所述响应判断所述目标协议的安全性时,具体用于:
当所述待测字段对应的测试值为异常值,所述响应为返回响应协议且所述响应协议指示所述目标终端对所述取值后的目标协议发出异常提示时,确定所述目标协议安全;
或者,当所述待测字段对应的测试值为异常值,所述响应为所述目标终端断开连接,且断开连接后与所述目标终端重新建立连接成功时,确定所述目标协议安全;
或者,当所述待测字段对应的测试值为异常值,所述响应为所述目标终端对所述取值后的目标协议不返回响应协议时,确定所述目标协议安全;
或者,当所述待测字段对应的测试值为正常值,所述响应为返回响应协议且所述响应协议指示所述目标终端按预置正常方式响应所述取值后的目标协议时,确定所述目标协议安全。
8.根据权利要求5至7任一项所述的通信协议的自动化测试装置,其特征在于,所述装置还包括记录模块,用于当确定所述目标协议不安全时,对所述取值后的目标协议、所述目标终端对所述取值后的目标协议的响应以及所述目标协议的安全性进行记录。
9.一种终端,其特征在于,包括存储器和处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至4任一项所述方法中的步骤。
10.一种存储介质,其存储有计算机程序,其中,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至4任一项所述方法中的步骤。
CN201610704291.1A 2016-08-22 2016-08-22 通信协议的自动化测试方法和装置 Active CN106302025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610704291.1A CN106302025B (zh) 2016-08-22 2016-08-22 通信协议的自动化测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610704291.1A CN106302025B (zh) 2016-08-22 2016-08-22 通信协议的自动化测试方法和装置

Publications (2)

Publication Number Publication Date
CN106302025A CN106302025A (zh) 2017-01-04
CN106302025B true CN106302025B (zh) 2021-06-08

Family

ID=57662451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610704291.1A Active CN106302025B (zh) 2016-08-22 2016-08-22 通信协议的自动化测试方法和装置

Country Status (1)

Country Link
CN (1) CN106302025B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154929A (zh) * 2017-03-31 2017-09-12 武汉斗鱼网络科技有限公司 一种直播软件的测试方法及装置
CN107362537A (zh) * 2017-07-03 2017-11-21 珠海金山网络游戏科技有限公司 一种限定角色账号登录服务器的方法及装置
CN107291621A (zh) * 2017-07-07 2017-10-24 恒生电子股份有限公司 测试用例的处理方法、处理装置、介质和电子设备
CN109214189B (zh) * 2018-08-22 2022-05-24 深圳市腾讯网络信息技术有限公司 识别程序漏洞的方法、装置、存储介质和电子设备
CN109450731A (zh) * 2018-11-09 2019-03-08 中国科学院长春光学精密机械与物理研究所 一种应用层通信协议的测试数据生成方法
CN110191019B (zh) * 2019-05-28 2021-05-28 北京百度网讯科技有限公司 车辆can总线的测试方法、装置、计算机设备和存储介质
CN112543068B (zh) * 2019-09-23 2022-06-10 华为机器有限公司 测试方法、装置及系统
CN112737890B (zh) * 2020-12-29 2022-09-13 上海微波技术研究所(中国电子科技集团公司第五十研究所) 一种防止网络震荡导致网络测试仪中断的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075961A (zh) * 2009-11-23 2011-05-25 中兴通讯股份有限公司 自动化测试流程的控制方法及装置
CN103064786A (zh) * 2012-12-14 2013-04-24 北京思特奇信息技术股份有限公司 一种基于多协议支撑的逻辑层自动化测试系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101022462B1 (ko) * 2004-07-08 2011-03-15 한국항공우주산업 주식회사 항공기의 먹스 덤프 데이터 에러 체크 시스템
CN101135989B (zh) * 2006-08-31 2010-11-24 中国银联股份有限公司 一种Web应用系统的自动化测试的方法和装置
CN101114954A (zh) * 2007-09-06 2008-01-30 中兴通讯股份有限公司 协议测试装置
US7787599B2 (en) * 2007-12-13 2010-08-31 Verizon Patent And Licensing Inc. Method and system for protocol embedded automated test control
CN101478449B (zh) * 2009-01-22 2011-02-02 凌阳科技股份有限公司 一种协议自动测试方法及其系统
CN101582815B (zh) * 2009-06-17 2011-06-22 北京星网锐捷网络技术有限公司 一种协议安全测试方法和装置
CN103036730B (zh) * 2011-09-29 2015-09-23 西门子公司 一种对协议实现进行安全测试的方法及装置
US9952276B2 (en) * 2013-02-21 2018-04-24 Advantest Corporation Tester with mixed protocol engine in a FPGA block
US20150153405A1 (en) * 2013-12-04 2015-06-04 Princeton Technology Corporation Automatic testing system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075961A (zh) * 2009-11-23 2011-05-25 中兴通讯股份有限公司 自动化测试流程的控制方法及装置
CN103064786A (zh) * 2012-12-14 2013-04-24 北京思特奇信息技术股份有限公司 一种基于多协议支撑的逻辑层自动化测试系统

Also Published As

Publication number Publication date
CN106302025A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106302025B (zh) 通信协议的自动化测试方法和装置
CN104426885B (zh) 异常账号提供方法及装置
CN104519032A (zh) 一种互联网账号的安全策略及系统
JP2019500680A (ja) データ処理方法及び装置
CN109885037B (zh) 一种车辆诊断的方法及相关设备
CN103607281A (zh) 一种安全设备的解锁方法和系统
CN113472607A (zh) 应用程序网络环境检测方法、装置、设备及存储介质
CN108306787B (zh) 一种应用监测方法及相关设备
CN111092904B (zh) 网络连接方法和装置
CN108234239A (zh) 虚拟机的心跳检测方法及其装置、设备和存储介质
CN108829495A (zh) 多数据库修改事务的验证方法、装置、设备及存储介质
CN112650557B (zh) 一种命令执行方法以及装置
CN105743879B (zh) 智能电视身份识别方法及系统
CN110858132B (zh) 一种打印设备的配置安全检测方法及装置
CN111538994A (zh) 一种系统安全检测及修复方法、装置、存储介质及终端
CN109862035A (zh) 游戏app账号验证方法及设备
CN105429954A (zh) 一种眼球登录方法和装置
KR101563628B1 (ko) 도서 서지정보 오류 검출 방법, 오류 검출 장치 및 오류 검출 시스템
CN110633579B (zh) 投标文件在线解密结果预测方法、系统、设备及存储介质
EP3679699B1 (en) Preventing counterfeit communication devices from accessing resources
CN103188117A (zh) 信息交互服务器仿真测试装置及方法
CN108337128B (zh) 监控系统间通讯状态的方法、装置和系统
CN106789150B (zh) 一种网络故障检测方法及装置
CN111191215A (zh) 一种安全设备识别方法及系统
CN112667973B (zh) 一种网络设备的管理软件的激活方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant