Bean Network Tester

Cambia le condizioni di rete nel tempo

Una perdita fissa del 10% è una condizione da laboratorio. Le connessioni reali peggiorano, si riprendono, si bloccano per quattro secondi e tornano, e il bug che insegui di solito sta nel cambiamento, non nello stato stabile.

Uno scenario è una linea temporale

Un file JSON. Ogni passo dice a questo secondo, queste impostazioni, e tutto ciò che non menzioni mantiene il suo valore:

{
  "loop": true,
  "steps": [
    {"at": 0,  "settings": {"latency": 20, "jitter": 15, "down": 4096}},
    {"at": 20, "settings": {"loss": 8, "latency": 180}},
    {"at": 45, "settings": {"block_ip": "203.0.113.0/24"}},
    {"at": 65, "settings": {"block_ip": "", "loss": 0, "latency": 20}}
  ]
}

I tempi sono secondi dall’inizio dell’esecuzione, non intervalli tra i passi. Con "loop": true la linea temporale ricomincia quando finisce, ed è ciò che vuoi per un lungo test di resistenza: lasciala andare e usa l’app.

BeanNetworkTester.exe --scenario cafe-wifi.json --target myapp.exe

8 scenari pronti sono inclusi nel programma

Nella cartella scenarios accanto all’eseguibile. Letti da quei file, quindi questo è ciò che hai davvero:

FilePassiDurataSi ripete
blocked-endpoint.json465 ssì
cafe-wifi.json585 ssì
congested-vpn.json470 ssì
failing-dns.json685 ssì
mobile-lte-to-3g.json785 ssì
overloaded-game-server.json572 ssì
same-loss-in-runs.json5100 ssì
upload-drop-midway.json775 sno

Sono testo semplice: ne apri uno, cambi un numero, salvi. I nomi dicono cosa riproducono: un bar affollato, una connessione mobile che passa da LTE a 3G, un upload che muore a metà, un server che si sovraccarica, un DNS che smette di rispondere.

Due modi più semplici per ottenere cambiamento

Vale la pena scrivere uno scenario quando la sequenza conta. Quando non conta, due impostazioni variano da sole:

BeanNetworkTester.exe --flap-period 10 --flap-down 40 --target myapp.exe

Perché funziona mentre l’app è in esecuzione

Ogni impostazione toccata da uno scenario viene applicata dal vivo alla sessione già in corso: l’app non deve essere riavviata, e nemmeno lo strumento. Il registro degli eventi annota ogni passo mentre accade, quindi quando qualcosa si rompe puoi vedere a quale cambiamento ha fatto seguito. Abbinalo a un seed e l’intera sequenza, compresa la perdita casuale al suo interno, si ripete esattamente.

Prossimi passi

Pronto a rompere di proposito la tua rete?

Scarica per Windows