Тест застосунку без інтернету
Висмикування мережевого кабелю перевіряє лише одне: машину без мережі. Більшість офлайн-помилок не такі. Вони трапляються, коли адаптер увімкнений, значок вайфаю виглядає нормально, а те, що потрібно застосунку, просто недосяжне.
Три різні види «офлайну»
| Що ви вмикаєте | Що бачить застосунок | Яку помилку це знаходить |
|---|---|---|
| Режим LAN | Локальна мережа працює. Усе за її межами ні. | Готельний вайфай до входу, мертвий аплінк, корпоративна мережа без виходу назовні. |
| Блокування адреси | Один сервер недоступний. Усе інше працює. | Одна залежність лягла, а сам застосунок у порядку, і саме такий випадок перевірка стану (health check) зазвичай пропускає. |
| Блокування порту 53 | Імена перестають розв’язуватися, з’єднання за адресою ще працюють. | Зламаний DNS, який користувачеві видається як «інтернет не працює», а в журналах як щось зовсім інше. |
З командного рядка
Інтернету немає для одного застосунку, локальна мережа не зачеплена, на дві хвилини:
BeanNetworkTester.exe --lan-mode --target myapp.exe --duration 120
Одна служба недоступна, усе інше нормально:
BeanNetworkTester.exe --block-ip 203.0.113.10
Імена перестають розв’язуватися:
BeanNetworkTester.exe --block-port 53 --target myapp.exe
Є також готова часова шкала, що ламає DNS і сама повертає його: failing-dns.json у теці scenarios поруч із програмою. Дивіться сценарії в часі.
На що дивитися насправді
- Повідомлення. Чи каже застосунок, що сталося, чи показує індикатор очікування навіки?
- Повторні спроби. Чи збільшує він інтервали, чи довбе ту саму адресу в циклі?
- Черга. Чи зберігається робота, яку користувач виконав офлайн, і надсилається пізніше, чи втрачається?
- Відновлення. STOP повертає мережу. Чи помічає це застосунок сам, чи потребує перезапуску?
Саме в останньому найбільше користі. Піти офлайн легко погано обробити й легко перевірити. Повернення це місце, де стан псується.
Чим це не є
Адаптер лишається увімкненим, а машина зберігає свою адресу, тож застосунок, який лише питає в Windows «чи є мережа», усе одно отримує «так». Це навмисно, і це цікавіший тест: справжні користувачі рідко відключені цілком, вони підключені до чогось, що не може дістатися до потрібного. Якщо вам потрібен саме випадок «без адаптера», вимкніть адаптер, інструмент не потрібен.