Cosa si intende per test a secco nel test del software?

Disclaimer: Questo non è un copia e incolla plagiato da un sito web. Viene dall'esperienza che ho acquisito eseguendo test del software nel mondo reale.

Nella mia esperienza, un dry run è di solito un test eseguito per vedere come si comporterà un sistema di mitigazione dei guasti nel caso di un guasto reale. Per esempio, si può avere un sistema che monitora un server web e avvisa quando va giù. Un dry run testa il monitoraggio per confermare che è configurato correttamente.

In un dry run, si distribuisce il software in prova in un ambiente di staging che è configurato esattamente come la produzione. Questo fino agli stessi service pack installati nel sistema operativo. Una volta confermato che tutto funziona, si interrompe forzatamente un servizio per simulare un crash, si scollega un cavo per simulare un guasto alla rete, ecc. Poi, si aspetta di vedere se si ottiene la risposta che ci si aspetta e non ci sono problemi gravi come la corruzione del database.

Si potrebbe anche usare per testare il recupero. Cosa succede se un server si riavvia? Tutti i servizi si riavviano automaticamente o è necessario un intervento manuale?