Qualsiasi prodotto software che abbia saltato la fase di test, che abbia prestazioni insufficienti o che abbia margini di miglioramento deve essere testato a fondo. Il software può essere testato in tutte le fasi e in tutti gli aspetti, sia che si tratti di test funzionali, di prestazioni, di sicurezza o di usabilità in fase di progettazione, sviluppo o pre-rilascio.