Sobre

segunda-feira, 15 de junho de 2015

Quando os programadores fazem o seu trabalho!



Algumas das tarefas mais importantes no papel de um testador é identificar interpretações alternativas de declarações aparentemente claras e simples. Um tempo atrás uma pessoa escreveu a seguinte mensagem no Twitter "Quando os programadores fazem o seu trabalho, os testadores não encontram nada e, portanto, não tem nada de útil para contribuir ". Eu prefiro pensar que sua intenção foi lembrar os programadores de assumirem a responsabilidade pela integridade e qualidade do seu trabalho, e não a pequenos testadores.

Como testador, parte do meu trabalho ajuda a reduzir a chance de que as declarações poderiam ser mal interpretadas ou tomadas de uma forma demasiada simplista. Eu acho que a pessoa provavelmente mencionou apenas o primiero item da lista das várias interpretações que essa frase pode fornecer  (e espero que ele esteja de acordo com também com as interpretações que deixo aqui):

Quando os programadores fazem o seu trabalho, os testadores não encontram nada que assume a forma de erros de codificação flagrantes .
Quando os programadores fazem o seu trabalho, os testadores não encontram nada inconsistente com o que os programadores foram convidados a fazer, embora os testadores possam descobrir problemas no projeto ou nos requisitos que foram dados aos programadores para implementar.
Quando os programadores fazem o seu trabalho, os testadores não encontram nada que indica que o programador tenha sido negligente ou descuidado , embora até mesmo os melhores programadores não são perfeitos.
Quando os programadores fazem o seu trabalho, os testadores não encontram nada que torna o produto difícil de testar, em vez disso, eles recebem um produto altamente testável que fornece acesso a coisas como arquivos de log e interfaces testáveis.
Quando os programadores fazem o seu trabalho, os testadores não encontram problemas , embora possam descobrir o valor inesperado do produto.
Quando os programadores fazem o seu trabalho, os testadores não encontram nada que interfira com o teste de profundidade. Procurando problemas raros, ocultos, sutis, ou relacionados com a plataforma que poderia escapar mesmo com programadores mais diligentes.
Quando os programadores fazem o seu trabalho, os testadores não encontram nada que lhes atrasa no desenvolvimento de uma compreensão mais abrangente das necessidades do negócio , tornando seu teste mais relevante.
Quando os programadores fazem o seu trabalho, os testadores não encontram nada que leva tempo para desenvolver idéias ricas de teste, cenários e experiências que geram um profundo conhecimento do produto e os seus comportamentos emergentes.
Quando os programadores fazem o seu trabalho, os testadores não encontram nada mais que pedir em termos de ferramentas úteis que ajudariam.



Na mesma linha, James Bach ressaltou que, mesmo quando os programadores fazem o seu trabalho, os testadores verificam se o produto está fazendo seu trabalho, e que os testadores encontram verdades importantes sobre o produto. Nenhuma delas é exatamente "nada". Então ...
Quando os programadores fazem o seu trabalho, os testadores brilham na luz sobre como exatamente o quão bem os programadores têm feito o seu trabalho.
Quando os programadores fazem o seu trabalho, os testadores identificam maneiras em que outras pessoas podem ter diferentes interpretações de um trabalho bem feito.
Quando os programadores fazem o seu trabalho, os testadores ter mais tempo para comparar nosso produto com os produtos dos concorrentes, apontando áreas de pontos fortes e fracos de cada um.

Os programadores também estão no negócio de esclarecer interpretações equivocadas. Eu postei uma versão mais simples de uma das idéias acima no Twitter:

"Quando os programadores fazem o seu trabalho, os testadores encontram profundos, raros, ocultos, sutis, ou relacionados problemas com a plataforma."

Vou acrescentar que mesmo os melhores testadores, exatamente como os melhores desenvolvedores são humanos, e limitado, e pode ocasionalmente perderem problemas.
Assim: Testadores (e programadores) que se concentram na excelência, habilidade e colaboração irão ajudar uns aos outros, e tendem a encontrar problemas que podem ser resolvidos antes que o produto seja liberado e tenderá a produzir produtos mais valiosos, como resultado.

REFERÊNCIAS

http://www.developsense.com/blog/2014/12/when-programmers-and-testers-do-their-jobs/

http://www.satisfice.com/tools/htsm.pdf

Um comentário:

  1. Ramos,

    Muito interessante o artigo, compartilho da mesma idéia. Acrescento que as equipes de suporte, desenvolvedores, testadores, analistas de sistemas, analistas de negócio e consultores, são sujeitos a falhas.
    Quando a sinergia se faz presente, o esforço dos membros resultam em: qualidade no processo, disseminação de conhecimento e na redução de custos e horas das entregas.
    Cada um deve observar o processo anterior e posterior ao seu, buscando apreender sobre o que os outros colegas exercem na organização, iniciativa que julgo optativa, mas altamente necessária para qualidade no processo.

    ResponderExcluir