Bem , perguntando aos que tem mais experiência com testes automatizados e TDD, a minha dúvida é a seguinte: dadas as restrições de custo e tempo de um projeto não dá pra escrever testes para absolutamente TODAS as classes do meu sistema. Assim, devemos obter a maior cobertura de testes possível com o menor número destes. Fica então a minha pergunta, qual deve ser a minha prioridade na hora de escrever testes automatizados ? Qual a cobertura de código que eu posso considerar satisfatória ? 80% , 90% ?
Não há um percentual aceitável ou não aceitável.
Basicamente, a quantidade de testes faltante é proporcional à aflição que o software lhe causa :lol:. Principalmente na liberação de novas releases. Ou seja, quando você é capaz de liberar uma nova versão de um sistema em produção sem perder o sono, sua cobertura de testes tende a estar satisfatória.
Para as classes e métodos novos, escreva uma classe de testes antes de começar a implementação. Isso aumenta as suas chances de entrar num cíclo que manterá a nova classe sempre em dia com os testes.
Nao pense em testar uma classe: teste uma funcionalidade, quaisquer sejam as classes necessarias para que a funcionalidade exista sem bugs.
Deixa de ser unit testing, mas ajuda bastante.