Estamos trabalhando em um grande produto que está em produção há cerca de 5 anos. A base de código está .. erm .. funcionando. Não está muito bem, mas está funcionando. Novos recursos são lançados em produção e testados com um pequeno controle de qualidade. Erros são corrigidos, etc. Mas ninguém, exceto eu, está escrevendo testes de unidade. Ninguém usa o poder de "rastrear" erros ao escrever testes de unidade para garantir que esse bug especial (caso de teste) nunca mais ocorra novamente.
Eu falei com a gerência. Eu conversei com desenvolvedores. Eu conversei com todo mundo em toda a empresa. Todo mundo diz: "Sim, precisamos escrever mais testes de unidade!" Isso foi há mais ou menos um ano atrás. Desde então, forcei a introdução da revisão de código pré-confirmação ( Gerrit ) e da integração contínua ( Jenkins ).
Realizei algumas reuniões sobre testes de unidade e também mostrei os benefícios de escrever testes de unidade. Mas ninguém parece estar interessado.
P1: Como motivo meus colegas de trabalho a escrever testes de unidade?
P2: Como fico motivado para seguir meus padrões de qualidade de código pessoal? (Às vezes é realmente frustrante!)
PS: Alguns fatos frustrantes (alcançados em 1 ano):
- Total de testes unitários: 1693
- Total de "exemplos de testes de unidade": cerca de 50
- Feito por mim: 1521
Edit: Estou esperando demais? É o meu primeiro local de trabalho e estou tentando fazer o meu melhor.
Editar 2: Com base em todas as respostas, fiz uma pequena lista de verificação para mim. Conversei com dois desenvolvedores em particular e tivemos uma conversa boa e honesta.
Um deles me disse, como Telastyn disse, que ele está realmente desconfortável com testes de unidade. Ele disse que gostaria de ser "mais profissional", mas precisa de um kickstart. Ele também disse que nossa reunião de teste de unidade com todos os desenvolvedores (em torno de 9 e 11) foi boa, mas foi muito movimentada. Meh. Alguns críticos para mim, mas vou aprender com isso. (veja as respostas abaixo sobre as reuniões do tdd kata!)
O outro disse que não está interessado em escrever testes de unidade. Ele acha que seu trabalho é bom o suficiente para o seu salário. Ele não quer se esforçar mais. Fiquei sem palavras. 9-5 "trabalhador" típico.
Na próxima semana vou falar com os outros desenvolvedores.
Obrigado por suas ótimas respostas (até agora!) E seu apoio. Eu realmente gostei disso! Eu aprendi muito, muito obrigado!