Teste um aplicativo sem internet
Puxar o cabo de rede testa uma coisa só: uma máquina sem rede. A maioria dos bugs offline não é isso. Eles acontecem quando o adaptador está ativo, o ícone do Wi-Fi parece normal e aquilo de que o aplicativo precisa simplesmente não está acessível.
Três tipos diferentes de “offline”
| O que você liga | O que o aplicativo vê | O bug que ele encontra |
|---|---|---|
| Modo LAN | A rede local funciona. Nada além dela funciona. | O Wi-Fi do hotel antes de você entrar, um uplink morto, uma rede corporativa sem rota para fora. |
| Bloquear um endereço | Um servidor está inacessível. Todo o resto funciona. | Uma dependência fora do ar enquanto o aplicativo em si está bem: o caso que uma verificação de saúde costuma deixar passar. |
| Bloquear a porta 53 | Os nomes deixam de ser resolvidos, as conexões por endereço continuam funcionando. | DNS quebrado, que para o usuário parece “a internet caiu” e nos logs parece algo totalmente diferente. |
Pela linha de comando
Internet fora para um aplicativo, rede local intacta, por dois minutos:
BeanNetworkTester.exe --lan-mode --target myapp.exe --duration 120
Um serviço inacessível, todo o resto normal:
BeanNetworkTester.exe --block-ip 203.0.113.10
Os nomes deixam de ser resolvidos:
BeanNetworkTester.exe --block-port 53 --target myapp.exe
Também há uma linha do tempo pronta que quebra o DNS e o devolve sozinha: failing-dns.json, na pasta scenarios ao lado do programa. Veja cenários no tempo.
O que observar de verdade
- A mensagem. O aplicativo diz o que aconteceu, ou mostra um indicador de carregamento para sempre?
- A nova tentativa. Ele espera cada vez mais, ou martela o mesmo endereço em um laço?
- A fila. O trabalho que o usuário fez offline é guardado e enviado depois, ou é perdido?
- A recuperação. STOP devolve a rede. O aplicativo percebe sozinho, ou precisa reiniciar?
Esse último ponto é onde está a maior parte do valor. Ficar offline é fácil de tratar mal e fácil de testar. É na volta que o estado fica errado.
O que isto não é
O adaptador continua ativo e a máquina mantém o endereço, então um aplicativo que só pergunta ao Windows “existe uma rede” continua recebendo sim. É deliberado, e é o teste mais interessante: usuários reais raramente ficam desconectados, eles estão conectados a algo que não alcança o que precisam. Se você quer especificamente o caso “sem adaptador”, desative o adaptador: não precisa de ferramenta.