Em um mundo que está em constante transformação digital e que a resposta a mudanças de maneira rápida e eficiente se faz necessária, o papel do QA (também conhecido como Tester, Analista de Testes, Engenheiro de Qualidade, etc) possui uma importância fundamental para garantir que novos produtos e suas respectivas melhorias cheguem aos usuários de maneira estável e que a resposta as mudanças sejam tranquilas tanto para o time de desenvolvimento quanto para o usuário final.
Neste contexto de transformação e mudança constante está inserido o time ágil, responsável pelo entendimento da necessidade do cliente, modelagem e desenvolvimento de uma solução que resolva o problema e agregue valor com a sua entrega. Algumas das principais características do time ágil é a sua auto-organização e a multidisciplinaridade, esses dois pontos são fundamentais e impactam diretamente no dia-a-dia do QA, que se dispõe a trabalhar e aprender com a agilidade.
Qual o papel do QA?
O QA dentro do time ágil faz parte da equipe de desenvolvimento e está ao lado dos Devs participando de discussões técnicas, “dando pitacos” e levando o seu ponto de vista para o debate.
Seu papel tem atuação necessária desde o planejamento inicial de cada História de Usuário, pois durante o refinamento da História é muito importante que se manifeste e entenda a necessidade e o objetivo da mesma, isso o ajudará a nortear e definir quais tipos e níveis de testes serão necessários.
Ao contrário da metodologia tradicional de desenvolvimento de software, na qual o processo de testes se inicia após o término do desenvolvimento, na metodologia ágil os testes podem e devem ocorrer juntos ou até mesmo antes do início do desenvolvimento, dependerá muito do nível de maturidade de cada time.
Com o QA participando desde o início do processo nas discussões e envolvido com os desenvolvedores e PO (Product Owner) sobre o que deve ser feito e como será a solução, é possível que o mesmo contribua mapeando cenários de testes para serem utilizados pelos desenvolvedores, fazendo análise de código, indicando ferramentas para determinados tipos de testes, preparando a massa de testes que deverá ser utilizada no ambiente de homologação e muitas outras possibilidades.
O QA também pode e deve se aproximar do PO no início de construção de cada história para, além de entender o objetivo da mesma, compreender qual a entrega de valor que vai agregar para o usuário, pois são esses detalhes que irão ajudar o QA a priorizar os seus cenários de testes e, consequentemente, ter uma melhor performance no seu trabalho.
Em times que possuem autonomia para implantação de features no ambiente de Testes e Produção, o QA deve se aproveitar disso para explorar os testes no seu ambiente de homologação, podendo apagar e inserir novamente registros no banco de dados e também, colaborar ajudando o time com o deploy e controle de versão das histórias que irão para o ambiente de produção.
Enfim, a reflexão que o QA deve fazer é que em um ambiente colaborativo e seguro de um time ágil, as atividades não se limitam somente a esperar o desenvolvimento ficar pronto para testar, suas atividades como membro do time de desenvolvimento irão além disso, seu papel não é apenas testar: é garantir junto com o time a qualidade do que está sendo entregue, de forma que, essa entrega contribua positivamente para resolver o problema do usuário.
Sugestões de boas práticas para o QA no time ágil:
- Se preocupe e dê atenção para a história antes do início do desenvolvimento;
- Esteja sempre alinhado com o seu/sua PO;
- Participe das reuniões técnicas com os desenvolvedores para compreender o fluxo da solução que será implementada;
- Faça o mapeamento dos tipos de testes que serão necessários durante o refinamento técnico, por exemplo, testes de performance, testes de segurança, etc;
- Apoie e incentive os desenvolvedores na construção e qualidade dos testes;
- Entenda o fluxo sistêmico que as histórias serão desenvolvidas e utilize isso para realizar os testes, mas sempre pensando no objetivo da história;
- Levante a mão o mais rápido possível em caso de impedimentos;
- Fique sempre alinhado sobre o que está em desenvolvimento, testes e ambiente de produção.