fengzhulin 发表于 2010-7-8 16:06:07

用封端口来进行一些网络错误的测试

在测试的过程中,经常会需要模拟一些网络连接断开或者类似断线重连的问题,这些测试又不能直接跑服务器端把服务器做一些处理,有一些简单的本法就是运用本地安全策略进行模拟。

1、直接断网
   很简单了,禁用网络连接,或者直接拔掉网线。但是有时候直接禁用网络和拔掉网线的表现程序表现可能不一样。
2、封端口(主要讲这个哈)
场景描述:就拿我们常见的QQ来说吧,呵呵。QQ的收、发消息肯定是需要和它的服务器交互,由服务器来进行转发的。那么和服务器的交互本地会有特定端口。如果要模拟查看当和服务器连不上的情况的表现,可以直接在本地封掉所有访问本地该特定端口的消息,那样和服务器的连接就断掉了。模拟封端口的步骤如下:
[*]打开控制面板[*]打开管理工具--->本地安全策略[*]在左边选择“ip安全策略,在本地计算机”[*]在右边点击右键,选择“创建IP安全策略”后面具体的设置请参考:http://www.docin.com/p-17752598.html,这里写的非常详细了,我不想重复写了。

    当然,这个测试方法只是在测试网络连接的时候进行的一部分测试,封掉端口和直接断网、禁用网络很多程序的表现可能是不同的。

xiaoyaoke 发表于 2010-7-9 10:46:34

这些方法太极端了:
       断网也罢,封端口也罢,都太极端了,真正网络中可能出现的情况比如链接不稳定,不是断,而是延时,抖动,丢包之类的,你的方法没效果了

龙雨 发表于 2010-7-12 14:14:03

请教

楼上说的极是。请问如何模拟丢包、延迟、抖动之类的场景?以及用什么样的方式去查看结果,或者怎么进行比对。

fengzhulin 发表于 2010-7-12 17:11:18

呵呵,这个方法只是测试中的一小部分,并不是用此方法来模拟所有网络错误的情况,这也不现实呀。我说的只是模拟断线重连的一种,且是测试这种问题的方法之一(因为有时候不能手动不断断开服务器),在实际程序运行过程中,服务器的架构比较复杂,一个应用程序对服务器的访问可能A功能使用的是服务器1的0001端口,而B功能使用的是服务器2的0003端口.所以当需要测试A功能对于0001端口的断线重连而B功能继续使用的时候,就可以用此方法。

另外,楼上说的“断网也罢,封端口也罢,都太极端了,真正网络中可能出现的情况比如链接不稳定,不是断,而是延时,抖动,丢包之类的,你的方法没效果了”,你说的网络部稳定是指网络质量很差,但是并不是断了。和我说的不是一个问题。网络延时、抖动、丢包之类的应该算作性能测试的一部分了,这需要用其他的测试方法进行测试。

圣西罗 发表于 2010-10-9 13:05:14

还有修改客户端/服务器端的IP 或者两端网络带宽不一致如百兆对千兆前兆对百兆都会出问题的
页: [1]
查看完整版本: 用封端口来进行一些网络错误的测试