Você está correto, os defeitos no software significam que os resultados não são confiáveis. No entanto, existe uma maneira de contornar isso e criar um conjunto confiável de testes.
A idéia é criar um pequeno equipamento de teste que teste a funcionalidade "básica" muito básica de cada componente do sistema de teste (geralmente, consiste em pelo menos uma estrutura e um corredor). Se a estrutura de teste for flexível o suficiente, você poderá conectar esse chicote diretamente ao seu sistema, por exemplo, implementando uma interface ou fornecendo um conjunto de métodos necessários na implementação do seu chicote.
O restante da funcionalidade deve ser testado, contando apenas com a funcionalidade "principal", que já foi testada usando o chicote. Se você se encarregar de usar apenas a funcionalidade do "núcleo" para testar a funcionalidade não essencial, terá um conjunto de testes nos quais poderá confiar.