Na minha empresa, estou tentando argumentar por que deveríamos fazer TDD. Atualmente, a maioria dos desenvolvedores faz o possível para concluir o projeto e depois adiciona testes de unidade após o fato para atender às métricas do gerente. Todos os exemplos de empresas conceituadas que fazem TDD e vêem os benefícios serão muito apreciados.
14
Respostas:
Um estudo de 4 projetos na IBM e Microsoft. Publicado na revista Emperical Software Engineering .
Estudos empíricos mostram que o desenvolvimento orientado a testes melhora a qualidade
fonte
Há um capítulo sobre TDD com um estudo de caso no livro recente, "Making Software: O que funciona e por que acreditamos". Mas você pode ficar desapontado, pois, se bem me lembro, o estudo não descobriu nenhum benefício real para o TDD. De qualquer maneira, o estudo de caso foi interessante, e o livro em geral é um dos melhores livros de software que li recentemente. Ele contém muitos estudos de caso de coisas como programação de pares, revisão de código etc.
fonte
Definitivamente, verifique isso: TDD comprovadamente eficaz! Ou é?
O autor tem muitos pontos positivos sobre o TDD não ser tão eficaz (imo, apesar de estar exagerado)
fonte
veja quanto tempo você e o cliente gastaram testando manualmente o software; compare isso com uma estimativa de quanto tempo os testes automatizados no estilo TDD levariam. Pocket a diferença
na minha experiência, os testes automatizados do TDD são de ouro, porque oferecem seguro e eliminam enormes quantidades de testes manuais
como apontou Andres F, você pode obter esses benefícios apenas com testes automatizados, não necessariamente com TDD - no entanto, o TDD exige testes automatizados, em vez de ser uma reflexão tardia ou interessante.
Ser forçado a pensar em testar primeiro também obriga a pensar em questões relacionadas à qualidade - como modularidade, design de interface etc. - antes de começar a escrever o código.
Pessoalmente, acredito que um dos maiores benefícios do TDD é que escrever o teste primeiro mantém a especificação do que o código realmente precisa fazer em sua mente enquanto você está escrevendo o código, em vez de descobrir o que fazer -como você codifica.
fonte
você quer justificar isso: sugira que você faça isso para o próximo projeto e aprenda com ele. Se isso funcionar muito bem para você, espero que você continue a usá-lo e se demorou mais tempo para fazer o projeto e / ou gaste todo o seu tempo escrevendo testes em vez de codificar, certamente o despejará como uma falha.
Eu acho que a solução do mundo real é (como a maioria das coisas) a meio caminho, você quer testes, mas não quer que os testes sejam mais importantes que o projeto.
(pessoalmente, acho que o TDD é um modismo, soa bem em teoria, mas na prática ... não é tão bom. Acho que o teste de integração é muito mais importante, mas esse pode ser o tipo de projeto complexo em que trabalho).
fonte
A partir de agora, as empresas de transporte rodoviário de carga e de passageiros, que utilizam o TDD há mais de um ano, podem optar por não utilizar o TDD por até dois anos.
Os gerentes não saberiam, pois todos estão interessados em uma coisa: "Você terminou". Mas eles reclamam quando o software continua quebrando sem perceber. Com uma boa cobertura e testes sensíveis, não é a quantidade, mas a qualidade que você pode ver quando alguém quebra uma funcionalidade. Infelizmente, também é difícil se você estiver sozinho. Eu tive o mesmo problema, pois pode ser necessário alterar o código, por exemplo, classes base etc., para que você possa testar partes do software.
Eu dou um exemplo. Eu queria zombar do repositório, mas não havia interface e preciso injetar o repositório na minha camada de serviço e, portanto, adicionar / modificar um construtor em toda a loja, isso acabou sendo um grande problema, mas em No final, tenho mais de 200 testes apenas testando uma área do sistema e eles ficaram impressionados.
Eu costumo fazer o seguinte:
Com relação aos estudos de caso, receio, não tenho certeza de ter visto algum. Você precisa criar seu projeto e se tornar um estudo de caso. Eles também podem ficar impressionados.
Espero que ajude
fonte