Question

J'ai un programme réseau C ++ dans Windows que je souhaiterais tester plusieurs fois pour les déconnexions réseau. Quelles sont mes options?

Actuellement, je suis:

  1. Déconnectez réellement le fil de réseau de l'arrière de l'ordinateur
  2. utilisant ipconfig / release
  3. Utilisation du programme cports pour fermer complètement le socket

Cependant, aucune de ces méthodes ne me convient parfaitement et j'aimerais émuler plus facilement les problèmes de réseau.

Je voudrais parfois que les connexions échouent, que les lectures de socket échouent et que les écritures de socket échouent. Ce serait formidable si je pouvais utiliser un utilitaire pour émuler ces types de problèmes.

Il serait également intéressant de pouvoir créer des tests unitaires automatisés pendant que ce mauvais réseau émulé est opérationnel.

Était-ce utile?

La solution

Vous pouvez vouloir résumer la couche réseau, puis vous pouvez avoir des tests unitaires qui injectent des événements de défaillance intéressants aux points appropriés.

Autres conseils

Le plus proche auquel je puisse penser est de faire quelque chose de similaire avec VEDekstop de Shunra ..

Simulation de latence élevée et de faible bande passante lors du test d'applications de base de données

Shunra VE Desktop Standard est une solution logicielle client basée sur Windows qui simule un lien de réseau étendu afin que vous puissiez tester les applications dans diverses conditions réseau actuelles et potentielles & # 8211; directement depuis votre bureau.

Vous pouvez sous-classer la classe de bibliothèque que vous utilisez pour gérer vos sockets (vraisemblablement CAsyncSocket ou CSocket si vous utilisez MFC), écrasez les méthodes dont vous voulez tester l'échec et insérez le code de test approprié dans vos substitutions.

Vous pouvez utiliser certaines méthodes, cela dépend du niveau que vous souhaitez tester. Pour le niveau de fonction, vous pouvez utiliser la structure de test XUNIT pour simuler une réponse. Pour le niveau logiciel, vous pouvez utiliser un serveur proxy local pour contrôler la connexion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top