CN107888446B - 一种协议健壮性测试方法及装置 - Google Patents

一种协议健壮性测试方法及装置 Download PDF

Info

Publication number
CN107888446B
CN107888446B CN201711037449.5A CN201711037449A CN107888446B CN 107888446 B CN107888446 B CN 107888446B CN 201711037449 A CN201711037449 A CN 201711037449A CN 107888446 B CN107888446 B CN 107888446B
Authority
CN
China
Prior art keywords
protocol
tested
test
test case
robustness
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
CN201711037449.5A
Other languages
English (en)
Other versions
CN107888446A (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.)
Qianxin Technology Group Co Ltd
Original Assignee
Qianxin Technology Group 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 Qianxin Technology Group Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN201711037449.5A priority Critical patent/CN107888446B/zh
Publication of CN107888446A publication Critical patent/CN107888446A/zh
Application granted granted Critical
Publication of CN107888446B publication Critical patent/CN107888446B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明实施例提供一种协议健壮性测试方法及装置。所述方法包括:接收用户通过被测设备输入的待测试协议的协议数据;若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。所述装置用于执行所述方法。本发明实施例通过若判断获知接收到的待测试协议为标准协议,则根据该待测试协议获得对应的协议类型,基于协议类型生成对应的目标测试用例,根据目标测试用例对待测试协议进行健壮性测试,因此,在需要对多种协议进行健壮性测试时,不需要使用多种测试工具,提高了测试的效率。

Description

一种协议健壮性测试方法及装置
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种协议健壮性测试方法及装置。
背景技术
当前网络安全网关产品,在新的协议开发过程中,必备需求就是协议本身的健壮性测试,所谓协议的健壮性测试是指系统或者某一组成部分在各种无效、异常输入或者压力环境条件下是否能够进行正确的处理和分析。可以想象,各种异常或者无效输入的组合数量要远远大于允许的正常输入的可能组合数量。通过对各种测试手段进行有目的的组合,以及持续、高强度的冲击,可以检测出系统的出错、服务质量下降以及宕机的几率,因此,即时发现并解决相关的稳定性问题非常关键。
协议健壮性测试的手段主要包括下面几种方式:
(1)缓存溢出型输入:对于一些变量字段,通过输入超量的字符或数字是缓存定界发生困难,最终溢出,系统停止响应或宕机。
(2)整数型输入:对于一些类似长度字段,通过输入边界或极限值使条件判断语句失效,服务终止。
(3)下溢型输入:对于一些强制长度型字段,比如MAC地址,通过缺失或截断部分信息,使变量拿不到足够的赋值,从而造成逻辑失效。
(4)格式型输入:对于一些连续字段,一般有字符定界规则,比如连续多少个全零之后表示边界,通过违背这些规则,使程序无法完成定界,系统宕机;对于某些有特定格式的字段,比如字符或整数,通过输入非法格式,使程序逻辑加长或直接退出。
(5)消息次序错型输入:通过修改报文的出现次序,使系统产生判断上的困难,状态机无法完成正常转移,造成服务延迟或等级下降。
(6)重复型输入:在正常报文中循环产生某一特定字段信息,使程序检测出现异常,并导致系统停止响应。
在实现本发明实施例的过程中,发明人发现,现有的测试工具只能测试特定的某一种或某几种协议,当系统支持多种协议的情况时,要对该系统进行协议的健壮性测试,则需要分别通过每个协议对应的测试工具进行测试,从而降低了协议健壮性测试的效率。
因此,如何提高测试工具支持协议的灵活性,提高测试效率是现如今亟待解决的课题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种协议健壮性测试方法及装置。
第一方面,本发明实施例提供一种协议健壮性测试方法,包括:
接收用户通过被测设备输入的待测试协议的协议数据;
若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;
根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。
第二方面,本发明实施例提供一种协议健壮性测试装置,包括:
接收模块,用于接收用户通过被测设备输入的待测试协议的协议数据;
第一生成模块,用于若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;
测试模块,用于根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。
本发明实施例提供的一种协议健壮性测试方法及装置,通过若判断获知接收到的待测试协议为标准协议,则根据该待测试协议获得对应的协议类型,基于协议类型生成对应的目标测试用例,根据目标测试用例对待测试协议进行健壮性测试,因此,在需要对多种协议进行健壮性测试时,不需要使用多种测试工具,提高了测试的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种协议健壮性测试方法流程示意图;
图2为本发明另一实施例提供的一种协议健壮性测试方法流程示意图;
图3为本发明实施例提供的一种协议健壮性测试装置结构示意图;
图4为本发明实施例提供的协议健壮性测试系统结构示意图;
图5为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种协议健壮性测试方法流程示意图,如图1所示,所述方法,包括:
步骤101:接收用户通过被测设备输入的待测试协议的协议数据;
具体的,在进行对被测设备进行健壮性测试之前,需要将被测设备与测试装置建立通讯连接。应当说明的是,被测设备DUT通过其通讯接口与测试装置建立通讯连接。当通讯连接建立完成后,测试装置可以对被测设备进行健壮性测试。首先用户通过被测设备向测试装置发送待测试协议对应的协议数据,此时,测试装置接收到该待测试协议的协议数据。
步骤102:若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;
具体的,根据协议数据判断待测试协议是否为标准协议,如果是标准协议,则获取该待测试协议的协议类型,其中,应当说明的是,标准协议是现有的公知通信协议,标准协议对应的协议类型可以包括TCP/IP协议、HTTP协议和IPX/SPX协议,还可以包括其他通信协议,本发明实施例对此不做具体限定。应当说明的是,在测试装置中存储有标准协议库,标准协议库中存储有所有标准协议的标识,在测试装置接收到待测试协议后,将待测试协议的标识与标准协议库中的标识进行匹配,如果匹配成功则说明待测试协议为标准协议。通讯领域中的协议包括很多种,并且每种协议中包括了多种不同类型的数据,因此,测试装置通过待测试协议的协议类型自动生成对应的目标测试用例。应当说明的是,由于每种协议都对应不同类型的协议数据,因此,每种协议都会包括针对不同类型的协议数据的测试用例,所以,每种协议对应至少一个测试用例。将多种协议对应的所有的测试用例预先生成,并存储到测试装置中。因此,可以根据协议类型,生成对应的至少一个目标测试用例。
步骤103:根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。
具体的,测试装置根据每一个目标测试用例依次对待测试协议进行健壮性测试,在测试过程中,检测被测设备的运行是否发生异常,若某一个目标测试用例在测试时,被测设备运行发生异常,则说明该目标测试用例对应的功能健壮性比价差,如果运行正常,则表明健壮性比较好。每一个目标测试用例在测试完后均产生测试结果。
本发明实施例通过若判断获知接收到的待测试协议为标准协议,则根据该待测试协议获得对应的协议类型,基于协议类型生成对应的目标测试用例,根据目标测试用例对待测试协议进行健壮性测试,因此,在需要对多种协议进行健壮性测试时,不需要使用多种测试工具,提高了测试的效率。
在上述实施例的基础上,所述方法,还包括:
预先通过python语言生成每一个标准协议对应的至少一个测试用例,并将所有的测试用例进行存储。
具体的,由于通讯中的标准协议有多种,且每种协议对应不同的数据类型,因此,为了能够实现多种协议的健壮性测试,预先通过python语言生成每种协议对应的所有的测试用例,然后将这些测试用例与对应的协议类型构成的关联关系存储到测试装置中。由于通讯中的标准协议的数据类型是事先已经知道的,因此,可以有针对性的生成相应的测试用例。如果是用户自己编写的私有协议,私有协议是用户根据被测设备自身的性能属性自定义的协议,不能确定其包含的数据类型,所以不能事先生成私有协议的测试用例。
本发明实施例预先生成通讯中的标准协议对应的所有的测试用例,并将生成的测试用例进行存储,以便实现对多种标准协议都能够进行健壮性测试,提高了测试装置的普适性。
在上述实施例的基础上,所述方法,还包括:
将所述测试结果生成测试报告,并发送给目标账户。
具体的,在进行健壮性测试时,记录每一个目标测试用例的测试结果,将所有的目标测试用例对应的测试结果生成测试报告,并将该测试报告发送给目标账户。测试报告可以是以文档的形式,还可以通过XML格式生成,本发明实施例对此不做具体限定。且测试报告的内容可以包括异常数目、异常类型、异常参数和异常时间中的一种或多种,则测试报告中,还可以包括对被测设备的通讯健壮性的评估结果,该评估记过可以为健壮性良好或者健壮性较差。
本发明实施例通过将测试结果生成测试报告,并将测试报告发送给目标账户后,使得目标账户跟家清楚地了解被测设备的通讯健壮性的优劣。
在上述实施例的基础上,所述根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,包括:
根据每一个所述目标测试用例对所述待测试协议进行功能性校验;
若判断获知所述功能性校验失败,则进行测试环境恢复。
具体的,通过每一个目标测试用例对待测试协议进行功能性校验,即依次将目标测试用例输入到被测设备DUT中,检测该目标测试用例对应的功能测试在被测设备DUT中是否能够正常运行。如果能正常运行,则检测成功,然后检查是否为最后一个目标测试用例,如果不是,则继续执行下一目标测试用例的测试,如果是最后一个,则结束测试。如果当前目标测试用例的功能性校验失败,则需要进行测试环境恢复,使得被测设备DUT的测试环境恢复到可用状态,比如:可以重启测试设备,或重启被测设备引擎等。应当说明的是,功能性校验包括ping和待测试协议的基本操作校验等,例如:目标测试用例为测试WEB页面的,那么,当将该目标测试用例输入到被测设备DUT中后,检测被测设备中的WEB页面能够正常提供服务,如果能正常提供服务,则说明该目标测试用例测试成功,否则测试失败。
本发明实施例通过对被测设备进行功能性校验,并在功能性校验失败时进行环境恢复,保证了测试能够顺利执行。
在上述实施例的基础上,所述方法,还包括:
根据用户需求对所述至少一个目标测试用例进行筛选。
具体的,每个协议测试数据的测试有不同的侧重点,在测试装置中存储的是所有协议各个方面的测试用例,因此,当测试装置根据协议类型生成的至少一个目标测试用例中,包括了待测试协议对应的所有的测试用例,但是,实际情况下,用户对每台被测设备的通讯性能要求不同,有时可能只要被测设备的某一方面的通讯性能要求较高,而对其他方面的通讯性能没有要求或要求较低,如果使用该待测试协议对应的所有的测试用例对被测设备进行健壮性测试,则会需要较多的时间,从而导致测试效率低的问题。因此可以根据用户需求,对至少一个目标测试用例进行筛选,仅对用户关心的通讯性能进行测试。
本发明实施例通过根据用户需求对至少一个目标测试用例进行筛选,从而实现有针对性的测试,缩短了测试时间,提高了测试效率。
在上述各实施例的基础上,所述方法,还包括:
若判断获知所述待测试协议不是所述标准协议,则根据预设模板生成对应的目标测试用例。
具体的,测试装置在接收到待测试协议后如果判断获知待测试协议不是标准协议,那就说明该待测试协议是用户编写的私有协议,此时,可以根据预设模板生成待测试协议的目标测试用例,从而实现对待测试协议的健壮性测试。应当说明的是,预设模板也是预先存入到测试装置中的,通过解析待测试协议,根据待测试协议中的各个数据类型和预设模板便可以自动生成对应的目标测试用例。
本发明实施例通过判断获知待测试协议不是标准协议,则根据预设模板生成对应的目标测试用例,因此,测试装置不仅可以对标准协议进行健壮性测试,还可以对私有协议进行测试,进一步提高了测试的普适性及效率。
图2为本发明另一实施例提供的一种协议健壮性测试方法流程示意图,如图2所示,包括:
步骤201:接收待测试协议;测试装置接收用户通过被测设备的输入的待测试协议,应当说明的是,待测试协议是该被测设备所支持的。
步骤202:生成测试用例;如果判断获知待测试协议为标准协议,跟获取标准协议的协议类型,根据协议类型生成对应的目标测试用例。
步骤203:筛选;根据用户的需求,对生成的目标测试用例进行筛选。
步骤204:测试执行;将筛选后的目标测试用例依次输入到被测设备中,用于进行健壮性测试。
步骤205:功能性验证;对待测试协议进行功能性验证,判断目标测试用例在测试时,被测设备是否能够正常执行对应的功能。
步骤206:是否测试成功;判断功能性验证是否成功,即,如果被测设备能够正常执行对应的功能,则说明测试成功,进行步骤208,否则测试失败,进行步骤207,无论测试成功还是失败,都获取对应的测试结果。
步骤207:环境恢复;如果功能性校验失败,则需要进行环境恢复,将测试环境恢复到可用状态。
步骤208:是否测试完成;判断当前目标测试用例是否为最后一个,如果是,则测试完成,进行步骤209,否则,进行步骤204。
步骤209:生成测试报告;将每一个目标测试用例的测试结果生成测试报告,并将测试报告发送给目标账户。
本发明实施例通过若判断获知接收到的待测试协议为标准协议,则根据该待测试协议获得对应的协议类型,基于协议类型生成对应的目标测试用例,根据目标测试用例对待测试协议进行健壮性测试,因此,在需要对多种协议进行健壮性测试时,不需要使用多种测试工具,提高了测试的效率。
图3为本发明实施例提供的一种协议健壮性测试装置结构示意图,如图3所示,所述装置,包括:接收模块301、第一生成模块302和测试模块303,其中:
接收模块301用于接收用户通过被测设备输入的待测试协议的协议数据;第一生成模块302用于若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;测试模块303用于根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。
具体的,在进行对被测设备进行健壮性测试之前,需要将被测设备与测试装置建立通讯连接。应当说明的是,被测设备DUT通过其通讯接口与测试装置建立通讯连接。当通讯连接建立完成后,测试装置可以对被测设备进行健壮性测试。首先用户通过被测设备向测试装置发送待测试协议对应的协议数据,接收模块301接收到测试协议对应的协议数据,第一生成模块302根据协议数据判断待测试协议是否为标准协议,如果是标准协议,则获取该待测试协议的协议类型。应当说明的是,在测试装置中存储有标准协议库,标准协议库中存储有所有标准协议的标识,在接收模块301接收到待测试协议后,第一生成模块302将待测试协议的标识与标准协议库中的标识进行匹配,如果匹配成功则说明待测试协议为标准协议。通讯领域中的协议包括很多种,并且每种协议中包括了多种不同类型的数据,因此,第一生成模块302通过待测试协议的协议类型自动生成对应的目标测试用例。应当说明的是,由于每种协议都对应不同类型的协议数据,因此,每种协议都会包括针对不同类型的协议数据的测试用例,所以,每种协议对应至少一个测试用例。将多种协议对应的所有的测试用例预先生成,并存储到测试装置中。因此,第一生成模块302可以根据协议类型,生成对应的至少一个目标测试用例。测试模块303根据每一个目标测试用例依次对待测试协议进行健壮性测试,在测试过程中,检测被测设备的运行是否发生异常,若某一个目标测试用例在测试时,被测设备运行发生异常,则说明该目标测试用例对应的功能健壮性比价差,如果运行正常,则表明健壮性比较好。每一个目标测试用例在测试完后均产生测试结果。
本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
本发明实施例通过若判断获知接收到的待测试协议为标准协议,则根据该待测试协议获得对应的协议类型,基于协议类型生成对应的目标测试用例,根据目标测试用例对待测试协议进行健壮性测试,因此,在需要对多种协议进行健壮性测试时,不需要使用多种测试工具,提高了测试的效率。
在上述实施例的基础上,所述装置,还包括:
存储模块,用于预先通过python语言生成每一个标准协议对应的至少一个测试用例,并将所有的测试用例进行存储。
具体的,由于通讯中的标准协议有多种,且每种协议对应不同的数据类型,因此,为了能够实现多种协议的健壮性测试,存储模块预先通过python语言生成每种协议对应的所有的测试用例,然后将这些测试用例与对应的协议类型构成的关联关系存储到测试装置中。
本发明实施例预先生成通讯中的标准协议对应的所有的测试用例,并将生成的测试用例进行存储,以便实现对多种标准协议都能够进行健壮性测试,提高了测试装置的普适性。
在上述实施例的基础上,所述装置,还包括:
发送模块,用于将所述测试结果生成测试报告,并发送给目标账户。
具体的,在进行健壮性测试时,发送模块记录每一个目标测试用例的测试结果,将所有的目标测试用例对应的测试结果生成测试报告,并将该测试报告发送给目标账户。测试报告可以是以文档的形式,还可以通过XML格式生成,本发明实施例对此不做具体限定。且测试报告的内容可以包括异常数目、异常类型、异常参数和异常时间中的一种或多种,则测试报告中,还可以包括对被测设备的通讯健壮性的评估结果,该评估记过可以为健壮性良好或者健壮性较差。
本发明实施例通过将测试结果生成测试报告,并将测试报告发送给目标账户后,使得目标账户跟家清楚地了解被测设备的通讯健壮性的优劣。
在上述实施例的基础上,所述测试模块,具体用于:
根据每一个所述目标测试用例对所述待测试协议进行功能性校验;
若判断获知所述功能性校验失败,则进行测试环境恢复。
具体的,测试模块通过每一个目标测试用例对待测试协议进行功能性校验,即依次将目标测试用例输入到被测设备DUT中,检测该目标测试用例对应的功能测试在被测设备DUT中是否能够正常运行。如果能正常运行,则检测成功,然后检查是否为最后一个目标测试用例,如果不是,则继续执行下一目标测试用例的测试,如果是最后一个,则结束测试。如果当前目标测试用例的功能性校验失败,则需要进行测试环境恢复,使得被测设备DUT的测试环境恢复到可用状态。
本发明实施例通过对被测设备进行功能性校验,并在功能性校验失败时进行环境恢复,保证了测试能够顺利执行。
在上述实施例的基础上,所述装置,还包括:
筛选模块,用于根据用户需求对所述至少一个目标测试用例进行筛选。
具体的,每个协议测试数据的测试有不同的侧重点,在测试装置中存储的是所有协议各个方面的测试用例,因此,当测试装置根据协议类型生成的至少一个目标测试用例中,包括了待测试协议对应的所有的测试用例,但是,实际情况下,用户对每台被测设备的通讯性能要求不同,有时可能只要被测设备的某一方面的通讯性能要求较高,而对其他方面的通讯性能没有要求或要求较低,如果使用该待测试协议对应的所有的测试用例对被测设备进行健壮性测试,则会需要较多的时间,从而导致测试效率低的问题。因此筛选模块可以根据用户需求,对至少一个目标测试用例进行筛选,仅对用户关心的通讯性能进行测试。
本发明实施例通过根据用户需求对至少一个目标测试用例进行筛选,从而实现有针对性的测试,缩短了测试时间,提高了测试效率。
在上述各实施例的基础上,所述装置,还包括:
第二生成模块,用于若判断获知所述待测试协议不是所述标准协议,则根据预设模板生成对应的目标测试用例。
具体的,第二生成模块在接收到待测试协议后如果判断获知待测试协议不是标准协议,那就说明该待测试协议是用户编写的私有协议,此时,可以根据预设模板生成待测试协议的目标测试用例,从而实现对待测试协议的健壮性测试。应当说明的是,预设模板也是预先存入到测试装置中的,通过解析待测试协议,根据待测试协议中的各个数据类型和预设模板便可以自动生成对应的目标测试用例。
本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
本发明实施例通过判断获知待测试协议不是标准协议,则根据预设模板生成对应的目标测试用例,因此,测试装置不仅可以对标准协议进行健壮性测试,还可以对私有协议进行测试,进一步提高了测试的普适性及效率。
图4为本发明实施例提供的协议健壮性测试系统结构示意图,如图4所示,包括:测试装置401、被测设备402和用户终端403,其中测试装置401与分别与被测设备402和用户终端403通信连接,测试装置401包括:接收模块4011、第一生成模块4012、测试模块4013、存储模块4014、发送模块4015、筛选模块4016和第二生成模块4017。被测设备402向测试装置401发送待测试协议,测试装置401将生成的目标测试用例发送给被测设备402,在测试过程中,被测设备向测试装置401发送校验信息,测试装置401将测试结果发送给用户终端403,以通知目标账户。
应当说明的是接收模块4011、第一生成模块4012、测试模块4013、存储模块4014、发送模块4015、筛选模块4016和第二生成模块4017与上述实施例中对应模块相同,本发明实施例不再赘述。
图5为本发明实施例提供的电子设备实体结构示意图,如图5所示,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;其中,
所述处理器501和存储器502通过所述总线503完成相互间的通信;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收用户通过被测设备输入的待测试协议的协议数据;若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收用户通过被测设备输入的待测试协议的协议数据;若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收用户通过被测设备输入的待测试协议的协议数据;若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种协议健壮性测试方法,其特征在于,包括:
接收用户通过被测设备输入的待测试协议的协议数据;
若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;
根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果,其中,所述根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,包括:根据每一个所述目标测试用例对所述待测试协议进行功能性校验;若判断获知所述功能性校验失败,则进行测试环境恢复;
其中,所述方法还包括:
若判断获知所述待测试协议不是所述标准协议,则根据预设模板生成对应的目标测试用例;
其中,所述方法还包括:
将所述测试结果生成测试报告,并发送至目标账户。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
预先通过python语言生成每一个标准协议对应的至少一个测试用例,并将所有的测试用例进行存储。
3.根据权利要求1所述的方法,其特征在于,在所述基于所述协议类型,生成对应的至少一个目标测试用例之后,所述方法,还包括:
根据用户需求对所述至少一个目标测试用例进行筛选。
4.一种协议健壮性测试装置,其特征在于,包括:
接收模块,用于接收用户通过被测设备输入的待测试协议的协议数据;
第一生成模块,用于若判断获知所述待测试协议为标准协议,则根据所述待测试协议获得对应的协议类型,并基于所述协议类型,生成对应的至少一个目标测试用例;
测试模块,用于根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,获得测试结果,其中,所述根据每一个所述目标测试用例对所述待测试协议进行健壮性测试,包括:根据每一个所述目标测试用例对所述待测试协议进行功能性校验;若判断获知所述功能性校验失败,则进行测试环境恢复;
其中,所述装置还包括:
发送模块,用于将所述测试结果生成测试报告,并发送给目标账户;
其中,所述装置还包括:
第二生成模块,用于若判断获知所述待测试协议不是所述标准协议,则根据预设模板生成对应的目标测试用例。
5.根据权利要求4所述的装置,其特征在于,所述装置,还包括:
存储模块,用于预先通过python语言生成每一个标准协议对应的至少一个测试用例,并将所有的测试用例进行存储。
6.根据权利要求4所述的装置,其特征在于,所述装置,还包括:
筛选模块,用于根据用户需求对所述至少一个目标测试用例进行筛选。
7.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-3任一项所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-3任一项所述的方法。
CN201711037449.5A 2017-10-30 2017-10-30 一种协议健壮性测试方法及装置 Active CN107888446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711037449.5A CN107888446B (zh) 2017-10-30 2017-10-30 一种协议健壮性测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711037449.5A CN107888446B (zh) 2017-10-30 2017-10-30 一种协议健壮性测试方法及装置

Publications (2)

Publication Number Publication Date
CN107888446A CN107888446A (zh) 2018-04-06
CN107888446B true CN107888446B (zh) 2020-11-27

Family

ID=61782999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711037449.5A Active CN107888446B (zh) 2017-10-30 2017-10-30 一种协议健壮性测试方法及装置

Country Status (1)

Country Link
CN (1) CN107888446B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039814B (zh) * 2018-07-26 2019-10-25 北京明朝万达科技股份有限公司 一种协议测试方法及装置
CN110442487A (zh) * 2019-08-13 2019-11-12 东信和平科技股份有限公司 一种智能卡通讯协议测试方法、装置、系统及可读介质
CN111459794B (zh) * 2020-02-25 2024-03-15 西安广和通无线软件有限公司 通信网络测试方法、装置、计算机设备和存储介质
CN111416756B (zh) * 2020-03-13 2021-12-14 深圳市腾讯信息技术有限公司 协议测试方法、装置、计算机设备及存储介质
CN112328394B (zh) * 2020-11-03 2024-03-01 北京信而泰科技股份有限公司 协议仿真中消息序列处理方法、装置及可读介质
CN117411955A (zh) * 2023-10-13 2024-01-16 中科驭数(北京)科技有限公司 健壮性测试方法、装置、电子设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158627A (zh) * 2014-08-25 2014-11-19 北京邮电大学 一种异构链路多协议的自动识别系统和方法
CN104243114A (zh) * 2014-09-26 2014-12-24 浙江中控技术股份有限公司 通讯健壮性测试方法和平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060262729A1 (en) * 2005-05-17 2006-11-23 Chau Man Chun S Method and system for testing communication protocols in network communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158627A (zh) * 2014-08-25 2014-11-19 北京邮电大学 一种异构链路多协议的自动识别系统和方法
CN104243114A (zh) * 2014-09-26 2014-12-24 浙江中控技术股份有限公司 通讯健壮性测试方法和平台

Also Published As

Publication number Publication date
CN107888446A (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN107888446B (zh) 一种协议健壮性测试方法及装置
CN107122258B (zh) 用于测试接口的状态码校验的方法及设备
CN111177005B (zh) 业务应用的测试方法、装置、服务器和存储介质
CN109947641B (zh) 自动化测试方法及装置
CN106484611B (zh) 基于自动化协议适配的模糊测试方法和装置
CN114185708A (zh) 基于分布式链路追踪的数据分析方法、装置和电子设备
CN108241580B (zh) 客户端程序的测试方法及终端
CN107347048B (zh) 数据校验的方法、装置及系统
CN111245900A (zh) 一种分布式消息发送的处理系统及其处理方法
CN109656791B (zh) 一种基于Jmeter的gRPC性能测试方法及装置
CN106210159B (zh) 一种域名解析方法和设备
CN111371581A (zh) 物联网卡业务异常检测的方法、装置、设备和介质
CN111967021B (zh) 一种漏洞处理方法、装置、设备及计算机可读存储介质
CN108881320B (zh) 一种用户登陆的认证处理方法、服务器及客户端
CN116431522A (zh) 一种低代码对象存储网关自动化测试方法及系统
CN111538994A (zh) 一种系统安全检测及修复方法、装置、存储介质及终端
CN111628911B (zh) Cdn网络回源异常的测试方法、装置和终端设备
CN115328734A (zh) 跨服务的日志处理方法、装置及服务器
CN104579825A (zh) 应用的服务端实时监测方法、装置以及计算机设备
CN114650211A (zh) 故障修复方法、装置、电子设备和计算机可读存储介质
CN114579809A (zh) 事件分析方法、装置、电子设备及存储介质
CN110362464B (zh) 软件分析方法及设备
CN112948195A (zh) 接口测试的方法、装置、电子设备和存储介质
CN111737129A (zh) 服务控制方法、装置、计算机可读介质及电子设备
CN111026631A (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
CB02 Change of applicant information

Address after: 100088 Building 3 332, 102, 28 Xinjiekouwai Street, Xicheng District, Beijing

Applicant after: Qianxin Technology Group Co.,Ltd.

Address before: 100015 Jiuxianqiao Chaoyang District Beijing Road No. 10, building 15, floor 17, layer 1701-26, 3

Applicant before: Beijing Qi'anxin Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant