* Por Nathalia Aranha

Quem nunca desistiu de realizar uma compra pela internet devido aos erros que o site apresentava? Até os mais resilientes (ou insistentes) acabam perdendo a confiança e preferem realizar a compra em um site da concorrência.

Infelizmente essa é a realidade de muitos usuários, que mesmo com toda a evolução obtida no processo de tecnologia, e principalmente no desenvolvimento de software, ainda se deparam com estes tipos de problemas. A questão a ser analisada como consequência, é o que pode acarretar para o negócio ao encontrar erros em uma aplicação.

Podemos começar pela perda de dinheiro, reputação, além do próprio tempo do usuário e das pessoas que estão envolvidas na construção desse software.  Como poderíamos mitigar esse tipo de situação? Se você ainda não ouviu falar de QA, neste artigo teremos uma visão prévia de quem é esse profissional, qual é o papel dele no ciclo de vida de um software, e porque muitas vezes ele é visto como um acessório já que possibilita a redução do risco de falha dos sistemas.

Mas afinal, o que é o QA? QA também é conhecido como Quality Assurance, analista de testes, analista de qualidade, entre outros nomes. Ele é um profissional geralmente formado em tecnologia que tem como objetivo garantir a qualidade de um produto ou serviço. Algumas características são importantes para ser um bom profissional da área, como entender o negócio/sistema/produto, o que possibilita explorar vários cenários e os possíveis comportamentos que a aplicação pode ter.

Pensar como usuário final, se colocar no lugar dele é uma ótima estratégia quando se quer ter uma ótima experiência, além de ajudar a pensar em caminhos alternativos, validando as regras de negócio e se os erros estão sendo tratados.

Outro ponto bem importante é conhecer a metodologia, não só de metodologia ágil, mas de testes também. Conhecer a metodologia possibilita escolher o melhor caminho a seguir, ser assertivo na abordagem dos testes, como por exemplo qual tipo de testes é aderente a características específicas de um determinado software.

As técnicas de testes também são muito importantes, pois ajudam o QA a identificar as condições de testes, massa de dados e até mesmo possibilita eficiência nos testes e redução do tempo de execução. Conhecer ferramentas, que são grandes aliadas no ganho de produtividade, pois com elas ganha-se maior assertividade e diminui as chances de erros. Hoje no mercado temos inúmeras ferramentas com as quais podemos contar desde gerenciamento de testes a automação. 

Agora que entendemos o que é o QA, nos fica a pergunta: Qual o papel dele no ciclo de vida do software?

Por muitos anos o QA foi visto como o inimigo número um do desenvolvedor e por muitas vezes visto com maus olhos pelo time. Entretanto, com os processos de desenvolvimento sendo mais ágeis,  alguns paradigmas estão mudando, dentre eles o papel que o profissional de qualidade e os benefícios que eles podem trazer para o time. Um equívoco comum das pessoas, é pensar que o teste só deve ser aplicado após o desenvolvimento estar pronto, na verdade, quanto antes identificamos um erro mais barato ele fica.

O profissional de QA deve estar envolvido em todo o ciclo de desenvolvimento e não apenas após o software ser construído. Costumo falar que o bom QA é aquele que é o braço direito do PO, ajudando a desenvolver critérios de aceitação detalhados para suas histórias e nas estimativas delas. O QA também pode ajudar com os testes unitários, apoiando os desenvolvedores a construir a estratégia de teste de unidade, sugerir casos de teste e ajudar a resolver questões funcionais durante o processo de desenvolvimento. Ele é um apoio a equipe de desenvolvimento na antecipação de defeitos, melhorando a qualidade final das aplicações. Além disso, pode oferecer suporte à equipe de teste de aceitação, otimizando suas atividades de teste. 

Nos últimos anos, com a aceleração digital, a qualidade ganhou relevância. Porque muitas vezes, entretanto, o QA é visto como dispensável. No nosso dia a dia nos deparamos com várias situações nas quais este perfil é o primeiro candidato a ser cortado dos projetos. Às vezes por falta de orçamento, às vezes por falta de tempo para aplicar a qualidade ou até mesmo porque o cliente/time não vê valor agregado no trabalho.

Ao longo dos meus 13 anos na área me deparei com várias situações, umas de muito sucesso e outras nas quais obtive um aprendizado muito grande. Não é incomum que projetos em crise, com problemas graves de qualidade na produção, solicitam o apoio do time de qualidade, esse mesmo grupo que no início é o primeiro a ser considerado desnecessário.

Afinal, testes de software são um item essencial ou um acessório nos projetos de TI? Como vimos neste artigo, são muitos os benefícios que a aplicação efetiva da qualidade pode trazer para os projetos. Sua atuação não se restringe apenas a encontrar bugs no final do processo, mas sim à participação desde o momento da concepção trazendo sempre a visão do usuário final, pensando como ele e prevendo situações que muitas vezes acabariam passando despercebidas pelos membros do time.

Ter testes no seu projeto permite reduzir a probabilidade de ter defeitos, reduzindo o risco do negócio e ampliando os resultados. Minha resposta é sim, o teste é essencial, e construir a qualidade necessária e adequada ao projeto é muito melhor do que lidar reativamente com os problemas já ocorridos.


NathaliaNathalia Aranha, 33 anos, mãe do Leonardo e QA Executive Manager na NTT DATA, empresa mantenedora do Cubo Itaú. Formada em Ciência da Computação, possui mais de 13 anos de experiência na área de qualidade de software.