Quem deve escrever os testes de aceitação automatizados?

TesterVsDev

Os programadores devem escrever os testes de aceitação automatizados

Se você é um testador solo em um time ágil, como eu, você realmente não tem opção e deve aceitar que os programadores tomem a responsabilidade de escrever e manter os testes de aceitação automatizados. Você estará tão ocupado com a definição dos critérios de aceitação e histórias, e com testes exploratórios, que você simplesmente não terá tempo para isso.

Os benefícios de ter os programadores em seu time escrevendo e mantendo esses testes é que eles serão mantidos e executados assim que qualquer mudança ocorrer e então estarão mais atualizados e com menor risco de se tornarem obsoletos. Eles também serão mais úteis em prover um feedback rápido a um programador que esteja trabalhando em uma mudança em uma tela específica, visto que o programador pode executar os testes de aceitação relevantes, fazer a mudança e então garantir que os testes de aceitação continuam passando. Se um testador fosse responsável pelos testes de aceitação automatizados, haveria um atraso entre a atualização da aplicação e dos testes, o que se não for bem gerenciado, pode levar a muitos testes falhando repetidamente e falsos resultados de testes (falsos-negativos).

Também haverá menos conflito entre testadores e programadores, visto que os programadores estarão aptos a identificar bugs em testes de regressão assim que eles são criados.

Os programadores terão um melhor entendimento da arquitetura da aplicação e serão capazes de construir funcionalidades testáveis de modo que os testes de aceitação automatizados serão mais eficientes e confiáveis.

Os testadores devem escrever os testes de aceitação automatizados

Os testadores de software são particularmente bons em escrever testes de aceitação automatizados que cobrem um processo end-to-end do sistema; frequentemente chamados de jornadas do usuário. Isso é porque eles tem uma boa compreensão da jornada, enquanto que as vezes um programador pode entender só a lógica por trás de uma tela específica. Os testadores devem ser envolvidos na escrita deste tipo de testes de aceitação, os quais são uma representação do uso real da aplicação.

Alguns testadores são particularmente bons em saber como automatizar um navegador web. Saber como um navegador funciona da perspectiva de automação é uma habilidade altamente desenvolvida que muitos testadores possuem, e ter essa habilidade leva a um conjunto mais resiliente de testes de aceitação automatizados, que esperam o suficiente, mas não muito tempo para os elementos aparecerem e serem atualizados.

Testadores de software também são muito bons em interpretar os resultados dos testes de aceitação automatizados e investigar se um bug realmente existe ou se é o teste que precisar ser atualizado. Se o testador está fazendo este trabalho, então faz sentido que eles atualizem os testes de aceitação automatizados quando necessário.


Minha experiência:

Atualmente trabalho como QA mais em um papel de coach para todos os projetos e tento a cada dia mostrar mais o valor das práticas de teste de software não como uma fase no processo, mas como parte do processo de desenvolvimento de software desde seu início.

Em alguns casos sou eu quem escreve e mantém os testes, em outros casos são os próprios desenvolvedores, e em alguns casos é um misto, onde os desenvolvedores criam seus testes com minha ajuda e eu entro somente para revisão e refatoração dos testes, mas o ponto principal é a importância desses testes para um rápido feedback quando novas funcionalidades são adicionadas ao sistema, quando um bug é corrigido ou para um refactoring “sem medo”.


TRADUÇÃO/ADAPTAÇÃO DE PRIDE AND PARADE, DE ALISTER SCOTT

Deixe um comentário