GX2

A Importância do QA no Desenvolvimento de Software Ágil, por Júlia Sommer

Entenda o que um QA, quais suas responsabilidades e sua importância em uma squad de desenvolvimento de software.

QA: o que significa essa sigla?

Existem diversas formas de chamar um Quality Assurance, se você jogar no linkedin o termo “QA” em vagas, vai achar sinônimos como Analista de Qualidade, Analista de Qualidade, Analista de Testes ou até mesmo Tester. Mas existe algum realmente correto? A resposta é não, mas existe o mais adequado. Para chegarmos em uma resposta mais elaborada, vamos voltar um pouquinho com a pergunta: o que faz um QA? Qual sua função?

 

Afinal, o que faz o QA?

O Quality Assurance é responsável por toda a qualidade de um projeto de software em andamento. Ele planeja, mapeia e escreve cenários de testes no formato BDD adequado ao sistema que está sendo implementado; define ferramentas de testes de acordo com o que é mais requerido; define que tipos de testes será executado no projeto; mapeia e registra bugs e falhas; define métricas de qualidade para os problemas achados e também se o projeto requere testes manuais ou automatizados.

 

Mas nossa, depois de toda essa explicação, podemos dizer que o analista de testes é o que combina mais, não é mesmo?

Mais ou menos, porque aí entra outro assunto, chamado: Metodologia Ágil. Dentro da agilidade, é pregado que o QA deve participar de todo o ciclo de desenvolvimento do software, ou seja, ele não participa só na hora de testar ele. O QA deve estar presente desde o refinamento, que é onde o Product Owner repassa as histórias que serão planejadas para a Sprint, até o ambiente de produção, onde o QA vai manter a qualidade com testes regressivos periódicos para garantir que tudo esteja funcionando de acordo com o esperado.

Por isso, o termo que eu mais gosto de usar é Quality Assurance. Esse termo abrange a principal função do QA dentro de um time: garantir a qualidade. É importante que toda pessoa que decida seguir com o cargo de QA, mostre para o time que irá trabalhar sua suma importância de participação em todas as etapas do desenvolvimento do projeto. Porque desse modo é identificado problemas desde o início, como consequência tendo mais tempo de solucionar e prevenir para futuros.

 

E como um Quality Assurance entra no processo de desenvolvimento de software ágil?

Dentro do processo de desenvolvimento de software ágil, o QA ele tem responsabilidade de participar de todas as cerimônias, tais como: no pré e refinamento, aprofundar o conhecimento da história antecipadamente para poder dar opiniões sobre os tipos de testes e tempo que levará para realizar eles. Já na planning, o QA deve votar junto com os desenvolvedores definindo a pontuação da história pensando em desenvolvimento e também qualidade incluído. (É bem comum em vários projetos não acharem necessário a votação do analista de qualidade, por isso a importância da soft skill do QA de se posicionar e tentar ganhar espaço). Por fim, temos a Review, onde o QA apresenta as métricas dos testes, como quantos foram executados, quantos foram mapeados bugs e falhas, onde foi encontrado as falhas, e por aí vai.

Na hora de escolher a carreira de qualidade, é de suma importância que o indivíduo tenha em mente os soft skills que ele precisará ter. As principais são: saber se posicionar dentro de um projeto; ter boa comunicação; saber trabalhar em equipe; ter uma ótima visão crítica e ampla sobre as coisas.

Falando de mercado de trabalho e hard skills, podemos citar muito a automação de testes. A automação está cada vez mais ganhando mais espaço dentro da carreira de QA e sendo cada vez mais exigida nas vagas. Então é importante que o QA esteja além do BDD, testes manuais e funcionais. É bom aprender alguma framework de teste, para inclusive auxiliar no trabalho do próprio QA na hora dos testes regressivos (mas isso fica pra próxima conversa, risos).