Test aplikacji bez internetu
Wyciągnięcie kabla testuje jedną rzecz: komputer bez sieci. Większość błędów offline nie jest tym przypadkiem. Zdarzają się, gdy karta sieciowa działa, ikona WiFi wygląda normalnie, a to, czego aplikacja potrzebuje, jest po prostu nieosiągalne.
Trzy różne rodzaje "offline"
| Co włączasz | Co widzi aplikacja | Jaki błąd to znajduje |
|---|---|---|
| Tryb LAN | Sieć lokalna działa. Cokolwiek poza nią - nie. | Hotelowe WiFi przed zalogowaniem, padnięte łącze operatora, firmowa sieć bez wyjścia na świat. |
| Blokada adresu | Jeden serwer jest nieosiągalny. Wszystko inne działa. | Jedna zależność padła, gdy sama aplikacja jest zdrowa - przypadek, który health check zwykle przegapia. |
| Blokada portu 53 | Nazwy przestają się rozwiązywać, połączenia po adresie nadal działają. | Zepsuty DNS, który dla użytkownika wygląda jak "nie ma internetu", a w logach jak coś zupełnie innego. |
Z linii komend
Internet znika dla jednej aplikacji, sieć lokalna nietknięta, na dwie minuty:
BeanNetworkTester.exe --lan-mode --target myapp.exe --duration 120
Jedna usługa nieosiągalna, wszystko inne normalnie:
BeanNetworkTester.exe --block-ip 203.0.113.10
Nazwy przestają się rozwiązywać:
BeanNetworkTester.exe --block-port 53 --target myapp.exe
Jest też gotowa linia czasu, która psuje DNS i sama go przywraca -
failing-dns.json w katalogu scenarios obok programu. Zobacz
scenariusze w czasie.
Na co naprawdę patrzeć
- Komunikat. Czy aplikacja mówi, co się stało, czy kręci kółkiem bez końca?
- Ponowienie. Czy odpuszcza coraz rzadziej, czy wali w ten sam adres w pętli?
- Kolejka. Czy praca wykonana bez łącza zostaje zachowana i wysłana potem, czy przepada?
- Powrót. STOP przywraca sieć. Czy aplikacja zauważy to sama, czy trzeba ją zrestartować?
To ostatnie jest najcenniejsze. Zniknięcie łącza łatwo obsłużyć źle i łatwo przetestować. Dopiero powrót jest miejscem, w którym stan robi się nieprawdziwy.
Czym to nie jest
Karta sieciowa zostaje włączona i komputer trzyma swój adres, więc aplikacja, która pyta Windows tylko "czy jest sieć", dostaje tak. To jest zamierzone i jest ciekawszym testem: prawdziwi użytkownicy rzadko są rozłączeni, oni są połączeni z czymś, co nie umie dosięgnąć tego, czego potrzebują. Jeśli chcesz właśnie przypadku "nie ma karty", wyłącz kartę - do tego nie trzeba narzędzia.