Domanda

Ho un programma C++ di rete in Windows che vorrei testare per verificare le disconnessioni di rete in vari momenti.Quali sono le mie opzioni?

Attualmente sono:

  1. In realtà scollegando il cavo di rete dal retro del mio computer
  2. utilizzando ipconfig /release
  3. Usando il cports programma per chiudere completamente la presa

Nessuno di questi metodi però è l'ideale per me e mi piacerebbe emulare i problemi di rete più facilmente.

Vorrei che a volte le connessioni fallissero, a volte le letture del socket fallissero e a volte le scritture del socket fallissero.Sarebbe fantastico se ci fosse qualche utilità che potrei usare per emulare questo tipo di problemi.

Sarebbe anche bello poter creare alcuni unit test automatizzati mentre questa cattiva rete emulata è attiva.

È stato utile?

Soluzione

Potresti voler astrarre il livello di rete e quindi puoi avere test unitari che inseriscono eventi di errore interessanti nei punti appropriati.

Altri suggerimenti

La cosa più vicina a cui riesco a pensare è fare qualcosa di simile con VEDekstop da Shunra..

Simulazione di latenza elevata e larghezza di banda ridotta nei test di applicazioni di database

Shunra VE Desktop Standard è una soluzione software client basata su Windows che simula un collegamento di rete geografica in modo da poter testare le applicazioni in una varietà di condizioni di rete attuali e potenziali, direttamente dal tuo desktop.

Puoi creare una sottoclasse di qualsiasi classe di libreria che stai utilizzando per gestire i tuoi socket (presumibilmente CAsyncSocket o CSocket se stai utilizzando MFC), sovrascrivere i metodi di cui desideri testare il fallimento e inserire il codice di test appropriato nelle tue sostituzioni.

Esistono alcuni metodi che puoi utilizzare, dipende dal livello che desideri testare.A livello di funzione, puoi utilizzare il framework di test XUNIT per simulare una risposta.A livello software, è possibile utilizzare un server proxy locale per controllare la connessione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top