fbpx

vamos conversar?

O Papel do QA no Time de Produto

Tempo de leitura: 10 minutos

No quinto artigo da série sobre o time de produto digital, iremos explorar o papel do QA (Quality Assurance). Nosso objetivo é explicar por que é essencial ter uma pessoa focada na área de qualidade de software. Para tal, reunimos as principais dúvidas e questionamentos que permeiam esse universo, e conversamos com os nossos especialistas para esclarecê-las.

No primeiro artigo dessa série, exploramos os perfis, papéis e conhecimentos necessários a um time de produto. No segundo, abordamos a importância de Product Owners (PO), seguido pelo conteúdo que explorou o papel dos Designers. Já no último artigo publicado em nosso blog, falamos sobre Programadores. E para encerrar a série, ainda iremos abordar o trabalho desenvolvido por Product Marketing Managers (PMM).

Existe Diferença Entre Analistas de Qualidade (QA) e Analistas de Testes?

Há alguns anos, o profissional conhecido como Analista de Testes trabalhava focado na qualidade do produto de software. Atualmente, é esperado que essa pessoa atue de forma mais ampla, como Analista de Qualidade ou Quality Assurance (QA), validando além da qualidade do produto, todo o seu processo de criação.

Em resumo, a pessoa QA foca-se em garantir que o produto tenha a melhor qualidade possível, participando do discovery ao delivery das soluções digitais. No Livro Software Quality: A Framework For Success in Software Development, Sanders (1994) ressalta que “um produto de software apresenta qualidade dependendo do grau de satisfação das necessidades dos clientes sob todos os aspectos do produto”. Para isso, o profissional analisa o ciclo de criação e o modo de trabalho das squads que participam do desenvolvimento.

Segundo Douglas Souza, QA da SoftDesign, esse olhar mais global ajuda a maximizar resultados, já que é possível encontrar erros no início do processo: “Caso esse profissional não existisse, os erros poderiam ficar sem correção até a entrega do produto. Isso evita perda de tempo e dinheiro”, ressalta.

O Que um QA Realmente Faz?

Como já mencionamos, a pessoa QA tem o papel de analisar todo o ciclo de desenvolvimento de um produto digital. Esse profissional é capaz de garantir o funcionamento correto dos programas e revisar os pré-requisitos dos softwares, reportando falhas ao time de desenvolvimento. Para isso, utiliza testes funcionais e não funcionais, realizados por meio de técnicas de Testes Manuais e Automatizados. Ainda, auxilia na criação de estratégias, planos de teste e avaliação de resultados.

De acordo com Raphael Rodrigues, Agilista da SoftDesign, enquanto no modelo fábrica de software o objetivo é encontrar defeitos para reportar ao cliente, no modelo ágil é construir um produto e gerar conhecimento, pensando e validando hipóteses ao longo do processo. “Por isso, é importante entender o que é considerado valor para o cliente e o usuário. Às vezes, o que parece ser um problema pode se transformar em uma oportunidade. Não existe um produto perfeito, afinal estamos falando de algo que está em construção perene. Logo, um olhar mais crítico é essencial”.

Além disso, o QA pensa em cenários que podem afetar criticamente o produto. Essa pessoa é responsável por antever possíveis problemas de usabilidade e comportamentos do sistema que podem gerar defeitos como, por exemplo, o uso incorreto de um elemento de tela. Portanto, seu papel é também trabalhar na redução de possíveis erros críticos. Lembre-se que adversidades sempre irão existir, entretanto, elas não podem ser graves a ponto de comprometer o funcionamento da aplicação.

Testes Manuais X Testes Automatizados

À medida que a construção de produtos digitais acontece de forma mais rápida, o feedback de hipóteses e experimentações também precisa alcançar um ritmo mais veloz. Nesse sentido, os Testes Automatizados tornam-se essenciais para ser possível executar todas as tarefas necessárias.

Rodrigues ressalta que o Teste Automatizado serve para acelerar o feedback do que foi construído, ou seja, ele verifica a existência de possíveis problemas e impactos. Já no Teste Manual, é necessária atenção plena da pessoa que está conduzindo esse processo de verificação. “Depois que o QA faz o trabalho manual é esperado que ele automatize aquilo que for considerado repetitivo ou crítico, assim será possível descobrir de maneira mais ágil se a aplicação segue funcionando ou não”.

Os Testes Manuais e Automatizados são geralmente realizados pela mesma pessoa. Porém, em alguns casos esse pode ser um desafio, visto que conhecimentos em programação passam a ser necessários. “Para trabalhar com Testes Automatizados é preciso lidar com código. Logo, tendo em consideração o volume de trabalho e a necessidade de feedback rápido, acredito que os Testes Manuais e Automatizados devem ser complementares ao longo da jornada de desenvolvimento”, explica o Agilista.

Entrega Contínua

Com a metodologia ágil buscamos desenvolver e entregar novas funcionalidades e produtos de forma veloz, eficiente e com qualidade. Para isso, as squads buscam constantemente formas de incrementar o produto, de modo a maximizar o valor das entregas para o cliente em relação ao tempo de desenvolvimento. Uma abordagem utilizada para conseguir cumprir esses objetivos é o CI/CD, onde os conhecimentos em Testes Automatizados são cruciais.

De acordo com Matheus Zanon Nunes, QA da SoftDesign, em um time que aplica Integração Contínua (CI) e Entrega Contínua (CD), é preciso apresentar novas funcionalidades ao cliente de forma rápida. “Os Testes Automatizados são críticos para cumprirmos esse fluxo, pois não é possível automatizar as entregas contínuas se a etapa de teste é manual e lenta. Então, de maneira a viabilizar o CD, nós aplicamos a etapa anterior, o CI. Ele é responsável por integrar e monitorar todas as mudanças no software, além de disparar rotinas automatizadas para verificar a qualidade e estabilidade desse novo código. Aí entram os Testes Automatizados como uma etapa de pré-requisito para a execução do CD”.

Dessa maneira, os Testes Automatizados nas suas várias categorias (Unitários, Integração, End-to-End, Performance, etc.) se tornaram uma etapa crucial para garantir que antes, durante e após o Desenvolvimento do Software serão cumpridos todos os requisitos com qualidade e foco na entrega.

Como o QA Interage Com o Time de Produto?

A interação da pessoa QA com o time de produto deve ocorrer desde o planejamento inicial da construção da solução, pois durante o refinamento das funcionalidades é muito importante que se entenda seu objetivo. Isso ajudará o profissional a definir quais tipos e níveis de testes serão necessários. Além disso, essa pessoa também pode contribuir com sugestões para as capacidades da aplicação.

As principais habilidades de um QA que contribuem para o sucesso do produto são o pensamento crítico e a visão detalhista, que possibilitam a identificação antecipada de diferentes cenários de acordo com o contexto de negócio. Isso reduz consideravelmente a quantidade de falhas no software, possibilitando também que os tipos de testes sejam identificados.

Os tipos de testes mais comuns e necessários são:

  • Funcionais, que visam garantir que as funcionalidades desenvolvidas correspondem com as especificações de negócio feitas pelo Product Owner;
  • Testes de Usabilidade, que visam validar jornadas de usuário e telas definidas pelo Designer;
  • Testes de Regressão, que garantem que as funcionalidades anteriormente implementadas continuem íntegras após novas implementações.

Dependendo da necessidade da aplicação, podem ser realizados também testes de Integração, Carga, Performance e Segurança. Para Denise Viegas, QA da SoftDesign, as interações com POs e Designers são fundamentais ao criar funcionalidades e jornadas de usuário. “Além disso, a parceria entre Programador e QA também é essencial durante a etapa de especificações, especialmente durante o ciclo de delivery. Essa colaboração é decisiva na entrega de qualidade do produto, pois é nela que todas as ideias e definições são concretizadas”, destaca.

Tendências Para os Próximos Anos

O papel do QA vem passando por constantes mudanças. Atualmente, essa pessoa atua entre a área de negócio e o desenvolvimento do produto, de forma que além das habilidades interpessoais, também necessita de conhecimentos em programação.

Com o QA participando desde o início do processo, e envolvido com pessoas Programadoras e Product Owners na definição da solução, é possível que ele contribua mapeando cenários de testes para serem utilizados pelos desenvolvedores. Além disso, poderá indicar ferramentas para determinados tipos de testes em ambiente de simulação, entre outras possibilidades.

Para Denise, a tendência é que cada vez mais esses profissionais adquiram habilidades técnicas, visando fluxos de testes mais automatizados em ambientes de integração contínua. “Isso possibilita mais agilidade na identificação antecipada de falhas, bem como maior habilidade no momento de avaliar a viabilidade das soluções técnicas implementadas”, ressalta.

QA na SoftDesign

A partir do momento em que passamos a olhar mais para os conhecimentos das pessoas, seus papéis evoluíram naturalmente a fim de consolidar o pensamento crítico. Com os Métodos Ágeis, deixamos de ter uma pessoa focada somente na qualidade do software para expandir esse olhar para todo o processo, e é por meio dessa visão holística que os Testers da SoftDesign atuam nos times de produto.

Se você precisa de ajuda para desenvolver soluções digitais de qualidade, entre em contato conosco por meio do formulário abaixo. Juntos, iremos buscar diferenciação ao lançar produtos que recebem boas primeiras impressões, quando chegam às mãos do usuário final.


Sugestões ou críticas para nosso blog? Entre em contato pelo endereço [email protected]

Foto do autor

Micaela L. Rossetti

Head de Marketing da SoftDesign, é formada em Jornalismo (UCS), mestre em Comunicação Social (PUCRS), e tem MBA em Gestão de Projetos (PUCRS). Especialista em Inbound Marketing e Content Marketing, também atua com Marketing Estratégico e Growth Marketing.

Deseja receber novidades sobre

DESIGN, AGILIDADE e TECNOLOGIA?

SoftDesign