Skip to main content

📚 Visão Geral

A área de Quality Assurance (QA) tem ganhado destaque no desenvolvimento de software devido à sua importância na garantia de qualidade e na entrega de produtos mais robustos e funcionais. Para aqueles que desejam ingressar ou se especializar em QA, é crucial construir uma trilha de aprendizado que cubra não apenas os fundamentos de testes, mas também o uso de ferramentas e metodologias modernas.

Para a trilha de aprendizado, dividiremos o conteúdo em três níveis: Iniciante, Intermediário e Avançado. Cada fase será estruturada para evoluir de forma gradual, abordando desde os conceitos básicos de QA e testes manuais até o foco em testes automatizados com Cypress e testes de segurança.

Perfil do QA

O profissional de QA tem como principal função garantir que o produto final atenda aos requisitos de qualidade, seja funcional, seguro e com uma experiência de usuário adequada. Para isso, o QA precisa desenvolver um conjunto de hard skills (habilidades técnicas) e soft skills (habilidades interpessoais) que o capacitem a lidar com as diferentes demandas da área. Entre as skills esperadas de um QA estão:

Soft Skills (Habilidades Interpessoais)

  1. Atenção aos Detalhes

    • A capacidade de identificar pequenos erros ou inconsistências que podem causar falhas no sistema.
    • Revisão minuciosa dos requisitos e cenários de teste.
  2. Comunicação Clara e Eficiente

    • Habilidade de relatar bugs e falhas de maneira precisa e compreensível.
    • Colaboração com desenvolvedores e stakeholders para alinhar expectativas e discutir soluções.
  3. Pensamento Crítico e Analítico

    • Avaliar diferentes abordagens para a resolução de problemas e priorização de testes.
    • Analisar o impacto de um bug no sistema e definir sua criticidade.
  4. Proatividade

    • Antecipar possíveis problemas e trabalhar na prevenção de erros antes mesmo que aconteçam.
    • Sugestões de melhorias e otimização contínua dos processos de QA.
  5. Trabalho em Equipe

    • Capacidade de colaborar efetivamente com outros membros do time.
    • Resolução de conflitos e trabalho em equipe focado em soluções.
  6. Adaptabilidade

    • Flexibilidade para lidar com mudanças de requisitos ou prioridades no desenvolvimento de software.
    • Capacidade de aprender e se adaptar a novas ferramentas e tecnologias.

Hard Skills (Habilidades Técnicas)

  1. Conhecimento em Testes de Software

    • Entender os principais tipos de testes e como eles se diferenciam entre si (manuais, automatizados, regressão, desempenho, integração, entre outros).
    • Elaboração de cenários de teste e criação de casos de teste.
    • Ferramentas de gestão de testes (como TestRail, Jira, Zephyr).
  2. Automação de Testes

    • Ferramentas como Cypress e Selenium para automatizar testes de UI e API.
    • Conhecimento de linguagens de programação e scripts (JavaScript,Typescript, C#, etc.).
    • Construção de frameworks de automação e execução em pipelines de CI/CD.
  3. Integração Contínua/Entrega Contínua (CI/CD)

    • Implementação de testes automatizados em pipelines de CI/CD.
    • Integração de ferramentas de análise de qualidade de código como SonarQube.
  4. Testes de API

    • Uso de ferramentas como Postman ou Insomnia.
    • Conhecimento de protocolos REST, SOAP, GraphQL, etc.
    • Automação de testes de API com frameworks específicos (como o Cypress).
  5. Metodologias Ágeis

    • Entendimento de metodologias como Scrum e Kanban.
    • Participação ativa em cerimônias ágeis (daily, planning, retrospectivas, etc.).

Em caso de dúvidas ou sugestões para a trilha de QA ou demais materiais, em contato via ledsifes@gmail.com.

Bons estudos!