一种网络通信异常测试方法和装置制造方法及图纸

技术编号:14347159 阅读:54 留言:0更新日期:2017-01-04 18:00
本发明专利技术涉及一种网络通信异常测试方法和装置。所述方法包括:从应用接收数据包;对所述数据包执行代理服务;并且向其它应用转发所述数据包,其中对所述数据包执行代理服务还包括:当超过丢包忽略时间后,根据丢包策略,对所述数据包执行丢包处理;和/或当超过延时忽略时间后,根据延时时间,对所述数据包执行延时处理;和/或当超过错包忽略时间后,对所述数据包的数据内容执行错包处理。

【技术实现步骤摘要】

本专利技术涉及一种网络通信异常测试方法和装置
技术介绍
在互联网应用中,网络通信是必不可少的环节,通常发生在系统与系统之间、应用与应用之间、以及接口与接口之间。而通信协议通常都是基于TCP和UDP,在网络传输层之上进行的。尽管TCP是一种可靠的链接,但在真实网络中还是经常出现数据包丢失、数据包内容传输错误、数据包之间传输超时等问题。这种情况,可能导致通信失败而程序僵死,也可能导致程序崩溃,严重时可能造成数据内容错误带来经济损失。虽然研发人员可能会进行异常保护,但是这种保护是否起效,却很难得知。特别是在分布式系统中,如果某分片发生瞬断等故障,需要启动系统故障处理流程以及备份功能。测试人员需要构造网络通信异常的场景来进行模拟测试。而通常这样的场景仅是偶然现象,很难复现。更难以实现自动化异常测试。目前,测试团队构造这样的异常场景主要通过人工制造异常和辅助工具进行。测试团队,通常很难构造异常场景。异常测试覆盖率较低。常见的方法包括:拔插网线构造断网场景、利用发包工具发送大量数据构造网络拥塞场景、还可以配置错误ip地址或者port端口号造成链接失败等方法。但是这样的方法仅能模拟出近似的异常场景,不能完成实现丢包、错包、延时事件发生,并且偶然性较大,人为干扰因素较多。随着测试工具的发展,也可利用一些工具进行网络测试。例如:tcpreplay可实现tcp数据包重新发送,但需要前期录制好测试数据业务;tcpwrite可实现对tcp数据包协议头部分的改写,但无法对数据包内容进行改写;wireshark、tcpdump可截获网络数据业务,用于分析数据包内容,但是不能做修改;iptables是一款linux管理防火墙工具,在路由策略和端口转发上应用广泛;很多代理工具也可实现网络数据转发,但是转发过程中不能进行其他异常场景的构造操作。针对分布式系统,有一款chaosmonkey工具,可以在系统中随机关闭某些服务来实现瞬断。但是在实际测试中,不易与其他测试流程集成,不利于自动地执行。综上所述,现有技术中存在如下不足:针对人工构造异常场景1.测试过程中人为干扰因素较多,不易复现问题,并且操作繁琐,费时费力。2.并不能准确构造丢包、错包、延时的策略,时间和数量都无法准确把握。3.手工测试无法实现自动化,无法量化计算。针对利用网络工具构造异常场景1.各工具满足一部分测试工作,无法相互调用,不便于系统化集成测试。无法自动化。2.缺乏一种构造测试数据的工具,无法实现错包异常的模拟。3.各工具目前主要用于协议分析观测、业务复现,无法满足延时异常和数据异常灵活的场景构造。4.无法保留测试过程,测试数据保存困难,不利用复用,无法形成有效的、固化的测试场景。
技术实现思路
鉴于本领域中存在的上述问题,本专利技术提出了一种网络通信异常测试的方法,可以解决上述异常场景构造的问题,即通过代理方式故意造成网络通信数据包丢失、数据出错、数据包延时现象,并以此达到网络通信异常场景构造的目的。本方法主要利用一种代理的方法实现对数据包的截获和转发,在过程中通过不转发数据包、修改数据包内容、增加转发延时的操作实现丢包、错包、延时大的网络异常现象。并且在控制和维护上增加命令行和多任务机制实现自动化控制和多场景构造的功能。利用本方法可以及时发现产品中存在的隐性故障,杜绝小概率的异常事件对产品造成的危害。通过利用本方法制作的工具装置可以帮助测试人员构造丰富的测试场景,保障测试质量,提高产品抗异常风险的能力,并最终带来收益。同时,本方法还是一种自动化的方法,可以方便的集成在自动化系统中,为测试人员提高效率。本专利技术技术方案可以带来这样的有益效果,即实现网络通信异常场景的构造,提高测试覆盖,保障产品质量,防范风险。自动化执行异常测试,提高测试效率,节约人力成本,降低人为风险。可扩展、可移植的异常测试场景,方便执行。可移植到任何网络通信异常测试中,利于复用到其它测试团队和产品线。也可用于研发产品准出测试、多场景构造的系统测试和分布式系统功能测试。根据本专利技术的一个方面,提供了一种网络通信异常测试方法。所述方法包括:从应用接收数据包;对所述数据包执行代理服务;并且向其它应用转发所述数据包,其中对所述数据包执行代理服务还包括:当超过丢包忽略时间后,根据丢包策略,对所述数据包执行丢包处理;和/或当超过延时忽略时间后,根据延时时间,对所述数据包执行延时处理;和/或当超过错包忽略时间后,对所述数据包的数据内容执行错包处理。根据本专利技术的一个实施例,其中所述丢包策略包括随机丢包和模板丢包,其中所述随机丢包是指根据随机的几率,自动判定是否丢弃某数据包,以及所述模板丢包是指将给定的n位二进制字符串确定为丢包模板,根据字符串中各位的状态判定是否丢弃某数据包。根据本专利技术的一个实施例,其中所述延时时间能够由用户进行设置,其中所述错包处理的具体内容能够由用户进行设置,以及其中所述丢包忽略时间、所述延时忽略时间和所述错包忽略时间为忽略包数并且能够由用户进行设置。根据本专利技术的一个实施例,还包括自动地执行代理服务中的所述丢包处理、所述延时处理和所述错包处理中的任意一个或多个的组合。根据本专利技术的一个实施例,还包括记录测试任务和一系列异常控制udp指令,作为异常测试标准场景。根据本专利技术的另一个方面,提供了一种网络通信异常测试装置。所述装置包括:接收装置,用于从应用接收数据包;代理装置,用于对所述数据包执行代理服务;以及转发装置,用于向其它应用转发所述数据包,其中所述代理装置包括:丢包处理模块,用于当超过丢包忽略时间后,根据丢包策略,对所述数据包执行丢包处理;和/或延时处理模块,用于当超过延时忽略时间后,根据延时时间,对所述数据包执行延时处理;和/或错包处理模块,用于当超过错包忽略时间后,对所述数据包的数据内容执行错包处理。根据本专利技术的一个实施例,其中所述丢包策略包括随机丢包和模板丢包,其中所述随机丢包是指根据随机的几率,自动判定是否丢弃某数据包,以及所述模板丢包是指将给定的n位二进制字符串确定为丢包模板,根据字符串中各位的状态判定是否丢弃某数据包。根据本专利技术的一个实施例,其中所述延时时间能够由用户进行设置,其中所述错包处理的具体内容能够由用户进行设置,以及其中所述丢包忽略时间、所述延时忽略时间和所述错包忽略时间为忽略包数并且能够由用户进行设置。根据本专利技术的一个实施例,还包括命令行控制接口,用于自动地执行代理服务中的所述丢包处理、所述延时处理和所述错包处理中的任意一个或多个的组合。根据本专利技术的一个实施例,还包括场景生成器,用于记录测试任务和一系列异常控制udp指令,作为异常测试标准场景。附图说明附图用于更好地理解本专利技术,并不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种网络通信异常测试方法的示意流程图;图2是根据本专利技术实施例的一种网络通信异常测试装置10的示意框图;图3是根据本专利技术实施例的一种网络通信异常测试方案架构的示意框图;图4是根据本专利技术实施例的数据包传输异常构造过程的示意流程图;以及图5是根据本专利技术实施例的自动化测试过程的示意流程图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是本文档来自技高网
...
一种网络通信异常测试方法和装置

【技术保护点】
一种网络通信异常测试方法,包括:从应用接收数据包;对所述数据包执行代理服务;并且向其它应用转发所述数据包,其中对所述数据包执行代理服务还包括:当超过丢包忽略时间后,根据丢包策略,对所述数据包执行丢包处理;和/或当超过延时忽略时间后,根据延时时间,对所述数据包执行延时处理;和/或当超过错包忽略时间后,对所述数据包的数据内容执行错包处理。

【技术特征摘要】
1.一种网络通信异常测试方法,包括:从应用接收数据包;对所述数据包执行代理服务;并且向其它应用转发所述数据包,其中对所述数据包执行代理服务还包括:当超过丢包忽略时间后,根据丢包策略,对所述数据包执行丢包处理;和/或当超过延时忽略时间后,根据延时时间,对所述数据包执行延时处理;和/或当超过错包忽略时间后,对所述数据包的数据内容执行错包处理。2.根据权利要求1所述的方法,其中所述丢包策略包括随机丢包和模板丢包,其中所述随机丢包是指根据随机的几率,自动判定是否丢弃某数据包,以及所述模板丢包是指将给定的n位二进制字符串确定为丢包模板,根据字符串中各位的状态判定是否丢弃某数据包。3.根据权利要求1所述的方法,其中所述延时时间能够由用户进行设置,其中所述错包处理的具体内容能够由用户进行设置,以及其中所述丢包忽略时间、所述延时忽略时间和所述错包忽略时间为忽略包数并且能够由用户进行设置。4.根据权利要求1-3的任一项所述的方法,还包括自动地执行代理服务中的所述丢包处理、所述延时处理和所述错包处理中的任意一个或多个的组合。5.根据权利要求1-3的任一项所述的方法,还包括记录测试任务和一系列异常控制udp指令,作为异常测试标准场景。6.一种网络通信异常测试装置,包括:接收装置,用于从应用接收...

【专利技术属性】
技术研发人员:丁超侯磊马鑫
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1