Importância e desafios da área de QA nos negócios l Entrevista com João Percy

Nastacha de Avila
mobicareofficial
Published in
7 min readDec 3, 2021

Oferecer produtos ou serviços de qualidade pode ser fundamental para a sobrevivência de uma empresa, pois à mercê disso estão a imagem da marca, a satisfação do cliente, oportunidades de negócios e a credibilidade da companhia. O mercado não deixará de notar um problema, se ele existir.

Uma pesquisa elaborada pelo grupo Fifth Quadrant diz que 80% dos consumidores interrompem o uso de algo da empresa após uma experiência ruim.

Para evitar possíveis empecilhos, é preciso um time capacitado para enxergar falhas tanto antes do lançamento quanto, no mercado tech, com o sistema no ar.

É justamente aí que entra o Quality Assurance. No universo da tecnologia, essa equipe assume o papel de apoio aos desenvolvedores e desenvolvedoras, bem como a todos os outros times relacionados. Profissionais responsáveis por manter um ciclo de confiança dos clientes e dos usuários com os produtos.

E essa área de Qualidade possui muitos desafios: desde o planejamento para um teste manual completo até um planejamento para testes automatizados.

Para entender um pouco melhor sobre essa área, convidei o João Percy, especialista em Teste de Software pela UNIEURO e Analista de Testes na Mobicare, para nos contar sobre a importância, vantagens, desafios e o time de QA. Confira:

1 — O que faz a equipe de QA?

Em suma, os profissionais de Quality Assurance têm a função de garantir a qualidade de um produto/serviço. Temos a tarefa de não deixar que os defeitos de um produto avancem para a linha de produção.

Para tal, fornecemos o apoio à Equipe de Desenvolvimento, buscando cenários não explorados e/ou não percebidos durante o desenvolvimento das funcionalidades.

O foco da equipe é assegurar que o produto desenvolvido é o que o cliente realmente pediu, contendo as funcionalidades planejadas, em perfeito funcionamento e que o usuário não terá problemas ou erros durante seu uso.

2 — O que é preciso para iniciar na área de qualidade?

Para responder essa pergunta, preciso explicar um pouco sobre os dois tipos de testes: manual e automatizado.

  • O primeiro se refere à pegar um sistema qualquer (desktop, mobile, etc) e testá-lo manualmente na função de procurar falhas ou erros no sistema e reportá-los aos desenvolvedores.
  • O segundo se dá de forma automática, usando programas para simular os cliques e scroll na tela.

Se o objetivo for apenas testes manuais, vale a pena buscar estudos sobre como reportar problemas de forma objetiva, como criar Casos de Testes, Plano de Testes e sempre ter uma visão macro, buscando áreas mais suscetíveis a problemas dentro de um produto.

Se o objetivo for testes automatizados, então temos um caminho um pouco mais longo pela frente, porque o profissional precisa, além de saber programar e conhecer as ferramentas de auxílio para este processo, conhecer toda a área de testes manuais, pois antes de algum item ser automatizado, este precisa ser feito manualmente, precisa ser cadastrado como um novo caso de teste, e assim vai.

O teste automatizado complementa o manual. Então para iniciar nessa área, a parte de teste manual precisa ser compreendida e praticada.

3 — O que você sugere em termos de capacitação e desenvolvimento profissional na área para cada perfil?

Para iniciantes em testes manuais, os cursos do Alura são muito bons, com toda a pegada dos conceitos e práticas.

Para a iniciação em programação, inicialmente fiz o curso de Python no codecademy, que possui vários tipos de linguagens para se aprender. Além dele, temos vários outros com o mesmo intuito (coursera, udacity, pluralsight, etc.) e na nossa literatura possuímos uma vasta opção de livros que podem nos dar essa base.

Para profissionais já no mercado, buscar especialização (Pós-graduação voltada a área de qualidade, MBA em Testes de Software) é sempre um bom ponto e junto com isso, buscar certificações na área. As certificações nos forçam a aprender ainda mais, pois geralmente temos que estudar bastante para as provas, reforçando nossos conhecimentos na área.

4 — Quais as ferramentas mais utilizadas na área de qualidade dentro das empresas?

Atualmente, por aqui, a gente utiliza o Appium para nossa automatização. Por ser uma ferramenta multiplataforma, nos ajuda bastante neste processo.

Acredito que atualmente o Selenium seja a ferramenta mais utilizada e, pra quem já utiliza, tem uma leve vantagem em relação ao Appium, que faz uso interno dos seus comandos.

Entre outras ferramentas, existe o Cypress, que vem ganhando espaço na automatização de browsers, o Cucumber, que oferece um suporte ao desenvolvimento orientado ao comportamento (BDD — Behavior Driven Development).

Já na parte de organização de tarefas e projetos, incluindo o rastreio de erros ou problemas dentro da aplicação (termo: bug tracking), temos o Bugzilla, Jira, Redmine, Trello, entre outros.

5 — Comente sobre a falta de grupos, comunidades, etc. voltados a veicular informações e conteúdos para a área de qualidade em específico.

Esse ponto em específico depende bastante do tipo de informação que estamos buscando. Se tratando de iniciar na área e/ou tópicos mais discutidos no âmbito geral de testes, acredito que tenhamos bastante conteúdo na internet, em grupos no Facebook, Treinamentos de empresas, grupos de meetup, fóruns, etc.

Já para conteúdo específico, numa automatização utilizando ferramentas específicas, é um pouco mais complicado. Geralmente temos de ler bastante itens avulsos na internet para configurar e manter alguns sistemas (artigos, matérias, vídeos, etc.), assim vamos pulando de galho em galho para tirar as dúvidas e resolver determinados problemas.

6 — Quais as diferenças entre trabalhar para iOS e Android? Acaba sendo um desafio?

Sim, é um grande desafio e é um desafio constante. Por serem sistemas completamente diferentes, esbarramos em vários pontos de entrave.

Para quem já trabalha com um MacOs, consegue tirar vantagem de automatizar Android e iOS de forma mais fácil, pois os dois sistemas são aceitos e rodam tranquilamente sem precisar do uso de outras ferramentas. É possível utilizar devices físicos Android e iOS e emuladores/simuladores.

Já para quem trabalha com Windows, sofre um pouco mais nesse quesito, pois teoricamente só seria possível rodar/testar o Android. Mas, podemos dizer que nessa parte já criaram uma forma de funcionar um dispositivo iOS no Windows para automatização e isso vem da plataforma TestProject (ainda será necessário ter um dispositivo iOS para uso, pois não existe a possibilidade do uso de simuladores).

Já na parte de automatização, é comum criar os códigos pensando sempre em como será feito no Android e como será feito no iOS e, quando isso não é possível, devido às limitações dos sistemas ou do agente que faz esses trâmites, cada caso é feito de forma isolada.

7 — Quais os principais desafios que você enxerga para a área?

Por aqui, a mão de obra qualificada faz toda diferença. Como o trabalho é voltado para a automatização mobile, é importante que o colaborador já tenha a vivência com programação e esse requisito acaba gerando um ponto de atenção. Como o mercado de trabalho está aquecido nessa área de programação, é comum a Equipe de Desenvolvimento querer puxar o colaborador de QA para a área de Dev, pois a vivência em qualidade + programação traz uma experiência completamente diferente ao desenvolver um software, ou seja, toda a bagagem que o colaborador carrega nessa área é direcionada a um novo propósito e essa visão de QA agrega muito valor à equipe e ao produto.

Outro desafio que vejo, dependendo de como está o processo de automatização dentro da empresa, é a estrutura que será implantada. Algumas dúvidas são: usar servidor físico ou nuvem? Se físico, quantos e quais dispositivos? Quais ferramentas utilizar? Quais os custos irão envolver? Quantos projetos serão contemplados? etc.

8 — Um conselho para quem quer entrar na área de QA.

Para quem busca a parte de automatização: não corra no processo de aprendizado. Aprender a automatizar é um passo importante na evolução da área, mas não pule as etapas. Criar um bom caso de teste, saber reportar um bug de forma objetiva e clara, criar um plano de teste são pontos críticos a serem trabalhados.

Aprenda sobre os tipos de testes existentes (regressão, performance, segurança, etc.) e veja se pode ser aplicado na sua empresa/área de atuação.

Não tenha medo de explorar apps de terceiros. Sistemas não estão imunes a bugs. Existem sites que pagam para outras pessoas testarem seus sites/aplicativos; é uma boa alternativa para testar as skills de teste.

E por último, uma dica de ouro: sempre reproduza o problema detectado pelo menos umas 3 vezes (tendo um passo-a-passo consistente) antes de repassá-lo para a equipe DEV e tenha as evidências do erro (vídeo, imagem, log, etc.).

Hey! Meu nome é Nastacha de Avila, sou responsável pela área de Marketing nas empresas Mobicare e Akross, com foco em Branding Awareness para recrutamento de talentos em TI. O que mais amo em trabalhar no mercado de tecnologia é poder estar sempre próxima à inovação.

A Mobicare combina os Melhores Talentos, Tecnologias de Ponta, Práticas Agile e DevOps com Capacidades Operacionais avançadas para ajudar Operadoras Telecom e grandes empresas a gerarem novas receitas e a melhorarem a experiência dos seus próprios clientes.

Se você gosta de inovar, trabalhar com tecnologia de ponta e está sempre buscando conhecimento, somos um match perfeito!

Faça parte do nosso time. 😉

--

--

Nastacha de Avila
mobicareofficial

Responsável pela área de Marketing nas empresas Mobicare e Akross, com foco em Branding Awareness para recrutamento de talentos em TI. 😉