Bem, existem algumas empresas grandes que exigem que você use o teste de unidade, mas se você é uma empresa pequena, por que imitar as grandes?
Para mim, quando comecei com o teste de unidade, há muitos anos (hoje em dia usamos principalmente o modelo de comportamento ), era porque eu não conseguia controlar todo o caminho em um aplicativo.
Eu estava acostumado com a primeira programação e um REPL, então, quando recebi o teste de unidade (um teste para cada função), foi como trazer de volta um REPL para idiomas que compilam muito. Ele trouxe a diversão de volta para todas as linhas de código que escrevi. Eu senti deus Eu gostei. Não precisava de um relatório para me dizer que comecei a escrever um código melhor mais rapidamente. Meu chefe não precisava de um relatório para perceber que, como estávamos fazendo coisas malucas, de repente nunca perdíamos um prazo. Meu chefe não precisava de um relatório para perceber que o número de bugs "comuns" cai de (para muitos) para quase nulo por causa dessa coisa muito estranha de escrever código improdutivo.
Como outro pôster já escreveu, você não usa o TDD para testar (verificar). Você o escreve para capturar a especificação, o comportamento do que sua unidade (objeto, módulo, função, classe, servidor, cluster) funciona.
Existem muitas falhas e histórias de sucesso na mudança para um modelo diferente de desenvolvimento de software em muitas empresas.
Comecei a usá-lo sempre que tinha algo novo para escrever. Há um velho ditado que me parece um pouco difícil de traduzir para o inglês, mas:
Comece com algo tão simples que você não percebe que o faz. Ao treinar para uma maratona, comece caminhando 9 metros e corra 1 metro, repita.