Sei corretto, i difetti nel software significano che i risultati non sono affidabili. Tuttavia, c'è un modo per aggirarlo e creare una suite affidabile di test.
L'idea è di costruire una piccola strumentazione di test che collauda la funzionalità di base "core" di ogni componente del sistema di test (di solito, consiste di almeno un framework e un runner). Se il framework di testing è sufficientemente flessibile, dovresti essere in grado di collegare direttamente tale harness al tuo sistema, ad esempio implementando un'interfaccia o fornendo un set obbligatorio di metodi nell'implementazione dell'imbracatura.
Il resto della funzionalità dovrebbe essere testato basandosi esclusivamente sulla funzionalità "core", che è già stata testata utilizzando l'imbracatura. Se ti occupi di utilizzare solo la funzionalità del "core" per testare la funzionalità non core, avresti una serie di test di cui ti puoi fidare.