2008-09-14 83 views
11

我在Windows中有一個網絡C++程序,我想在不同時間測試網絡斷開連接。我有什麼選擇?在軟件中測試網絡中斷

目前我:

  1. 使用IPCONFIG其實斷開網絡線從我的電腦
  2. 背面/釋放
  3. 使用cports程序收出插座完全

儘管這些方法都不適合我,但我想更容易地模擬網絡問題。

我希望有時連接失敗,有時候套接字讀取失敗,有時候套接字寫入失敗。如果有一些效用可以用來模擬這些類型的問題,那將是非常好的。

在模擬不良網絡啓動的情況下,建立一些自動化的單元測試也很好。

回答

11

您可能想要抽象網絡層,然後您可以進行單元測試,以在適當的點注入有趣的失敗事件。

+0

這是我採取的方法,它工作得很好。明智地使用接口意味着我可以模擬被測系統的各個部分。對於無法以這種方式完成的測試,我將測試代碼連接到測試套件中的測試套接字,然後在測試中控制它 – 2008-09-20 08:41:56

0

您可以繼承用於管理套接字(如果您使用MFC的CAsyncSocket或CSocket)的任何庫類,覆蓋要測試其失敗的方法,並在覆蓋中插入適當的測試代碼。

0

您可以使用一些方法,這取決於您想要測試的級別。對於功能級別,您可以使用XUNIT測試框架來模擬響應。對於軟件級別,您可以使用本地代理服務器來控制連接。