🎓

Aula: Metodologia QA Completa

Do Zero ao Profissional: Aprenda a Documentar e Automatizar Testes

Duração: 2-3 horas
Nível: Iniciante a Intermediário
Hands-on: Sim

🎯 Objetivos de Aprendizagem

Ao final desta aula, você será capaz de:

📋

Objetivo 1

Compreender a importância da documentação estruturada em projetos de QA

📝

Objetivo 2

Identificar e utilizar corretamente cada template (PRD, SDD, Elements, Test Knowledge)

🔄

Objetivo 3

Aplicar o workflow completo em um projeto real de automação de testes

✅ Pré-requisitos:
  • Conhecimento básico de testes de software
  • Familiaridade com conceitos de QA
  • Nenhuma experiência prévia com automação necessária!

🎬 Demonstração do Projeto

Vídeo da Automação em Ação

Demonstração da automação em ação

Workflow

Workflow
💡 Dica: Observe no vídeo como a metodologia documentada é aplicada na prática. A arquitetura mostrada na imagem reflete exatamente a estrutura dos templates que você aprenderá nesta aula.

📖 Módulo 1: Fundamentos da Documentação QA

1.1 Por que Documentar?

Antes de mergulharmos nos templates, é crucial entender por que a documentação é essencial:

Com Documentação

  • ✅ Equipe alinhada com objetivos claros
  • ✅ Novos membros entendem o projeto rapidamente
  • ✅ Menos retrabalho e bugs
  • ✅ Manutenção facilitada
  • ✅ Rastreabilidade de requisitos

Sem Documentação

  • ❌ Conhecimento concentrado em poucas pessoas
  • ❌ Implementações inconsistentes
  • ❌ Dificuldade em onboarding
  • ❌ Perda de contexto ao longo do tempo
  • ❌ Mais tempo debugando

1.2 A Pirâmide da Documentação QA

Nossa metodologia segue uma estrutura lógica e progressiva:

📋

Base: PRD (O QUE testar)

Define requisitos, casos de teste e metodologia. É o alicerce de tudo.

🔍

Camada 2: Elements (ONDE testar)

Mapeia todos os elementos de UI com localizadores. São os pontos de interação.

⚙️

Camada 3: SDD (COMO implementar)

Define arquitetura técnica e stack. É o plano de execução.

📚

Topo: Test Knowledge (Conhecimento acumulado)

Convenções, padrões e lições aprendidas. É a sabedoria do time.

💡 Analogia: Pense na documentação como construir uma casa:
  • PRD = Planta da casa (o que será construído)
  • Elements = Localização de portas, janelas, interruptores
  • SDD = Especificações técnicas de materiais e métodos
  • Test Knowledge = Código de obras e boas práticas da construção

1.3 Conceitos-Chave

Termos Essenciais

  • Caso de Teste: Cenário específico que valida um comportamento do sistema
  • Localizador (Locator): Forma de identificar um elemento na UI (XPath, ID, CSS)
  • Page Object: Padrão de design que encapsula elementos e ações de uma página
  • Keyword: No Robot Framework, uma função reutilizável que executa ações
  • Framework: Estrutura de software que facilita a criação de testes

📄 Módulo 2: Conhecendo os Templates

Agora vamos explorar detalhadamente cada template disponível. Preste atenção na ordem e na relação entre eles!

Template 1: PRD (Product Requirements Document)

📍 Arquivo: prd/PRD_TEMPLATE.md 🔗

🎯 Quando usar: Logo no início do projeto, antes de qualquer código

O que este documento responde?

  • ❓ O QUE vamos testar?
  • ❓ POR QUE precisamos testar isso?
  • ❓ QUAIS casos de teste são necessários?
  • ❓ QUAL metodologia vamos seguir? (BDD, TDD, etc.)
  • ❓ O QUE NÃO será testado? (escopo negativo)
Prioridade: ALTA
Começa aqui!

Template 2: Elements (Mapeamento de Elementos UI)

📍 Arquivo: elements/ELEMENTS_TEMPLATE.md 🔗

🎯 Quando usar: Logo após o PRD, antes de implementar os testes

O que este documento responde?

  • ❓ ONDE estão os elementos na interface?
  • ❓ COMO identifico cada botão, campo, texto?
  • ❓ QUAL o tipo de cada elemento? (Button, TextField, etc.)
  • ❓ QUAIS são os estados possíveis? (enabled, disabled, visible)
Prioridade: ALTA
Base para Page Objects

Template 3: SDD (Software Design Document)

📍 Arquivo: ssd/SDD_TEMPLATE.md 🔗

🎯 Quando usar: Após PRD e Elements, antes da implementação

O que este documento responde?

  • ❓ COMO será a arquitetura do projeto?
  • ❓ QUAIS tecnologias e versões usar?
  • ❓ COMO organizar pastas e arquivos?
  • ❓ QUAIS dependências são necessárias?
  • ❓ COMO configurar o ambiente?
Prioridade: MÉDIA
Guia de Implementação

Template 4: Test Knowledge (3 documentos)

📍 Arquivos: test-knowledge/ ROBOT_CONVENTIONS 🔗 | TEST_PATTERNS 🔗 | TEST_RULES 🔗

🎯 Quando usar: Consultar durante todo o projeto

📘 Robot Conventions

O que contém: Regras de sintaxe do Robot Framework

  • Como escrever código Robot corretamente
  • Separadores e indentação
  • Estrutura de arquivos .robot
  • Nomenclatura de keywords

📘 Test Rules

O que contém: Regras específicas do projeto

  • Regras de nomenclatura
  • Como estruturar testes
  • Quando usar keywords vs. bibliotecas diretas
  • IMPORTANTE: Não criar arquivos .md adicionais!
Prioridade: MÉDIA
Consulta Contínua
🔔 Atenção Importante: Os templates de Test Knowledge são para consulta e referência. Não é necessário preenchê-los completamente antes de começar, mas você deve consultá-los frequentemente durante o desenvolvimento!

🔄 Módulo 3: Workflow Passo a Passo

Agora que você conhece os templates, vamos aprender a ordem correta de aplicá-los em um projeto real.

💡 Dica de Ouro: A ordem dos passos É FUNDAMENTAL! Não pule etapas e não inverta a sequência. Cada documento depende do anterior.

Fluxo Completo: Do Início ao Fim

1

Passo 1: Criar e Preencher o PRD

⏱️ Tempo estimado: 1-2 horas

🎯 Objetivo: Definir claramente O QUE será testado

Como fazer:

  1. Copie o arquivo PRD_TEMPLATE.md
  2. Renomeie para PRD.md
  3. Leia atentamente cada seção
  4. Substitua TODOS os [PLACEHOLDERS]
  5. Liste TODOS os casos de teste planejados
  6. Defina a metodologia (BDD, TDD, etc.)
  7. Especifique o que NÃO será testado (escopo negativo)
✅ Resultado esperado: Um documento completo que qualquer pessoa possa ler e entender exatamente o que será testado e por quê.
2

Passo 2: Mapear Elementos (Elements)

⏱️ Tempo estimado: 2-4 horas

🎯 Objetivo: Identificar ONDE estão todos os elementos de UI

Como fazer:

  1. Abra o aplicativo que será testado
  2. Use ferramentas de inspeção:
    • Android: uiautomatorviewer ou Appium Inspector
    • iOS: Appium Inspector ou Xcode Inspector
    • Web: DevTools do navegador (F12)
  3. Para cada tela do PRD:
    • Identifique todos os elementos visíveis
    • Capture o localizador (XPath, ID, CSS)
    • Documente o tipo (Button, TextField, etc.)
    • VALIDE que o localizador funciona!
  4. Preencha o Elements.md
⚠️ Atenção: Sempre teste os localizadores antes de documentá-los! Um localizador incorreto causa falhas nos testes.
3

Passo 3: Planejar Arquitetura (SDD)

⏱️ Tempo estimado: 1-2 horas

🎯 Objetivo: Definir COMO será a implementação técnica

Como fazer:

  1. Escolha as tecnologias:
    • Linguagem (Python, JavaScript, Java?)
    • Framework de teste (Robot, Pytest, Jest?)
    • Ferramenta de automação (Appium, Selenium, Playwright?)
  2. Defina as versões específicas de cada tecnologia
  3. Desenhe a estrutura de pastas do projeto
  4. Liste todas as dependências necessárias
  5. Documente configurações especiais
  6. Preencha o SDD.md
💡 Dica: Use um projeto existente como referência (exemplo: alarm-project). Não reinvente a roda!
4

Passo 4: Revisar Test Knowledge

⏱️ Tempo estimado: 30 minutos - 1 hora

🎯 Objetivo: Entender convenções e padrões antes de codificar

Como fazer:

  1. Leia Robot-Conventions.md para entender sintaxe
  2. Leia Test-Patterns.md para conhecer boas práticas
  3. Leia Test-Rules.md para seguir regras do projeto
  4. Anote dúvidas e esclareça com o time
  5. Durante a implementação, consulte sempre que necessário
✅ Lembre-se: Estes documentos são para CONSULTA. Você NÃO precisa memorizá-los, apenas saber onde encontrar a informação!
5

Passo 5: Implementar os Testes

⏱️ Tempo estimado: Variável (depende da complexidade)

🎯 Objetivo: Codificar os testes seguindo a documentação

Como fazer:

  1. Crie a estrutura de pastas conforme SDD
  2. Crie os arquivos Page Objects usando Elements.md
  3. Implemente as keywords reutilizáveis
  4. Escreva os casos de teste conforme PRD
  5. Execute e valide cada teste
  6. Ajuste conforme necessário
⚠️ IMPORTANTE: NÃO crie arquivos .md adicionais durante a implementação! Use apenas README.md na raiz se necessário.

Resumo Visual do Workflow

🤖 Workflow com Inteligência Artificial
Esta metodologia pode ser potencializada com IA para automatizar a geração de testes!

📋 FASE 1: DOCUMENTAÇÃO

QA cria contexto estruturado

👤 QA cria documentação estruturada:

  • PRD.md → Define O QUE testar
  • Elements.md → Mapeia ONDE estão os elementos
  • SDD.md → Planeja COMO implementar
  • Test-Knowledge → Convenções e padrões

🤖 FASE 2: IA INTERPRETA O CONTEXTO

  • • IA lê toda a documentação estruturada
  • • Analisa requisitos, elementos e padrões
  • • Entende o contexto completo do projeto

✨ FASE 3: IA GERA OS TESTES AUTOMATICAMENTE

Cria automaticamente:

  • ✓ Page Objects (usando Elements.md)
  • ✓ Keywords reutilizáveis
  • ✓ Test Cases (seguindo PRD.md)
  • ✓ Estrutura conforme SDD.md
  • ✓ Seguindo Test-Knowledge

🤖 FASE 4: ROBOT FRAMEWORK EXECUTA VIA APPIUM

  • • Robot Framework processa os arquivos .robot
  • • Appium conecta com o dispositivo Android
  • • Testes são executados automaticamente

📱 FASE 5: TESTES RODAM NO EMULADOR ANDROID

  • • Emulador/Dispositivo real executa as ações
  • • Validações são realizadas automaticamente
  • • Relatórios são gerados com resultados

💡 Resultado: De documentação para testes rodando em minutos!

⚡ Benefícios desta Abordagem

Com IA + Docs Estruturadas

  • ✅ Geração automática de código
  • ✅ Consistência em todo projeto
  • ✅ Redução de tempo de 80%+
  • ✅ Menos erros humanos
  • ✅ Documentação sempre atualizada

Sem Documentação Estruturada

  • ❌ IA não entende contexto
  • ❌ Código inconsistente
  • ❌ Muito tempo manual
  • ❌ Difícil manutenção
  • ❌ Conhecimento disperso

❓ Dúvidas Frequentes

Preciso preencher todos os templates?

Os templates essenciais são PRD e Elements. O SDD é recomendado para projetos complexos. Test Knowledge serve como referência e pode ser consultado conforme necessário.

Posso adicionar novas seções?

Sim! Os templates são pontos de partida. Adapte-os às necessidades do seu projeto, mas mantenha a estrutura base para consistência.

Por que não criar arquivos .md durante implementação?

Para evitar duplicação de informação. A documentação completa já está em docs/. Criar resumos ou análises adicionais dificulta manutenção e pode gerar informações conflitantes.

Como compartilho este guia?

Este arquivo HTML pode ser aberto diretamente em qualquer navegador. Compartilhe o arquivo guia-metodologia-qa.html com sua equipe ou por email.

Onde encontro exemplos reais?

Veja o projeto completo em docs/alarm-project/ que contém todos os templates preenchidos para uma funcionalidade real de alarme Android.

🚀 Início Rápido

Comece em 5 Minutos

  1. Copie a pasta template/ 🔗 para o nome do seu projeto
  2. Renomeie todos os arquivos removendo _TEMPLATE
  3. Abra o PRD.md e comece a preencher
  4. Documente os elementos de UI em Elements.md
  5. Implemente os testes seguindo a documentação

Pronto! Você tem documentação profissional para seu projeto de testes. 🎉

📌 Tabela de Referência Rápida

Template Quando Usar Responde Tempo
PRD.md Início do projeto O QUE testar? 1-2h
Elements.md Após PRD ONDE os elementos? 2-4h
SDD.md Após Elements COMO implementar? 1-2h
Test Knowledge Consulta contínua QUAIS boas práticas? Conforme necessário

🚀 Acesse os Templates Completos

Todos os templates desta metodologia estão disponíveis gratuitamente no GitHub

📂 Ver Repositório no GitHub →