CN115766469A - 网络异常模拟测试方法、装置、电子设备及存储介质 - Google Patents

网络异常模拟测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115766469A
CN115766469A CN202211184256.3A CN202211184256A CN115766469A CN 115766469 A CN115766469 A CN 115766469A CN 202211184256 A CN202211184256 A CN 202211184256A CN 115766469 A CN115766469 A CN 115766469A
Authority
CN
China
Prior art keywords
test
tested
simulation test
simulation
information
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
Application number
CN202211184256.3A
Other languages
English (en)
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.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202211184256.3A priority Critical patent/CN115766469A/zh
Publication of CN115766469A publication Critical patent/CN115766469A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种网络异常模拟测试方法、装置、电子设备及存储介质,涉及计算机技术领域。应用于电子设备的操作系统。该方法包括:获取待测试系统的第一运行信息。确定模拟测试开始命令,对待测试系统进行异常模拟测试,获取并显示待测试系统的测试信息,使用户根据测试信息确定待测试系统进行异常模拟测试的执行能力和待测试系统的处理能力。确定模拟测试结束命令,根据模拟测试结束命令获取待测试系统的第二运行信息,使用户根据第一运行信息和第二运行信息确定待测试系统的恢复能力。通过在操作系统执行模拟测试开始命令和模拟测试结束命令实现网络异常模拟测试,无需安装测试软件即可实现网络异常模拟测试,使得测试更为简单便捷。

Description

网络异常模拟测试方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种网络异常模拟测试方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,信息系统信息化程度也越来越高,在系统的使用过程中,由于网络问题导致的故障也越来越多。因此,为避免类似故障事件的再次发生,则需要提前模拟网络异常场景,对待测试系统进行异常模拟测试,以获取待测试系统在面对网络异常场景时的反应,便于测试人员根据测试结果优化系统。
而目前众多的网络整体测试方法是在测试主机上安装指定软件并使用专业监测设备例如网络损伤仪对网络异常状态进行模拟,通过对一项或多项指标如:延时,抖动,迟到,重复,乱序,丢包等的测试,得出最终在网络异常状态下的待测试系统的测试结果。而网络损伤仪价格昂贵,且在每次进行网络异常模拟测试时均需要专业人员在测试主机上安装软件。因此,这种通过安装软件并使用外接的专业检测设备进行网络异常模拟测试的方法耗费成本高,且操作复杂。
发明内容
本申请提供一种网络异常模拟测试方法、装置、电子设备及计算机可读存储介质,用以解决现有技术中存在的通过安装软件并使用外接的专业检测设备进行网络异常模拟测试的方法耗费成本高且操作复杂的问题。
第一方面,本申请提供一种网络异常模拟测试方法,应用于电子设备的操作系统,该方法包括:获取待测试系统的第一运行信息;确定模拟测试开始命令,根据模拟测试开始命令对待测试系统进行异常模拟测试,获取并显示待测试系统的测试信息,以用于用户根据测试信息和测试预期结果,确定待测试系统进行异常模拟测试的执行能力,其中,若测试信息和测试预期结果不一致,则确定待测试系统进行异常模拟测试的执行能力为未执行,若测试信息和测试预期结果一致,则确定待测试系统进行异常模拟测试的执行能力为已执行,并且用于用户根据测试信息确定待测试系统的处理能力;确定模拟测试结束命令,根据模拟测试结束命令获取待测试系统的第二运行信息,以用于用户根据第一运行信息和第二运行信息,确定待测试系统的恢复能力,其中,若第二运行信息和第一运行信息一致,则待测试系统的异常模拟测试通过,恢复能力为恢复正常,若第二运行信息和第一运行信息不一致,则待测试系统的异常模拟测试失败,恢复能力为恢复异常。
本申请实现方式提供的网络异常模拟测试方法,通过在操作系统执行模拟测试开始命令和模拟测试结束命令的测试命令实现网络异常模拟测试。由此,无需安装测试软件即可实现网络异常模拟测试。进一步地,基于模拟测试过程中获取的待测试系统的测试信息,可以用于用户根据测试信息和测试预期结果确定待测试系统的执行能力也即待测试系统是否执行了网络异常模拟测试,若测试信息和测试预期结果一致,则说明待测试系统进行网络异常模拟测试的执行能力为已执行,若为已执行,则用户可以根据测试信息确定待测试系统处于网络异常状态下的处理能力,也即用户可以根据测试信息确定待测试系统是否具备面对网络异常的处理能力。其中,测试预期结果根据模拟测试开始命令确定。
进一步地,根据第一运行信息和第二运行信息可以观察待测试系统在经历网络异常模拟后是否具有恢复至原水平的恢复能力。也即,通过判断获取的第二运行信息是否和第一运行信息一致。若一致则说明待测试系统具有恢复能力。若不一致,则说明待测试系统未通过网络异常模拟测试。
由此,基于测试命令,可以直观分析模拟测试是否合适,并且无需专业测试人员便可执行模拟测试并可直观观察测试结果。基于操作系统的以执行测试命令的方式执行模拟测试操作简单,且无需外部设备因此减少了测试费用,并且无需安装任何测试软件。而且基于测试命令模拟测试,可以模拟不同的测试场景,模拟测试多样,且因为是操作系统测试,无需经过其他测试设备也使得测试结果无需传输,减少了测试干扰,使得测试结果可靠实用。并且,基于操作系统进行测试,可以适用于多种测试系统和测试场景,基于提前进行模拟测试有效预防了在真正遇到网络异常情况下待测试系统会出现的各种问题。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,该方法还包括:实时监控时间节点;根据时间节点,以及时间节点对应的第一运行信息、测试信息以及第二运行信息,生成测试报告。
本申请实现方式中,通过监控切换时间节点可以方便测试人员查看整个测试过程。通过获取在模拟测试之前的第一运行信息、在模拟测试过程中的测试信息以及在模拟测试结束后的第二运行信息。将这些信息进行记录生成测试报告,方便测试人员查看整个测试周期中待测试系统的状态变化和性能变化等。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,获取待测试系统的第一运行信息,包括:获取待测试系统的最大处理能力和预设的压力阈值;根据最大处理能力和预设的压力阈值确定待测试系统的负载压力;根据负载压力运行待测试系统之后,获取待测试系统的第一运行信息。
即本申请实现方式中,按照在混合测试场景中测试交易的比例,以待测试系统的最大处理能力的预设的压力阈值的压力作为负载压力,根据负载压力运行待测试系统。以使待测试系统在稳定的压力状态下进行模拟测试。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,第一运行信息包括待测试系统的初始处理能力值和待测试系统的状态信息;测试信息包括待测试系统的测试数据和待测试系统的状态信息;第二运行信息包括待测试系统的恢复处理能力值和待测试系统的状态信息。
本申请实现方式中,根据测试数据可以确定待测试系统是否执行了模拟测试也即网络异常模拟执行状态为已执行还是未执行。并且根据状态信息确定模拟测试过程待测试系统的面对网络异常时的网络异常数据处理能力。通过监控测试服务器的初始能力值和恢复能力值以及状态信息确定待测试系统是否具备网络正常状态下的恢复能力。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,根据负载压力运行待测试系统之后,获取待测试系统的第一运行信息,包括:根据负载压力运行待测试系统第一时间之后,获取待测试系统的第一运行信息。
本申请实现方式中,在平稳负载压力下,并且在待测试系统稳定运行第一时间后,获取待测试系统在稳定运行状态下的第一运行信息。以得到稳压状态下待测试系统未经历网络异常模拟测试的初始运行信息(也即第一运行信息)。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,确定模拟测试开始命令,包括:接收用户的模拟测试开始运行操作,以确定模拟测试开始命令;确定模拟测试结束命令,包括:接收用户的模拟测试结束运行操作,以确定模拟测试结束命令。
本申请实现方式中,通过测试人员在内嵌的操作系统中输入模拟测试命令(即模拟测试开始命令和模拟测试结束命令),无需安装软件和外部设备,因此减少了测试费用。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,根据模拟测试开始命令对待测试系统进行异常模拟测试,并获取待测试系统的测试信息,包括:根据模拟测试开始命令对待测试系统进行异常模拟测试第二时间后,获取待测试系统的测试信息。
本申请实现方式中,根据模拟测试开始指令执行相应的网络异常操作,并且持续执行网络异常模拟第二时间,持续获取待测试系统在第二时间期间的测试信息。以使测试人员根据测试信息观察网络异常模拟测试的状态。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,根据模拟测试结束命令获取待测试系统的第二运行信息,包括:根据待测试系统执行模拟测试结束指令第三时间后,获取待测试系统的第二运行信息。
本申请实现方式中,根据模拟测试结束命令退出相应的网络异常操作,并且在网络恢复模式下持续执行第三时间,持续获取待测试系统在第三时间后的第二运行信息。以使测试人员根据第二运行信息和第一运行信息观察待测试系统的恢复能力。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,状态信息包括中央处理器利用率、内存占用率、系统磁盘繁忙程度、应用服务进程、消息队列以及数据库运行情况。
本申请实现方式中,在网络异常模拟测试中,根据状态信息可以监控待测试系统的是否处于网络异常场景中,根据状态信息还可以监控待测试系统在网络异常场景中的性能和处理能力,以及在网络恢复状态下的恢复能力。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,若模拟测试开始命令包括测试网络延迟开始命令,则模拟测试结束命令包括测试网络延迟结束命令;若模拟测试开始命令包括测试丢包开始命令,则模拟测试结束命令包括测试丢包结束命令;若模拟测试开始命令包括测试数据包重复开始命令,模拟测试结束命令包括测试数据包重复结束命令;若模拟测试开始命令包括测试数据包损坏开始命令,模拟测试结束命令包括测试数据包损坏结束命令;若模拟测试开始命令包括测试数据包乱序开始命令,模拟测试结束命令包括测试数据包乱序结束命令。
本申请实现方式中,通过模拟各种网络异常场景,全方位测试待测试系统面对网络异常的响应能力也即处理能力。
在本申请实现方式提供的网络异常模拟测试方法的一种实现方式中,若模拟测试开始命令为测试网络延迟开始命令,则待测试系统的测试数据包括数据包延迟率和交易日志;若模拟测试开始命令为测试丢包开始命令、测试数据包重复开始命令、测试数据包损坏开始命令、测试数据包乱序开始命令中的任意一个命令,则待测试系统的测试数据包括数据包错误率和交易日志。
本申请实现方式中,若模拟测试开始命令为测试网络延迟开始命令,则通过计算数据包延迟率来确定模拟测试开始命令是否传输至待测试系统,以及模拟测试是否成功。若模拟测试开始命令为测试丢包开始命令、测试数据包重复开始命令、测试数据包损坏开始命令、测试数据包乱序开始命令中的任意一种,则数据包异常状态为数据包错误率,也即,通过计算数据包错误率来确定模拟测试开始命令是否传输至待测试系统,以及模拟测试是否成功。进一步地,通过记录测试日志也即交易日志,用于测试人员查看测试过程中数据包变化以及待测试系统在模拟测试过程的状态变化等。
第二方面,本申请提供一种网络异常模拟测试装置,包括:第一获取模块,用于获取待测试系统的第一运行信息;第一处理模块,根据模拟测试开始命令对待测试系统进行异常模拟测试,获取并显示待测试系统的测试信息,以用于用户根据测试信息和测试预期结果,确定待测试系统进行异常模拟测试的执行能力,其中,若测试信息和测试预期结果不一致,则确定待测试系统进行异常模拟测试的执行能力为未执行,若测试信息和测试预期结果一致,则确定待测试系统进行异常模拟测试的执行能力为已执行,并且用于用户根据测试信息确定待测试系统的处理能力;第二处理模块,用于确定模拟测试结束命令,根据模拟测试结束命令获取待测试系统的第二运行信息,以用于用户根据第一运行信息和第二运行信息,确定待测试系统的恢复能力,其中,若第二运行信息和第一运行信息一致,则待测试系统的异常模拟测试通过,恢复能力为恢复正常,若第二运行信息和第一运行信息不一致,则待测试系统的异常模拟测试失败,恢复能力为恢复异常。
本申请提供的网络异常模拟测试装置,包括用于执行上述第一方面所提供的网络异常模拟测试方法的模块,因此也能实现第一方面提供的网络异常模拟测试方法所具备的有益效果(或优点)。
第三方面,本申请的实施方式提供了一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如上述第一方面的实现方式所提供的网络异常模拟测试方法。
第四方面,本申请的实施方式提供了一种计算机可读取存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述第一方面的实现方式所提供的网络异常模拟测试方法。
第五方面,本申请的实施方式提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面的实现方式所提供的网络异常模拟测试方法。
可以理解的是,上述第二方面至第五方面的有益效果也可以参见上述第一方面中的相关描述,在此不再赘述。
本申请提供的网络异常模拟测试方法,通过电子设备的操作系统内核自带系统执行测试命令实现网络异常模拟测试,并基于模拟测试过程中获取的待测试系统的测试信息,确定模拟测试过程中待测试系统的执行能力,基于模拟测试过程中获取的待测试系统的状态信息确定待测试系统是否具有应对网络异常的处理能力,基于模拟测试前后的运行信息也即第一运行信息和第二运行信息,确定待测试系统是否具有经历网络异常后的恢复能力。由此,基于测试命令,可以直观分析模拟测试是否合适,并且无需专业测试人员便可执行模拟测试。基于操作系统的内嵌命令执行模拟测试操作简单,且无需外部设备因此减少了测试费用,并且无需安装任何测试软件。而且基于测试命令模拟测试,可以模拟不同的测试场景,模拟测试多样,且因为是操作系统测试,无需经过其他测试设备也使得测试结果无需传输,减少了测试干扰,使得测试结果可靠实用。并且,基于操作系统进行测试,可以适用于多种测试系统和测试场景,基于提前进行模拟测试有效预防了在真正遇到网络异常情况下待测试系统会出现的各种问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为适用于本申请实施例的一种报文分类示意图;
图2为适用于本申请实施例的一种报文传输示意图;
图3为适用于本申请实施例的一种网络异常模拟测试方法的应用场景图;
图4为本申请实施例提供的一种网络异常模拟测试方法的流程图;
图5为本申请实施例提供的另一种网络异常模拟测试方法的流程图;
图6为本申请实施例提供的另一种网络异常模拟测试方法的流程图;
图7为本申请实施例提供的网络异常模拟测试装置的结构示意图;
图8为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
术语解释:
网络异常:数据包传输延迟、丢包、重复、损坏、乱序等。
伴随着计算机技术的飞速发展,数据信息系统信息化程度要求也越来越高,信息化系统投产版本越来越多,在系统的使用过程中,由于网络导致的生产事件也越来越多且越来越严重,尤其是数据信息系统涉及账务安全,因此进行系统性能检测更是重中之重。为避免类似生产事件再次发生,则需要提前模拟异常场景,考验待测试系统在网络异常情况下的反应,并检测待测试系统在网络异常情况下能否给出正确响应,是我们避免网络异常状态系统出现故障的正确手段。因此,如何模拟网络异常,并在异常情况下进行测试亟待解决。
现有技术中,模拟网络异常的方法大多是通过网络损伤仪模拟网络异常场景,并通过网络损伤仪模拟各种广域网环境,即模拟带宽限制、时延、时延抖动、丢包、乱序、重复报文、误码、拥塞等网络状况,在具备实验室条件的情况下,由专业的测试人员测试银行系统在真实网络环境下的运行状态。但是网络损伤仪价格昂贵,且是通过外接硬件设备来实现网络异常状态的模拟,此方法一方面需要专业的测试人员进行操作,另一方面操作复杂、无法即时获取并使用。
基于此,数据信息系统例如银行系统使用自行开发的混沌工程来模拟网络异常状态,用于了解系统对应生产环境的各种混乱状况的能力,建立对系统的强化。混沌工程一般用于混沌工程师查找系统故障的原因,也即用于获取发生异常时无法回避相应异常的情况下系统的应变能力。通过开展混动工程方面的科学实验,可以测试系统是否存在缺陷,从而了解系统在异常环境中的运行状态。但是混沌工程开源测试工具如chaosd虽然简单但需要本地部署,也即需要测试人员在系统内部进行测试部署,而数据信息系统权限和安全限制较多,若需要部署,则需要经过安全验证,因此开发周期长且实施难度大,容易被拦截,无法在短时间内实现网络异常的模拟测试。
因此,本申请提供一种基于系统内嵌软件的网络异常模拟测试方法,通过操作系统执行测试命令以实现网络异常模拟测试也即网络异常模拟非功能测试,无需外接测试设备,更无须考虑网络异常模拟测试时的系统权限和安全限制。
具体的,以操作系统为Linux操作系统为例,Linux操作系统中的流量控制器(Traffic Control,简称TC)用于Linux内核的流量控制,它利用队列规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控制。流量控制器模块实现流量控制功能采用的队列规定分为两类,一类是无类队列规定,另一类是分类队列规定。无类队列规定相对简单,而分类队列规定则引出了分类和过滤器等概念,使其流量控制功能增强。
无类队列规定是对进入网络设备(例如网卡)的数据包不加区分,统一对待的队列规定。使用无类队列规定形成的队列能够接收数据包以及重新编排、延迟或丢弃数据包。这类队列规定形成的队列可以对整个网络设备的流量进行整形,但不能细分各种情况。常用的无类队列规定主要有pfifo_fast(先进先出)、TBF(令牌桶过滤器)、SFQ(随机公平队列)、ID(前向随机丢包)等等。这类队列规定使用的流量整形手段主要是排序、限速和丢包。
而分类队列规定是对进入网络设备的数据包根据不同的需求以分类的方式区分对待的队列规定。数据包进入一个分类队列后,就需要被送到某一个类别中,也就是说需要对数据包做分类处理。并且对于分类队列,有些子队列的功能是非常简单的,它们对报文也即数据包的分组实行先来先走的策略。有些子队列则功能复杂,会将不同的报文分组进行排队、分类,并根据不同的原则,以不同的顺序发送队列中的报文分组。为实现这样的功能,这些复杂的队列需要使用不同的过滤器(Filter)来把报文分组分成不同的类别(Class)。这里把这些复杂的队列称为可分类(Classful)的队列。通常,要实现功能强大的流量控制,可分类的队列是必不可少的。因此,类别和过滤器也是流量控制的另外两个重要的基本概念。通过对数据包采用过滤器进行分类,过滤器基于接收到的数据包会返回一个决定,队列规定就根据这个决定把数据包送入相应的类进行排队。每个子类都可以再次使用它们的过滤器进行进一步的分类。直到不需要进一步分类时,数据包才进入该类包含的队列排队。除了能够包含其他队列规定之外,绝大多数分类的队列规定还能够对流量进行整形。这对于需要同时进行调度(如使用SFQ)和流量控制的场合非常有用。
示例性的,如图1所示,对于分类队列而言,类别和过滤器都是队列的内部结构,并且可分类的队列可以包含多个类别,同时,一个类别又可以进一步包含有子队列,或者子类别。所有进入该类别的报文分组可以依据不同的原则放入不同的子队列或子类别中,以此类推。而过滤器是队列用来对数据报文进行分类的工具,它决定一个数据报文将被分配到哪个类别中。例如通过过滤器1将数据包分组至类别1,而类别1中也包含子队列,子队列还可以对数据包进行分类。通过过滤器2和过滤器3将数据包分组以形成类别2,而类别2中也包含子队列,子队列还可以对数据包进行分类。
进一步地,如图2所示,无论是无类队列还是分类队列,报文也即数据包均从输入网卡也即入口接收进来,经过路由查找,确定该数据包是发送给本机还是需要进行转发。若是发送给本机的数据包,则直接递交至上层协议,例如传输控制协议(TransmissionControl Protocol,简称TCP)。如果该数据包是需要转发的,则数据包将从输出网卡也即出口转发至相应的主机也即发给其他机。而网络流量的控制通常发生在输出网卡处,也即对于网络异常状态的模拟也将是在输出网卡端执行。虽然对于路由器的入口处也可以进行流量控制,而Linux操作系统也具备相应的功能,但是一般情况下,由于无法控制自身网络之外的设备,入口处的流量控制将存在不准确的问题。所以本申请实现方式采用在输出网卡端对流量进行控制的方式,也即在输出网卡端进行网络异常模拟的控制。
并且,根据前述说明,流量控制均通过队列(Qdisc)实现,每个网卡都与一个队列相联系,每当内核需要将报文分组从网卡发送出去,都会首先将报文分组添加到该网卡所配置的队列中,由该队列决定报文分组的发送顺序。因此,本申请实现方式中,采用在Linux系统中内嵌命令用以调用无类队列或者分类队列,根据队列规则模拟网络延迟、丢包、数据包重复、数据包损坏以及数据包乱序等网络异常状态。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
请参见图3,图3是本申请实现方式提供的网络异常模拟测试方法的应用场景图。具体的,如图3所示,本申请实现方式提供的网络异常模拟测试方法应用于电子设备的操作系统,例如Linux操作系统。用于对待测试系统进行模拟测试,以验证待测试系统在面对网络异常状态时是否具有应对能力也即处理能力和在网络异常状态结束后是否具有恢复能力。
因此,本申请实现方式提供的网络异常模拟测试系统包括测试主机100和待测试系统200。其中,待测试系统包括测试服务器210以及若干主机设备220。其中,测试主机100、测试服务器210以及若干主机设备220之间可以基于路由器(图中未示出)通过网线以有线通信方式建立通信连接,当然也可以基于路由器所在的无线局域网(wireless local areanetworks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络)建立通信连接。
本申请实现方式中,通过测试主机100控制路由器的输出网卡执行网络异常模拟测试,基于路由器执行相应的网络异常模拟测试,使测试服务器210以及各主机设备220处于相应的网络异常状态,而测试主机100通过监控测试服务器210和各主机设备220在处于网络异常状态时的测试信息以及处于网络异常状态前后的运行信息(也即第一运行信息和第二运行信息)确定待测试系统200在面对网络异常时的处理能力和网络异常状态恢复后的待测试系统200的恢复能力。
示例性的,以网络延迟模拟测试为例,测试人员在测试主机100的Linux内嵌系统中输入网络延迟测试开始命令并运行,以此来控制路由器的输出网卡执行网络延迟模拟测试,使路由器的输出网卡延迟传送报文也即数据包至待测试系统200,测试主机100监控测试服务器210的测试数据(作为测试信息的部分示例),并根据测试数据确定测试服务器210是否处于测试状态。测试主机还监控测试服务器210的状态信息(作为测试信息的另一部分示例),根据测试服务器210的状态信息确定测试服务器210在面临网络延迟时是否能够达到要求的处理能力。
进一步地,测试主机100也监控并显示各主机设备220的测试数据和状态信息确定各主机设备220是否能达到要求。
需要说明的是,本申请实现方式中,各主机设备220也可基于模拟测试配合测试主机100在自身设备的显示界面上同步显示自身设备的测试数据和状态信息。
更进一步的,测试主机100还监控测试服务器210和各测试主机220在开始网络延迟测试前的第一运行信息和结束网络延迟测试后的第二运行信息,用以确定测试服务器210和各测试主机220在经历网络延迟后的恢复能力。
本申请实现方式提供的网络异常模拟测试系统,通过测试主机100的Linux内核自带命令也即在Linux操作系统上运行测试命令实现网络异常模拟测试,并基于模拟测试过程中获取的待测试系统200的测试信息,确定模拟测试是否成功也即待测试系统200的执行能力和待测试系统200是否具有应对网络异常的处理能力,基于模拟测试前后的运行信息也即第一运行信息和第二运行信息,确定待测试系统200是否具有经历网络异常后的恢复能力。由此,基于测试命令,可以直观分析模拟测试是否合适,并且无需专业测试人员便可执行模拟测试。基于Linux操作系统的内嵌命令执行模拟测试操作简单,且无需外部设备因此减少了测试费用,并且无需安装任何测试软件。而且基于测试命令模拟测试,可以模拟不同的测试场景,模拟测试多样,且因为是操作系统测试,无需经过其他测试设备也使得测试结果无需传输,减少了测试干扰,使得测试结果可靠实用。并且,基于操作系统进行测试,可以适用于多种测试系统和测试场景,基于提前进行模拟测试有效预防了在真正遇到网络异常情况下待测试系统会出现的各种问题。
接下来,请参见图4,对本申请实现方式提供的网络异常模拟测试方法进行详细说明。
本申请实现方式提供的网络异常模拟测试方法,执行如下步骤:
S110,获取待测试系统的第一运行信息。
示例性的,在测试主机100执行网络异常模拟测试前先对待测试系统200进行监控,监控待测试系统200的每秒处理数据包的能力也即初始处理能力值(TransactionsPerSecond,简称TPS)和待测试系统的状态信息(作为第一运行信息的一种示例)。其中,TPS值根据待测试系统每秒中执行的事务也即执行的数据包确定。
具体的,状态信息包括中央处理器(Central Processing Unit,简称CPU)利用率也即CPU利用率、内存占用率、系统磁盘繁忙程度也即IO繁忙程度、应用服务进程、中间件也即消息队列以及数据库运行情况。
本申请实现方式中,通过获取待测试系统200的状态信息实时监控待测试系统200在执行网络异常模拟测试前后以及执行网络异常模拟测试过程中的测试服务器210和各主机设备22的状态。
S120,确定模拟测试开始命令,根据模拟测试开始命令对待测试系统进行异常模拟测试,获取并显示待测试系统的测试信息,以用于用户根据测试信息和测试预期结果,确定待测试系统进行异常模拟测试的执行能力。
示例性的,模拟测试开始命令包括测试网络延迟开始命令也即进行网络延迟开始模拟测试的命令、测试丢包开始命令也即网络丢包开始模拟测试的命令、测试数据包重复开始命令也即数据包重复开始模拟测试的命令、测试数据包损坏开始命令也即数据包损坏开始模拟测试的命令以及测试数据包乱序开始命令也即数据包乱序的开始模拟命令。
具体的,本申请实现方式中,通过在测试主机100上执行模拟测试开始命令,在执行过程中获取并显示待测试系统200的测试信息,用于用户根据测试信息和测试预期结果,确定待测试系统200进行异常模拟测试的执行能力,其中,若测试信息和测试预期结果一致,则确定待测试系统200进行异常模拟测试的执行能力为已执行,并且用于用户根据测试信息确定待测试系统200的处理能力。
若测试信息和测试预期结果不一致,则确定待测试系统200进行异常模拟测试的执行能力为未执行。
也即,本申请实现方式中,通过获取并显示测试信息,方便用户根据测试信息和根据模拟测试开始命令确定的测试预期结果确定待测试系统200进行异常模拟测试的执行能力。若测试信息和测试预期结果一致,则说明待测试系统200已执行异常模拟测试,则用户可根据测试信息确定待测试系统200进行异常模拟测试的处理能力。若测试信息和测试预期结果不一致,则说明待测试系统200未执行异常模拟测试。
进一步地,测试信息包括待测试系统200的测试数据和待测试系统200的状态信息。
本申请实现方式中,根据测试数据可以确定待测试系统200的执行能力,根据状态信息可以确定待测试系统200的处理能力。
进一步地,若模拟测试开始命令为测试网络延迟开始命令,则待测试系统200的测试数据包括数据包延迟率和交易日志;若模拟测试开始命令为测试丢包开始命令、测试数据包重复开始命令、测试数据包损坏开始命令、测试数据包乱序开始命令中的任意一个命令,则待测试系统200的测试数据包括数据包错误率和交易日志。
S130,确定模拟测试结束命令,根据模拟测试结束命令获取待测试系统的第二运行信息,以用于用户根据第一运行信息和第二运行信息,确定待测试系统的恢复能力。
示例性的,模拟测试结束命令包括测试网络延迟结束命令也即进行网络延迟结束模拟测试的命令、测试丢包结束命令也即网络丢包结束模拟测试的命令、测试数据包重复结束命令也即数据包重复结束模拟测试的命令、测试数据包损坏结束命令也即数据包损坏结束模拟测试的命令以及测试数据包乱序结束命令也即数据包乱序的结束模拟测试的命令。
具体的,若模拟测试开始命令包括测试网络延迟开始命令,则模拟测试结束命令包括测试网络延迟结束命令。若模拟测试开始命令包括测试丢包开始命令,则模拟测试结束命令包括测试丢包结束命令。若模拟测试开始命令包括测试数据包重复开始命令,模拟测试结束命令包括测试数据包重复结束命令。若模拟测试开始命令包括测试数据包损坏开始命令,模拟测试结束命令包括测试数据包损坏结束命令。若模拟测试开始命令包括测试数据包乱序开始命令,模拟测试结束命令包括测试数据包乱序结束命令。
具体的,本申请实现方式中,通过在测试主机100上执行模拟测试结束命令,监控待测试系统200的每秒处理数据包的能力也即恢复处理能力值也即恢复TPS值和待测试系统200的状态信息(作为第二运行信息的一种示例)。根据第一运行信息和第二运行信息可以确定待测试系统200的恢复能力。
示例性的,若第二运行信息和第一运行信息一致,则待测试系统200的异常模拟测试通过,恢复能力为恢复正常,若第二运行信息和第一运行信息不一致,则待测试系统200的异常模拟测试失败,恢复能力为恢复异常。
本申请实现方式中,根据测试信息可以观察待测试系统200的进行网络异常模拟的执行能力和待测试系统200在面对网络异常时的网络异常数据处理能力。而根据第一运行信息和第二运行信息可以观察待测试系统200在经历网络异常模拟后是否具有恢复至原水平的恢复能力。也即获取的第二运行信息是否和第一运行信息相同或者相近。若相同或相近则说明待测试系统200具有恢复能力。
本申请实现方式中,通过全过程监控待测试系统200的状态信息可以查看待测试系统200在经历网络异常时的处理能力(也即待测试系统至面对网络异常状态时的数据处理能力和经历网络异常前后的数据处理能力)以及各主机设备210在经历网络异常时的性能等信息。
本申请实现方式提供的网络异常模拟测试方法,采用高可用的测试方法也即高效实用性强的测试方法,通过先获取待测试系统200的初始处理能力值也即初始TPS值和状态信息,然后基于Linux操作系统模拟测试开始命令执行模拟测试,获取测试信息,根据测试信息可以确定模拟是否成功也即待测试系统200的执行能力和待测试系统200的面对网络异常时的处理能力。并且在模拟测试结束后获取网络恢复后的待测试系统的恢复TPS值和状态信息,将初始TPS值和恢复TPS值进行对比,将模拟测试前的状态信息和模拟测试后的状态信息进行对比,以确定待测试系统200是否具备恢复能力。
由此,基于测试命令,可以直观分析模拟测试是否合适,并且无需专业测试人员便可执行模拟测试。基于Linux操作系统执行测试命令进行模拟测试操作简单,且无需安装软件和外部设备因此减少了测试费用,并且无需安装任何测试软件。而且基于测试命令模拟测试,可以模拟不同的测试场景,模拟测试多样,且因为是操作系统测试,无需经过其他测试设备也使得测试结果无需传输,减少了测试干扰,使得测试结果可靠实用。并且,基于操作系统进行测试,可以适用于多种测试系统和测试场景,提前进行模拟测试以验证待测试系统200的处理能力,能够有效预防在真正遇到网络异常情况下待测试系统200会出现的各种问题。
进一步地,请参见图5,本申请的一种实现方式中,该网络异常模拟测试方法包括如下步骤:
S210,获取待测试系统的最大处理能力和预设的压力阈值,根据最大处理能力和预设的压力阈值确定待测试系统的负载压力,根据负载压力运行待测试系统。
示例性的,按照在混合测试场景中测试交易的比例,以待测试系统200的最大处理能力的50%(作为预设的压力阈值的一种示例)的压力作为负载压力,根据负载压力运行待测试系统。
需要说明的是,本申请实现方式中,通过进行压力测试的发压机对待测试系统200进行施压。本申请实现方式中,发压机可以是现有技术中进行压力测试的施压装置,本申请实施例对发压机不进行解释说明,本领域技术人员只需在进行网络异常模拟时实现待测试系统200的压力控制即可。
还需要说明的是,本申请实现方式中,预设的压力阈值范围可以40%至70%,例如40%、45%、50%、60%、70%。本领域技术人员可根据实际需求进行设定,本实施例仅以50%为示例进行说明。
S220,根据负载压力运行待测试系统第一时间之后,获取待测试系统的第一运行信息。
示例性的,在平稳负载压力下,并且在待测试系统200稳定运行10分钟(作为第一时间的一种示例)后,获取待测试系统200在稳定运行状态下的第一运行信息。
需要说明的是,本申请实现方式中,第一时间范围可以为8分钟至20分钟,例如8分钟、10分钟、12分钟、15分钟、20分钟。本领域技术人员可根据实际需求选择运行时间,本实施例以10分钟为例作为稳定运行时间。
S230,接收用户的模拟测试开始运行操作,以确定模拟测试开始命令。
示例性的,用户也即测试人员在Linux操作系统中输入模拟测试开始命令,例如测试网络延迟开始命令、测试丢包开始命令、测试数据包重复开始命令、测试数据包损坏开始命令以及测试数据包乱序开始命令等。基于测试人员运行的模拟测试开始命令开始进行相应的异常模拟测试。
S240,根据模拟测试开始命令对待测试系统进行模拟测试第二时间后,获取待测试系统的测试信息。
示例性的,测试主机100根据模拟测试开始指令控制路由器的输出网卡执行相应的网络异常操作,并且持续执行网络异常模拟10分钟(作为第二时间的一种示例)例如网络延迟10分钟等,测试主机100持续获取待测试系统200在这10分钟期间的测试信息。
需要说明的是,本申请实现方式中,第二时间范围为8分钟至20分钟,例如8分钟、10分钟、12分钟、15分钟、20分钟。本领域技术人员可根据实际需求选择运行时间,本实施例以10分钟为例作为模拟测试运行时间。
进一步地,测试主机获取待测试系统200的测试数据和状态信息。
具体的,若模拟测试开始命令为测试网络延迟开始命令,则测试数据包括数据包延迟率和执行网络延迟模拟测试时的交易日志。也即,若网络异常模拟为网络延迟,则通过计算数据包延迟率来确定模拟测试开始命令是否传输至路由器,以及模拟测试是否成功也即确定待测试系统200的执行能力。若模拟测试开始命令为测试丢包开始命令或测试数据包重复开始命令或测试数据包损坏开始命令或测试数据包乱序开始命令,则测试数据包括数据包错误率和执行网络丢包或数据包重复或数据包损坏或数据包乱序模拟测试时的交易日志,也即,通过计算数据包错误率来确定模拟测试开始命令是否传输至路由器,以及模拟测试是否成功。
进一步地,本申请实现方式,在模拟测试过程中记录测试日志也即交易日志,用于记录测试过程中数据包变化以及待测试系统的在模拟测试过程的处理能力和状态变化等,用于测试人员查看待测试系统在网络异常状态下的响应状态和模拟测试的全过程。
S250,接收用户的模拟测试结束运行操作,以确定模拟测试结束命令。
示例性的,用户也即测试人员在Linux操作系统中输入模拟测试结束命令,例如测试网络延迟结束命令、测试丢包结束命令、测试数据包重复结束命令、测试数据包损坏结束命令以及测试数据包乱序结束命令等。基于测试人员输入的模拟测试结束命令开始退出相应的异常模拟测试。
S260,根据待测试系统执行模拟测试结束指令第三时间后,获取待测试系统的第二运行信息。
示例性的,测试主机100根据模拟测试结束指令控制路由器的输出网卡退出相应的网络异常操作,并且在网络恢复模式下持续执行10分钟(作为第三时间的一种示例),测试主机100持续获取待测试系统200在10分钟后例如第11分钟的恢复处理能力值和待测试系统200恢复后的状态信息。
需要说明的是,本申请实现方式中,第三时间范围为8分钟至20分钟,例如8分钟、10分钟、12分钟、15分钟、20分钟。本领域技术人员可根据实际需求选择运行时间,本实施例以10分钟为例作为恢复运行时间。
S270,根据测试信息和测试预期结果确定待测试系统执行异常模拟测试的执行能力。
示例性的,测试主机100根据在异常模拟测试阶段获取的测试数据和从模拟测试开始命令中的信息(也即测试预期结果)确定待测试系统200的执行能力。
其中,若测试信息和测试预期结果一致,则确定待测试系统进行异常模拟测试的执行能力为已执行,则用户根据测试信息确定待测试系统的处理能力,以及若测试信息和测试预期结果不一致,则确定待测试系统进行异常模拟测试的执行能力为未执行。具体的,若模拟测试开始命令为测试网络延迟开始命令,则通过计算数据包延迟率来确定模拟测试开始命令是否传输至路由器,以及模拟测试过程中待测试系统200的执行状态。若模拟测试开始命令为测试丢包开始命令或测试数据包重复开始命令或测试数据包损坏开始命令或测试数据包乱序开始命令,则数据包异常状态为数据包错误率,也即,通过计算数据包错误率来确定模拟测试开始命令是否传输至路由器,以及模拟测试过程中待测试系统200的执行状态。
进一步地,根据待测试系统的状态信息确定模拟测试过程待测试系统的面对网络异常时的网络异常数据处理能力。
进一步地,本申请实现方式,通过记录测试日志也即交易日志,用于测试人员查看测试过程中数据包变化以及待测试系统的在模拟测试过程的状态变化等。
S280,根据第一运行信息和第二运行信息确定待测试系统的退出异常模拟测试的恢复能力。
示例性的,若确定第二运行信息与第一运行信息相同,则确定待测试系统200的异常模拟测试通过,恢复能力为恢复正常;若确定第二运行信息与第一运行信息不相同,则确定待测试系统200的异常模拟测试失败,恢复能力为恢复异常。
也即根据第一运行信息和第二运行信息可以观察待测试系统200在经历网络异常模拟后是否具有恢复至原水平的恢复能力。也即获取的第二运行信息是否和第一运行信息相同或者相近。若相同或相近则说明待测试系统200恢复能力正常,否则待测试系统的恢复能力异常,也即异常模拟测试失败。
其中,第一运行信息包括待测试系统的初始处理能力值和待测试系统的状态信息。第二运行信息包括待测试系统的恢复处理能力值和待测试系统的状态信息。
也即,本申请实现方式中,测试主机100通过监控测试服务器210的状态信息,根据测试服务器210的状态信息确定测试服务器210在面临网络延迟时是否能够达到要求的处理能力。并且,各主机设备220也监控并显示自身设备的测试信息和状态能力,用于测试人员根据各主机设备220的测试信息和状态能力确定各主机设备是否能达到要求。
进一步地,本申请实现方式中,第一运行信息和第二运行信息也包括交易日志,也即本申请实现方式对网络异常模拟测试全过程都进行日志记载,以使测试人员根据交易日志分析待测试系统在网络异常模拟前后的性能。
进一步地,参见图6,本申请实现方式提供的网络异常模拟测试方法还执行如下步骤:
S310,以待测试系统最大处理能力的预设的压力阈值百分比作为负载压力向被测试系统施压,场景稳定运行第一时间,并获取待测试系统在负载压力下运行第一时间后的第一运行信息。
示例性的,按照在混合测试场景中测试交易的比例,以待测试系统200的最大处理能力的50%的压力作为负载压力,根据负载压力运行待测试系统200。并且是场景稳定运行10分钟,并在此期间或者10分钟后获取待测试系统200的初始处理能力值和状态信息。
S320,根据模拟测试开始命令在所有发压机上执行对应的异常模拟测试,获取在模拟测试下待测试系统的测试信息。
示例性的,若进行网络延迟模拟测试,则测试主机100根据测试网络延迟开始命令在所有发压机上执行测试网络延迟开始命令。例如使数据包延迟100毫秒(ms)左右发送,测试主机100则检测待测试系统200收到数据包的时间是否延迟了100毫秒。并且,测试主机100还获取交易日志以及状态信息,用于监测在网络异常模拟过程中,待测试系统200是否执行了网络异常模拟操作,在网络异常状态下,待测试系统200是否符合预期测试结果。
例如,以测试网络延迟开始命令为“***add***eth0***delay 100ms 10ms”为例,通过该命令可以将网卡eth0的传输设置为100ms加减10ms,也即延迟90ms至110ms之间的任意值发送。
进一步地,若进行网络丢包模拟测试,则测试主机100根据测试网络丢包开始命令在所有发压机上执行测试网络丢包开始命令。例如使数据包错误率达到10%左右,测试主机100则检测待测试系统200的数据包错误率达到10%左右。并且,测试主机100还获取交易日志以及状态信息,用于监测在网络异常模拟过程中,待测试系统200是否执行了网络异常模拟操作,在网络异常状态下,待测试系统200是否符合预期测试结果。
例如,以测试网络丢包开始命令为“***add***eth0***loss 1%”为例,通过该命令可以将网卡的传输设置为随机丢掉1%的数据包。或者以“***add***eth0***loss10%”为例,通过该命令可以将网卡的传输设置为随机丢掉10%的数据包。或者以“***add***eth0***loss 1%30%”为例,该命令将网卡的传输设置为随机丢掉1%的数据包,成功率为30%。
进一步地,若进行数据包重复模拟测试,则测试主机100根据测试数据包重复开始命令在所有发压机上执行测试数据包重复开始命令。例如使数据包错误率达到10%左右,测试主机100则检测待测试系统200的数据包错误率达到10%左右。并且,测试主机100还获取交易日志以及状态信息,用于监测在网络异常模拟过程中,待测试系统200是否执行了网络异常模拟操作,在网络异常状态下,待测试系统200是否符合预期测试结果。
例如,以测试数据包重复开始命令“***add***eth0***duplicate 1%”为例,通过该命令可以将网卡的传输设置为随机产生1%的重复数据包。
进一步地,若进行数据包损坏模拟测试,则测试主机100根据测试数据包损坏开始命令在所有发压机上执行测试数据包损坏开始命令。例如使数据包错误率达到10%左右,测试主机100则检测待测试系统200的数据包错误率达到10%左右。并且,测试主机100还获取交易日志以及状态信息,用于监测在网络异常模拟过程中,待测试系统200是否执行了网络异常模拟操作,在网络异常状态下,待测试系统200是否符合预期测试结果。
例如,以测试数据包损坏开始命令“***add***eth0***corrupt 0.2%”为例,数据包损坏开始命令将网卡的传输设置为随机产生0.2%的损坏的数据包。
进一步地,若进行数据包乱序模拟测试,则测试主机100根据测试数据包乱序开始命令在所有发压机上执行测试数据包乱序开始命令。例如使数据包错误率达到10%左右,测试主机100则检测待测试系统200的数据包错误率达到10%左右。并且,测试主机100还获取交易日志以及状态信息,用于监测在网络异常模拟过程中,待测试系统200是否执行了网络异常模拟操作,在网络异常状态下,待测试系统200是否符合预期测试结果。
例如,以测试数据包乱序开始命令为“***change***eth0***delay 10ms reorder25%50%”为例,通过该命令可以将网卡的传输设置为有25%的数据包至50%的数据包会被立即发送,其他的延迟10秒。或者以“***add***eth0***delay 100ms 10ms”为例,通过该命令可以将网卡的传输设置为将数据包随机延迟90ms至110ms之间的任意值发送。
S330,监控待测试系统的测试信息,根据测试信息确定待测试系统的执行能力。
示例性的,在网络异常模拟测试中,观察各交易错误率或交易延迟率、处理能力、响应时间及各主机资源情况。也即测试主机100监控待测试系统200的所有相关交易响应时间是否符合预期测试结果(也即交易错误率交易错误率或交易延迟率),总TPS值是否降低(也即处理能力),应用CPU是否小于等于60%,数据库CPU是否小等于80%(也即各主机资源情况)。由此,通过上述信息确定待测试系统200是否处于网络延迟场景中。
本申请实现方式中通过“***show dev eth0”命令查看并显示eth0网卡的相关传输配置。
进一步地,本申请实现方式中,测试主机100还监控待测试系统的其他状态数据,以此来获取待测试系统200在网络延迟状态下的响应能力也即处理能力。
S340,根据模拟测试结束命令控制路由器退出对应的模拟测试,获取在退出异常模拟测试下待测试系统的第二运行信息。
示例性的,通过在测试主机100上执行模拟测试结束命令,监控待测试系统的恢复处理能力值和待测试系统的状态信息。
具体的,将模拟测试开始命令“add”修改为删除指令“del”,即可生成模拟测试结束命令。例如“***del***”,该命令将删除eth0网卡的相关传输配置。
S350,分析和记录测试结果数据(也即第一运行信息和第二运行信息)。
示例性的,实时监控时间节点,根据时间节点,以及对应的第一运行信息、测试信息以及第二运行信息,生成测试报告。
具体的,时间节点包括稳定运行第一时间的时间点、执行模拟测试开始命令时的时间点、执行模拟测试开始命令第二时间的时间点、执行模拟测试结束命令的时间点、执行模拟测试结束命令第三时间的时间点。通过监控记录切换时间,考察节点的切换时间及交易延迟率或者交易错误率可以方便测试人员查看整个测试过程。
进一步地,实时监控在模拟测试之前的第一运行信息也即初始处理能力值和初始状态的状态信息,实时监控在模拟测试过程中的测试信息也即交易延迟率或者交易错误率和交易日志和测试过程中的状态信息,实时监控在模拟测试结束后的第二运行信息也即恢复处理能力值和恢复状态的状态信息。将这些信息进行记录生成测试报告,方便测试人员查看整个测试周期中待测试系统200的状态变化和性能变化等。例如,查看在网络延迟命令取消后也即执行测试网络延迟结束命令后,也即第11分钟内,交易也即数据包的响应时间和总处理能力值即TPS值是否恢复正常值,到达原来的水平(也即是否重新恢复为第一运行信息的数值)。查看在网络延迟命令取消后也即执行测试丢包结束命令、测试数据包重复结束命令、测试数据包损坏结束命令、测试数据包乱序结束命令第三时间(例如10分钟)之后,也即第11分钟内交易也即数据包的响应时间和总处理能力值即TPS值是否恢复正常值,到达原来的水平,交易无错误(也即是否重新恢复为第一运行信息的数值)。
也即本申请实现方式中,通过获取测试数据可以监控在网络延迟模拟测试过程中所有相关交易响应时间是否延长100毫秒左右,在网络丢包模拟测试过程中、数据包重复模拟测试过程中、数据包损坏模拟测试过程中、数据包乱序模拟测试过程中所有相关交易是否出现错误,错误率是否为10%左右,总TPS值是否降低,以此来验证模拟测试过程中待测试系统是否经历网络异常以及确定在网络异常状态下待测试系统200的执行能力。
进一步地,本申请实现方式通过查看执行测试网络延迟结束命令/测试丢包结束命令/测试数据包重复结束命令/测试数据包损坏结束命令/测试数据包乱序结束命令后的第二运行信息,验证待测试系统200是否恢复正常。
进一步地,本申请实现方式中,通过交易日志可以使得测试人员可以实时监控测试过程。
进一步地,本申请实现方式中,通过监控测试服务器210和各主机设备220的主机CPU利用率、内存占用率、IO繁忙程度、应用服务进程、中间件也即消息队列以及数据库运行情况可以实时监控在网络异常过程中待测试系统200的状态和性能。方便测试人员根据上述信息监控系统面对网络异常的相应能力。
需要说明的是,本申请实现方式中,以Linux操作系统为例说明网络异常模拟方法的具体执行过程,本领域技术人员也可以通过Windows操作系统实现网络异常模拟方法。
还需要说明的是,本申请实现方式提供的网络异常模拟测试方法,用于银行系统的网络异常模拟非功能测试中,当然,其也可以用于其他数据信息系统以实现网络异常模拟测试。
进一步地,参见图7,图7为本申请实施例提供的网络异常模拟测试装置的结构示意图。如图7所示,该网络异常模拟测试装置,包括:第一获取模块701、第一处理模块702以及第二处理模块703。
其中,第一获取模块701,用于获取待测试系统的第一运行信息。
第一处理模块702,用于确定模拟测试开始命令,根据模拟测试开始命令对待测试系统进行异常模拟测试,获取并显示待测试系统的测试信息,以用于用户根据测试信息和测试预期结果,确定待测试系统进行异常模拟测试的执行能力,其中,若测试信息和测试预期结果不一致,则确定待测试系统进行异常模拟测试的执行能力为未执行,若测试信息和测试预期结果一致,则确定待测试系统进行异常模拟测试的执行能力为已执行,并且用于用户根据测试信息确定待测试系统的处理能力。
第二处理模块703,用于确定模拟测试结束命令,根据模拟测试结束命令获取待测试系统的第二运行信息,以用于用户根据第一运行信息和第二运行信息,确定待测试系统的恢复能力,其中,若第二运行信息和第一运行信息相同,则待测试系统的异常模拟测试通过,恢复能力为恢复正常,若第二运行信息和第一运行信息不相同,则待测试系统的异常模拟测试失败,恢复能力为恢复异常。
本申请实施例提供的网络异常模拟测试装置,可用于执行上述实施例中描述的网络异常模拟测试方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图8为本申请实施例提供的电子设备的结构示意图。如图8所示,该电子设备可以包括:收发器121、处理器122、存储器123。
处理器122执行存储器存储的计算机执行指令,使得处理器122执行上述实施例中的方案。处理器122可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器123通过系统总线与处理器122连接并完成相互间的通信,存储器123用于存储计算机程序指令。
举例来说而非限制,存储器123可包括硬盘驱动器(hard disk drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器123可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器123可在综合网关设备的内部或外部。在特定实施例中,存储器123是非易失性固态存储器。在特定实施例中,存储器123包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存,或者两个或及其以上这些的组合。
收发器121可以用于获取待运行任务和待运行任务的配置信息。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。
本申请实施例提供的电子设备,可以是上述实施例的终端设备。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中网络异常模拟测试方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例网络异常模拟测试方法的技术方案。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本申请实施例所记载的网络异常模拟测试方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实现方式还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中网络异常模拟测试方法的技术方案。
本申请是参照根据本申请的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信息处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信息处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

Claims (16)

1.一种网络异常模拟测试方法,其特征在于,应用于电子设备的操作系统,所述方法包括:
获取待测试系统的第一运行信息;
确定模拟测试开始命令,根据所述模拟测试开始命令对所述待测试系统进行异常模拟测试,获取并显示所述待测试系统的测试信息,以用于用户根据所述测试信息和测试预期结果,确定所述待测试系统进行所述异常模拟测试的执行能力,其中,若所述测试信息和所述测试预期结果不一致,则确定所述待测试系统进行所述异常模拟测试的所述执行能力为未执行,若所述测试信息和所述测试预期结果一致,则确定所述待测试系统进行所述异常模拟测试的所述执行能力为已执行,并且用于用户根据所述测试信息确定所述待测试系统的处理能力;
确定模拟测试结束命令,根据所述模拟测试结束命令获取所述待测试系统的第二运行信息,以用于用户根据所述第一运行信息和所述第二运行信息,确定所述待测试系统的恢复能力,其中,若所述第二运行信息和所述第一运行信息一致,则所述待测试系统的异常模拟测试通过,所述恢复能力为恢复正常,若所述第二运行信息和所述第一运行信息不一致,则所述待测试系统的异常模拟测试失败,所述恢复能力为恢复异常。
2.根据权利要求1所述的网络异常模拟测试方法,其特征在于,获取待测试系统的第一运行信息,包括:
获取所述待测试系统的最大处理能力和预设的压力阈值;
根据所述最大处理能力和所述预设的压力阈值确定所述待测试系统的负载压力;
根据所述负载压力运行所述待测试系统之后,获取所述待测试系统的所述第一运行信息。
3.根据权利要求2所述的网络异常模拟测试方法,其特征在于,所述方法还包括:
实时监控时间节点;
根据所述时间节点,以及所述时间节点对应的所述第一运行信息、所述测试信息以及所述第二运行信息,生成测试报告。
4.根据权利要求2或3所述的网络异常模拟测试方法,其特征在于,
所述第一运行信息包括所述待测试系统的初始处理能力值和所述待测试系统的状态信息;
所述测试信息包括所述待测试系统的测试数据和所述待测试系统的状态信息;
所述第二运行信息包括所述待测试系统的恢复处理能力值和所述待测试系统的状态信息。
5.根据权利要求2-4任意一项所述的网络异常模拟测试方法,其特征在于,根据所述负载压力运行所述待测试系统之后,获取待测试系统的所述第一运行信息,包括:
根据所述负载压力运行所述待测试系统第一时间之后,获取所述待测试系统的所述第一运行信息。
6.根据权利要求1-5任意一项所述的网络异常模拟测试方法,其特征在于,
确定模拟测试开始命令,包括:接收用户的模拟测试开始运行操作,以确定所述模拟测试开始命令;
确定模拟测试结束命令,包括:接收用户的模拟测试结束运行操作,以确定所述模拟测试结束命令。
7.根据权利要求1-6任意一项所述的网络异常模拟测试方法,其特征在于,根据所述模拟测试开始命令对所述待测试系统进行异常模拟测试,获取并显示所述待测试系统的测试信息,包括:
根据所述模拟测试开始命令对所述待测试系统进行异常模拟测试第二时间后,获取并显示所述待测试系统的测试信息。
8.根据权利要求1-7任意一项所述的网络异常模拟测试方法,其特征在于,根据所述模拟测试结束命令获取所述待测试系统的第二运行信息,包括:
根据所述待测试系统执行所述模拟测试结束指令第三时间后,获取所述待测试系统的第二运行信息。
9.根据权利要求4所述的网络异常模拟测试方法,其特征在于,所述状态信息包括中央处理器利用率、内存占用率、系统磁盘繁忙程度、应用服务进程、消息队列以及数据库运行情况。
10.根据权利要求1-9任意一项所述的网络异常模拟测试方法,其特征在于,
若所述模拟测试开始命令包括测试网络延迟开始命令,则所述模拟测试结束命令包括测试网络延迟结束命令;
若所述模拟测试开始命令包括测试丢包开始命令,则所述模拟测试结束命令包括测试丢包结束命令;
若所述模拟测试开始命令包括测试数据包重复开始命令,所述模拟测试结束命令包括测试数据包重复结束命令;
若所述模拟测试开始命令包括测试数据包损坏开始命令,所述模拟测试结束命令包括测试数据包损坏结束命令;
若所述模拟测试开始命令包括测试数据包乱序开始命令,所述模拟测试结束命令包括测试数据包乱序结束命令。
11.根据权利要求4所述的网络异常模拟测试方法,其特征在于,若所述模拟测试开始命令为测试网络延迟开始命令,则所述待测试系统的测试数据包括数据包延迟率和交易日志;
若所述模拟测试开始命令为测试丢包开始命令、测试数据包重复开始命令、测试数据包损坏开始命令、测试数据包乱序开始命令中的任意一个命令,则所述待测试系统的测试数据包括数据包错误率和所述交易日志。
12.根据权利要求1-11任意一项所述的网络异常模拟测试方法,其特征在于,所述测试预期结果根据所述模拟测试开始命令确定。
13.一种网络异常模拟测试装置,其特征在于,包括:
第一获取模块,用于获取待测试系统的第一运行信息;
第一处理模块,用于确定模拟测试开始命令,根据所述模拟测试开始命令对所述待测试系统进行异常模拟测试,获取并显示所述待测试系统的测试信息,以用于用户根据所述测试信息和测试预期结果,确定所述待测试系统进行所述异常模拟测试的执行能力,其中,若所述测试信息和测试预期结果不一致,则确定所述待测试系统进行所述异常模拟测试的执行能力为未执行,若所述测试信息和测试预期结果一致,则确定所述待测试系统进行所述异常模拟测试的执行能力为已执行,并且用于用户根据所述测试信息确定所述待测试系统的处理能力;
第二处理模块,用于确定模拟测试结束命令,根据所述模拟测试结束命令获取所述待测试系统的第二运行信息,以用于用户根据所述第一运行信息和所述第二运行信息,确定所述待测试系统的恢复能力,其中,若所述第二运行信息和所述第一运行信息一致,则所述待测试系统的异常模拟测试通过,所述恢复能力为恢复正常,若所述第二运行信息和所述第一运行信息不一致,则所述待测试系统的异常模拟测试失败,所述恢复能力为恢复异常。
14.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的所述计算机执行指令,以实现如权利要求1-12任意一项所述的网络异常模拟测试方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-12任意一项所述的网络异常模拟测试方法。
16.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-12任意一项所述的网络异常模拟测试方法。
CN202211184256.3A 2022-09-27 2022-09-27 网络异常模拟测试方法、装置、电子设备及存储介质 Pending CN115766469A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211184256.3A CN115766469A (zh) 2022-09-27 2022-09-27 网络异常模拟测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211184256.3A CN115766469A (zh) 2022-09-27 2022-09-27 网络异常模拟测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115766469A true CN115766469A (zh) 2023-03-07

Family

ID=85350350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211184256.3A Pending CN115766469A (zh) 2022-09-27 2022-09-27 网络异常模拟测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115766469A (zh)

Similar Documents

Publication Publication Date Title
CN107294808B (zh) 接口测试的方法、装置和系统
CN111600781B (zh) 一种基于测试仪的防火墙系统稳定性测试方法
CN108399114B (zh) 一种系统性能测试方法、装置及存储介质
US4797885A (en) Distributed processing system and method
CN109726061B (zh) 一种SoC芯片的验证方法
CN110650035B (zh) 用于生成和管理工业网络中的虚拟工业设备的方法和系统
CN111752850B (zh) 区块链系统的测试方法及相关设备
CN107800783B (zh) 远程监控服务器的方法及装置
KR101935105B1 (ko) 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법
CN112256593B (zh) 一种程序处理方法、装置、计算机设备和可读存储介质
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN112422361A (zh) 一种交换机测试方法、设备及介质
CN116909800B (zh) 崩溃信息的定位方法、崩溃信息的定位装置及存储介质
CN106502887A (zh) 一种稳定性测试方法、测试控制器及系统
CN111767218B (zh) 一种用于持续集成的自动化测试方法、设备及存储介质
CN115766469A (zh) 网络异常模拟测试方法、装置、电子设备及存储介质
CN111181796B (zh) 一种基于能动器的区块链共识协议测试方法及系统
CN115840686A (zh) 一种服务器性能测试方法、装置、电子设备以及存储介质
CN115470132A (zh) 自动驾驶数据记录系统的测试方法、装置、设备及介质
CN111737130B (zh) 公有云多租户认证服务测试方法、装置、设备及储存介质
CN114584475A (zh) 通信测试方法和装置
CN114880203A (zh) 用于量子计算云平台测评的装置、系统及方法
CN112532447A (zh) 一种rdma参数配置的方法、装置及存储介质
CN112685284A (zh) 测试视频生成方法、装置、电子设备及计算机存储介质
CN113126881A (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