terça-feira, 12 de novembro de 2013

Serão os testers "programadores falhados"?

O desenvolvimento de software é um processo de certa forma sinuoso, que envolve a intervenção de diferentes pessoas. A interacção entre diferentes pessoas não promove apenas a aprendizagem colectiva como também ajuda a desenvolver as competências técnicas dos colaboradores. No entanto, uma maior interacção entre colaboradores também aumenta as hipóteses de conflito, algo comum em ambientes de trabalho. Developers e testers são duas classes de colaboradores cuja interacção pode levar a conflitos infindáveis devido a várias razões, tais como a diferenciação das funções profissionais, a experiência profissional e os atributos intelectuais.

A razão mais evidente é a parcialidade histórica em relação aos testers apelidados de cidadãos de segunda e programadores falhados. “Os testers são os licenciados em ciências computacionais que não sabem programar”, este hábito de considerar os testers como colaboradores inferiores é a causa de todo o problema. No entanto, estas considerações pertencem a uma corrente de pensamento ortodoxa e são como estereótipos, sem evidências práticas e suporte factual. Com tanto desenvolvimento e progresso no mundo do QA, a realidade é que os testers têm agora um papel mais exigente e desafiador no processo de desenvolvimento.

Após discutir com developers e testers, descobri que os “developers” foram postos num pedestal e glorificados por si mesmos e pelas chefias. Eles acreditam que o código que desenham está isento de bugs e daí se depreende um problema de ego.

Tomemo-lo desta forma: os developers são os médicos que trazem o bébé (software) à vida, e que os testers são as pessoas que dizem “que bebé tão feio”. Mas não é exactamente isso que os testers tentam fazer. Os testers estão lá para ajudar no parto do bébé e a ajudar para que ele cresça forte. No fim de contas, Desenvolvimento e Testes são dois lados da mesma moeda. Ambos se complementam e é nesse aspecto que ambos os lados necessitam de pôr o ego de lado e colaborar.

Testar é como o retrovisor para o desenvolvimento para que este não se distraia. Visto que os testers são responsáveis pela qualidade do software, estes certificam-se que o software é entregue em boa forma tanto para o utilizador final como para a empresa.

Ao longo dos anos, o papel do profissional dos testes/QA evoluiu para um patamar separado mas igual; os testers têm apenas um conjunto de competências diferentes embora valiosas. É necessária a evolução na cultura de muitas organizações para trabalhar com e tirar partido desta nova ordem demográfica. Para além disso, os testers também deveriam trabalhar não só na identificação de bugs, mas também na correcção de bugs menores. Apenas enviar de voltar os relatórios de bugs para o developer após correr os ciclos de testes e pedir-lhe para corrigir os bugs e repetir o mesmo processo só vai intensificar e agravar a situação.

Assim sendo, é imperativo para ambos trabalharem colectivamente num projecto com união, e não limitarem-se a atirar trabalho para cima do outro.

------------------------------------
Traduzido e adaptado por Pedro Sesinando de: Are Testers failed programmers?