Un rigoroso testing dei sistemi e della documentazione può aiutare a ridurre il rischio di problemi che si possono verificare durante il funzionamento e contribuire alla qualità del sistema software.

La maggior parte delle problematiche relative allo sviluppo di un software, in particolare quelle più costose, sono infatti dovute a incoerenze nella documentazione, oppure incoerenze tra come la documentazione descrive - per esempio - il database interrogato dal software, e come il database è nella realtà.

In generale, i difetti di sviluppo risultano tanto più dannosi e costosi tanto più tardivamente vengono rilevati: partire dal controllo delle specifiche tecniche del prodotto è il primo passo per risparmiare sui tempi di sviluppo del software, aumentandone la qualità.

Anche durante la scrittura dei casi di test la documentazione di base viene analizzata in modo da determinare che cosa effettivamente sottoporre al test, e quindi identificare le "test conditions". Una test condition viene definita come elemento o evento che potrebbe essere verificato/scatenato da uno o più casi di test (per esempio: una funzione, una transazione, una caratteristica di qualità o un elemento strutturale).