Tester une application sans Internet
Débrancher le câble réseau ne teste qu’une chose : une machine sans réseau. La plupart des bugs hors ligne ne sont pas de cet ordre. Ils surviennent quand la carte réseau est active, que l’icône Wi-Fi a l’air normale et que ce dont l’application a besoin est simplement injoignable.
Trois sortes différentes de « hors ligne »
| Ce que vous activez | Ce que voit l’application | Le bug qu’il révèle |
|---|---|---|
| Mode LAN | Le réseau local fonctionne. Rien au-delà ne fonctionne. | Le Wi-Fi d’un hôtel avant que vous vous connectiez, une liaison montante morte, un réseau d’entreprise sans route vers l’extérieur. |
| Bloquer une adresse | Un serveur est injoignable. Tout le reste fonctionne. | Une dépendance en panne alors que l’application elle-même va bien : le cas qu’un contrôle de santé manque généralement. |
| Bloquer le port 53 | Les noms ne se résolvent plus, mais les connexions par adresse fonctionnent toujours. | Un DNS cassé, qui ressemble à « Internet est en panne » pour un utilisateur et à tout autre chose dans les journaux. |
En ligne de commande
Internet coupé pour une application, réseau local intact, pendant deux minutes :
BeanNetworkTester.exe --lan-mode --target myapp.exe --duration 120
Un service injoignable, tout le reste normal :
BeanNetworkTester.exe --block-ip 203.0.113.10
Les noms ne se résolvent plus :
BeanNetworkTester.exe --block-port 53 --target myapp.exe
Il existe aussi une chronologie prête à l’emploi qui casse le DNS puis le rétablit d’elle-même : failing-dns.json, dans le dossier scenarios à côté du programme. Voir scénarios temporels.
Ce qu’il faut vraiment observer
- Le message. L’application dit-elle ce qui s’est passé, ou affiche-t-elle un indicateur d’attente à l’infini ?
- La nouvelle tentative. Espace-t-elle ses essais, ou martèle-t-elle la même adresse en boucle ?
- La file. Le travail que l’utilisateur a fait hors ligne est-il conservé puis envoyé plus tard, ou perdu ?
- Le rétablissement. STOP remet le réseau en place. L’application s’en rend-elle compte d’elle-même, ou faut-il la redémarrer ?
Ce dernier point est celui où se trouve l’essentiel de la valeur. Passer hors ligne est facile à mal gérer et facile à tester. C’est au retour que l’état se dérègle.
Ce que ce n’est pas
La carte réseau reste active et la machine garde son adresse, si bien qu’une application qui demande seulement à Windows « y a-t-il un réseau » obtient toujours « oui ». C’est voulu, et c’est le test le plus intéressant : les vrais utilisateurs sont rarement déconnectés, ils sont connectés à quelque chose qui ne peut pas joindre ce dont ils ont besoin. Si vous voulez précisément le cas « aucune carte réseau », désactivez la carte : aucun outil n’est nécessaire.