PAIR TESTING – PRATICANDO TESTES ÁGEIS

Com o crescimento acelerado das empresas e a alta rotatividade de colaboradores uma missão cada vez mais difícil é manter e disseminar o conhecimento. Para suprir esta necessidade, diversas técnicas emergiram no mercado, dentre elas o Pair Testing que abordaremos neste post.

Mas o que é Pair Testing?

Pair Testing é uma técnica cuja proposta de trabalho é composta por 2 pessoas, sendo uma delas o piloto que fica responsável por manusear teclado e mouse e a outra o co-piloto responsável por fazer anotações, perguntas, levantamento de cenários, etc.

A primeira vista, ver duas pessoas trabalhando na mesma funcionalidade pode parecer desperdício de tempo e recursos. Refletindo sobre este cenário, busquei entender melhor qual o papel do co-piloto na aviação. Em resumo ele deve estar devidamente preparado para assumir o comando caso necessário, o que casa exatamente com o conceito do pair testing e seu objetivo.

Aprofundando um pouco mais no assunto, estastíscas confirmam que as chances de duas pessoas errarem no mesmo ponto seja significativamente menor que uma única pessoa errar. No caso da aviação as consequências de falha humana podem ser irreparáveis e impagáveis por essa e outras razões colocam duas pessoas para fazer o trabalho que provavelmente uma faria tranquilamente.

No Pair Testing o co-piloto irá contribuir com levantamento de cenários de testes, ajuda na validação dos requisitos e extração de estórias, evitar falha em fluxos de testes complexos, caso o piloto tenha que se ausentar no meio do projeto tenha alguém preparado para assumir suas atividades , etc.

Como o Pair Testing pode ajudar sua equipe?

Sabemos que todo testador possui experiências e conhecimentos diferentes e cada vez é mais comum vê-los trabalhando na mesma equipe, porém com produtos, tecnologias e ferramentas diferentes. Desta forma o Pair Testing é uma excelente abordagem para compartilhamento de conhecimento.

Para colaboradores novos essa abordagem tende a promover uma curva de aprendizado mais rápida, pois o testador experiente irá compartilhar suas técnicas, abordagens e conhecimento de negócio com exemplos do dia a dia sem afetar suas atividades diárias e velocidade do time.

É comum que quando estamos trabalhando em determinado sistema fiquemos submergidos nas regras de negócio e entremos no famoso estado de Paradoxo do Pesticida, que nada mais é que executar sempre os mesmos cenários de testes iludidos que temos total conhecimento do software. Dessa forma o Pair Testing também permite que pessoas não inseridas totalmente no contexto possam contribuir com uma visão diferente da equipe atuante (olhos frescos) e então erros podem surgir como por exemplo entendimento de escopo, erros pré existentes, usabilidade etc…

Bom, já falamos um pouco sobre o que é o Pair Testing e como pode ajudar a equipe, mas e como aplicá-lo? É importante ter algumas diretrizes traçadas:

Determine os Objetivos

O Pair Testing pode ser usado para execução de várias atividades do dia a dia, mas é uma boa ideia ter em mente antes da sessão qual o objetivo que queremos atingir com o pair como por exemplo testar uma nova funcionalidade, levantar cenários de testes, etc. É importante que durante a sessão o foco seja alguma atividade que o piloto já faria se estivesse sozinho dessa forma o time ganha velocidade e produtividade.

Determine os Papéis

Defina quem será o piloto e quem será o co-piloto. O piloto deverá pensar em voz alta e expor claramente sua linha de raciocínio e dificuldades enquanto opera a máquina já o co-piloto deverá ajudar a guiar a sessão, explicar o como e porquê das estratégias adotadas e sugerir cenários de testes. Ao final da sessão o co-piloto deverá ter anotações, relatório de erros encontrados e realizar feedback.

Tome Notas

Erros não devem ser registrados durante a sessão do pair. Utilize este tempo para discutir ideias, cenários e tentar coisas diferentes. Ao final da sessão reserve um tempo para escrever bons reportes de erros.

Marque na Agenda

Uma sessão pode durar de 1 à 2 horas e deve acontecer TODOS os dias no mesmo horário. Por isso é importante ser marcado na agenda das pessoas envolvidas para que haja comprometimento. É extremamente importante que durante a sessão seja mantido o foco, então atividades paralelas e celulares ficam para outro momento.

Vantagens que temos ao executar o Pair Testing:
  • Transferência de Conhecimento
  • Aumento da cobertura de testes
  • Quando erros são encontrados a informação é validada por duas pessoas
  • Melhora a comunicação e interação do time
  • Pair Testing pode ser usado como uma oportunidade de treinar novos colaboradores
  • Quando duas pessoas trabalham juntas para resolver um problema cria uma energia positiva (sentimento de trabalho em equipe)

O Pair Testing deve se tornar cultura da equipe e por isso devemos tomar cuidado para não cair em algumas armadilhas e acabar fugindo da prática, exemplos:

  • Agendar compromissos no mesmo horário do pair.
  • Realizar atividades extras durante a sessão
  • Retenção de conhecimento para manter uma diferencial dos demais da equipe
  • Medo de errar durante a sessão e passar imagem que não domina o conhecimento
  • Cultura do individualismo – passar a maior parte do tempo executando suas tarefas sozinho

É ideal que ao final de cada sprint/projeto seja realizado um feedback de lições aprendidas com o Pair Testing. Assim conseguiremos avaliar se a prática está realmente gerando valor na equipe e aprimorar cada vez mais as sessões.

Agora que você já sabe as vantagens do Pair Testing e como aplicá-lo corra para implementá-lo na sua equipe compartilhar conosco os benefícios gerados.

Referências:

[1] http://www.infoescola.com/profissoes/co-piloto/

https://blog.testlodge.com/what-is-pair-testing/

https://www.joecolantonio.com/2016/07/21/pair-testing-free-testers/

http://www.desenvolvimentoagil.com.br/xp/praticas/programacao_par

Por EMANUELLE BERNARDO SPONTON

Formada em Tecnologia e Análise de Desenvolvimento de Sistemas, Certificada em Testes (Foundation Level - CTFL), e-learning em Gestão de Projetos - FGV, cursando Gestão e Estratégia de Empresas - Instituto Unicamp

Postado em: 27 de outubro de 2016

Confira outros artigos do nosso blog

Introdução ao Dev-Test Pairing

13 de junho de 2018

Caio Rizolli

Falando sobre Teste de Intrusão (ou PenTest)

03 de abril de 2018

Jacqueline Costa

Protractor – Testes automáticos end-to-end para aplicações em Angular

07 de dezembro de 2017

Jacqueline Costa

Testes em Node.js

04 de dezembro de 2017

Alan Cesar Elias

Deixe seu comentário