Desenvolvedores odeiam testar

27nov07

Assuma, você já deve ter ouvido isso alguma vez na sua vida. Essa é apenas uma daquelas frases incompletas repetidas a ponto de muita gente achar que se trata de uma verdade. Bom, deixe-me esclarecer então que é justamente a falta de completude que torna a frase incorreta. Desenvolvedores não odeiam testar.

Desenvolvedores odeiam testar manualmente.

Eis aí a grande diferença e eu sempre fico incomodado quando pessoas inteligentes deixam de aplicar seu tempo em automação para realizar, vez após vez, testes manuais. Se você ainda perde tempo realizando testes manuais, saiba que eles vêm recheados de problemas: levam mais tempo para serem reproduzidos, são propensos a erros, não aproveitam o que as pessoas têm de melhor, não podem ser expandidos para lidar com outros aspectos do software (como performance, por exemplo) e não indicam exatamente onde a funcionalidade está quebrada.

Nós – como desenvolvedores – trabalhamos para automatizar tanto quanto possível do nosso dia-a-dia e mesmo o dia-a-dia dos clientes. Computadores são ótimos para repetir tarefas, nós sabemos disso, então é realmente incômodo realizar testes manuais porque a sensação é de que algo está errado. Como ninguém com boa saúde mental gosta da sensação de fazer coisas erradas, essa condição passa a incomodar.

Ok, então, desenvolvedores odeiam testar manualmente. O que mais?

Desenvolvedores odeiam testar código escrito antes dos testes porque código escrito assim, via de regra, é difícil de testar, visto que ele não foi feito pensando em testes. Se considerarmos que os testes automatizados nada mais são do que clientes da aplicação, dá para concluir que é difícil, mesmo dentro da própria aplicação, fazer bom uso do código. É o que eu tenho visto acontecer. Código difícil de testar é difícil de usar também. A solução é pensar em design limpo, fácil de usar desde o inicio, escrevendo testes para garantir não apenas o funcionamento, mas também a usabilidade do design. Não fica por aí, você cria tanto uma rede de proteção para prevenir os erros (ao invés de apenas tentar encontrá-los só depois de muito tempo) quanto um ambiente onde mudanças possam acontecer de maneira segura.

Testes manuais ainda são necessários em algum ponto do sistema, mas sempre que possível, não aceite o incômodo de gastar seu tempo assim, eles simplesmente não lhe ajudam a formar um ambiente livre de erros e bugs que matam a produtividade de qualquer time. É preciso ir além da cultura de apenas encontrar erros pois eles têm um custo muito grande de tempo para correção e de impacto na moral do time. Se você sofre com os males causados pela falta de testes, tente provocar mudanças para o bem em seu ambiente de trabalho, afinal, ninguém gosta de jogar para perder.



17 Responses to “Desenvolvedores odeiam testar”

  1. Outra coisa que acontece é que muitos desenvolvedores não testam simplesmente por nunca terem experimentado essa prática e, como desculpa, acabam usando a premissa — ilusória, diga-se de passagem — que encabeça esse post.

  2. Verdade, Daniel,

    Muitos desenvolvedores ainda não descobriram as vantagens de um ambiente com testes. E só experimentando para descobrir, não tem outro caminho.

    valeuz…

  3. 3 rachelvital

    Olááá Marcos Lendas,

    Vc não deixa escapar nada mesmo. Não havia falado sobre meu bolg pq ele ainda não tem novidades. Ainda mas para vc 😉 O mestre. rsrsrs

    Muito bem colocado seu post, mas não é apenas os desenvolvedores que odeiam testar conheço muitos testadores que tbm odeiam esses tipos de testes ;). Ahh ! E só acrescentando tbm … infelizmente ainda hoje existem muitas empresas que desestimula os profissionais a realizar os teste conforme deve ser feito e aí … quem acaba testando mesmo é o cliente.

  4. 4 Baduel

    Vou mandar este link do blo para area de TI do meu serviço

  5. Já viu que o TPTP tem agora um gravador de ações de usuário (testes funcionais) que podem ser reproduzidas em seguida? Meu coordenador de projeto que falou aqui, vou procurar e conferir!

    T+

  6. Ótimo post!

    Parábens…

  7. 7 kall

    muito rui esse blog meu!

  8. Kall,

    Como assim “muito rui esse blog meu”? O seu blog é ruim? O do “rui” (seja lá quem for) é seu? Obrigado por tentar fazer um comentário pertinente. 🙂

    valeuz…

  9. 9 kall

    ohw leva a mal não, só disse o que achei. blz.

  10. 10 jaum

    so q tem uma coisa…

    testes mal feitos sao piores q nenhum teste…

  11. o tipo de teste que eu realmente me preocupo é o de gravidez, principalmente se o teste for manual…

  12. Pô, não vai atualizar esse blog, não!! (quem sou eu pra falar, né! 🙂

    Até mais…

  13. Pois é, Daniel. Tremenda lenda esse blog. Mas não faltam rascunhos esperando algum polimento. 🙂

    até…

  14. Marcos, muito legal teu blog.

    Acrescento que o inimigo nº 1 do Teste é o Gerente de projetos com prazo estourado. kkkk As vezes atropelamos todo mundo para entregar no prazo. Eu sei que é ridiculo, mas infelizmente é minha realidade e de varios GP por ai.

    Mundo ideal seria mais tempo para testar as aplicações, e este tempo deveria ser incluso no cronograma de desenvolvimento e em um cronograma especifico para Testes, pois muitas vezes o “Teste” só fica em um cronograma de desenvolvimento ou de Testes.

    Abraços… depois visita la meu blog.

  15. ops… meu blog é webmaicon.wordpress.com


  1. 1 Pergunta errada. Resposta errada. « Motor Curiosidade
  2. 2 A importância dos testes de software | A Regua Relativa

Deixar mensagem para Daniel F. Martins Cancelar resposta