在软件中测试网络中断

时间:2020-03-05 18:53:03  来源:igfitidea点击:

我在Windows中有一个网络C ++程序,我想在各个时间测试网络断开情况。我有什么选择?

目前我是:

  • 实际断开网络电缆与计算机背面的连接
  • 使用ipconfig / release
  • 使用cports程序完全关闭套接字

这些方法都不是我理想的选择,我想更轻松地模拟网络问题。

我希望有时连接失败,有时套接字读取失败,有时套接字写入失败。如果可以使用某些实用程序来模拟这些类型的问题,那将是很好的。

能够在模拟的不良网络启动时构建一些自动化的单元测试,这也很好。

解决方案

回答

我能想到的最接近的就是与Shunra的VEDekstop做类似的事情。

在数据库应用程序测试中模拟高延迟和低带宽

Shunra VE Desktop Standard是基于Windows的客户端软件解决方案,可模拟广域网链接,以便我们可以直接从桌面在各种当前和潜在的网络条件下测试应用程序。

回答

我们可能想要抽象化网络层,然后可以进行单元测试,以在适当的点注入有趣的故障事件。

回答

我们可以继承用于管理套接字的任何库类(如果使用的是MFC,则可能是CAsyncSocket或者CSocket),覆盖要测试其故障的方法,并在覆盖中插入适当的测试代码。