Classificar é uma tarefa difícil, mas vamos tentar agrupar os programadores em 4 níveis em relação aos testes:
1) O atrasado: Ele não sabe o que é um teste. Ele escreve seu código, coloca em produção e nem se lembra que o software pode não funcionar como ele espera.
2) O ingênuo: Ele sabe como escrever testes mas não enxerga muito valor. Normalmente escreve testes por obrigação ou para não passar vergonha diante da equipe. Ele é do tipo que se o build está quebrado e alguém pede para ele consertar, ele comenta o teste e faz git push. Também reclama muito que escrever testes demora muito e ele seria muito mais produtivo se não tivesse que testar.
3) O extremista: Ele valoriza o teste de forma extrema. Para ele, todo código deve ser testado. 100% de cobertura é o objetivo é a maior garantia. Até utiliza técnicas como TDD, BDD e outras, mas o que importa mesmo é ter teste para tudo, inclusive para código que ele não escreveu. Quanto mais teste por linha de código melhor.
4) O experiente: Ele entende que o principal objetivo dos testes é fornecer garantias. Compreende que nem tudo precisa ser testado e nem tudo é viável de testar. Por experiência e prática, ele testa aquilo que pode quebrar e não gasta tempo com testes inúteis que levam tempo demais para serem escritos. Pratica TDD quando faz sentido e não fica preso a “regrinhas”.
Fonte: Rinaldi Fonseca
0sem comentários ainda