11

Windows にネットワーク C++ プログラムがあり、ネットワークの切断をさまざまな時点でテストしたいと考えています。私のオプションは何ですか?

現在、私は:

  1. 実際にコンピュータの背面からネットワーク ワイヤを切断する
  2. ipconfig /release の使用
  3. cportsプログラムを使用してソケットを完全に閉じる

ただし、これらの方法はどれも私にとって理想的ではなく、ネットワークの問題をより簡単にエミュレートしたいと考えています。

接続が失敗することもあれば、ソケットの読み取りが失敗することもあり、ソケットの書き込みが失敗することもあります。この種の問題をエミュレートするために使用できるユーティリティがあれば、それは素晴らしいことです。

また、このエミュレートされた不良ネットワークが稼働している間に、いくつかの自動化された単体テストを構築できるとよいでしょう。

4

4 に答える 4

11

ネットワーク層を抽象化すると、適切なポイントで興味深い障害イベントを挿入する単体テストを作成できます。

于 2008-09-14T20:09:03.703 に答える
2

私が考えることができる最も近いのは、ShunraのVEDekstopで同様のことをすることです..

データベース アプリケーションのテストにおける高レイテンシと低帯域幅のシミュレーション

Shunra VE Desktop Standard は、ワイド エリア ネットワーク リンクをシミュレートする Windows ベースのクライアント ソフトウェア ソリューションで、デスクトップから直接、現在および潜在的なさまざまなネットワーク条件でアプリケーションをテストできます。

于 2008-09-14T18:18:36.450 に答える
0

ソケットの管理に使用しているライブラリ クラス (MFC を使用している場合はおそらく CAsyncSocket または CSocket) をサブクラス化し、失敗をテストするメソッドをオーバーライドし、オーバーライドに適切なテスト コードを挿入できます。

于 2008-09-15T01:19:11.353 に答える
0

使用できる方法がいくつかありますが、テストするレベルによって異なります。関数レベルでは、XUNIT テスト フレームワークを使用して応答をモックできます。ソフトウェア レベルでは、ローカル プロキシ サーバーを使用して接続を制御できます。

于 2012-10-22T08:16:05.433 に答える