🛠️ Atividades

🧪 Atividade 09: Qualidade e Testes

Bem-vindo a mais uma etapa da sua jornada no curso de Gestão de TI / Desenvolvimento de Sistemas. Hoje vamos mergulhar em conceitos que conectam a teoria técnica diretamente com o padrão de excelência da qualidade, garantindo que o software seja robusto e confiável antes de chegar ao cliente final. 🛡️🧩

🎯 Objetivo da Aula

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

  • Diferenciar Verificação (Estamos construindo o produto certo?) de Validação (Estamos construindo o produto corretamente?).
  • Redigir Casos de Teste (Test Cases) com passo a passo e resultados esperados.
  • Aplicar a técnica de Teste de Caixa Preta (Black-Box), focando em testes positivos e negativos.

🏢 O Cenário Prático (Seu Desafio)

Na TecProExpress, os desenvolvedores terminaram o "App de Rastreamento". No entanto, no primeiro dia de uso, um motorista tentou digitar o número da placa e o sistema travou porque ele usou letras minúsculas. O cliente tentou rastrear um pedido inexistente e o App exibiu uma tela de erro técnica (código 500) em vez de uma mensagem amigável.

O custo de imagem da empresa foi lá embaixo.

"Seu desafio como Analista de QA (Quality Assurance) é criar um Plano de Testes. Você deve antecipar o erro humano e criar roteiros que garantam que, mesmo que o usuário faça 'bobagem', o sistema se comporte de forma segura e elegante."


🧠 Fundamentos: A Teoria Traduzida

Testar software não é apenas "clicar para ver se funciona". É tentar provar que o sistema falha.

O Caso de Teste (Test Case)

Um caso de teste é um experimento científico controlado. Ele tem:

  1. Ação: O que eu faço? (Ex: Digito a senha errada).
  2. Resultado Esperado: O que deve acontecer? (Ex: Mensagem de erro "Senha inválida").

Testes Positivos vs Negativos

  • Positivo: O usuário faz tudo certo. (Ex: Login com dados corretos).
  • Negativo: O usuário faz tudo errado ou tenta "quebrar" o sistema. (Ex: Colocar letras no campo de 'Quantidade' ou deixar campos obrigatórios vazios).

📊 Visualizando a Lógica

Dica: Um bom QA não testa apenas o que o sistema faz, mas o que o sistema NÃO DEVE fazer.

📖 Exemplo Guiado

Abaixo, veja como estruturar um Caso de Teste para o login da TecProExpress.

IDTítulo do TesteAção do UsuárioResultado Esperado
CT01Login VazioClica em 'Entrar' sem digitar nada.O sistema deve exibir "Campos Obrigatórios".
CT02Formato CPFDigita CPF sem pontos e traços.O sistema deve formatar e aceitar o login.

📊 A Pirâmide de Testes da Engenharia Profissional

🛠️ Estrutura do Roteiro de Teste

# CT03: Teste de Upload de Comprovante

**Objetivo:** Validar se o sistema aceita apenas imagens de comprovantes.
**Pré-condição:** Estar na tela de finalização de entrega.
**Passos:**
1. Clicar no botão "Anexar Foto".
2. Tentar selecionar um arquivo do tipo ".PDF".
3. Clicar em "Confirmar".

**Resultado Esperado:** O sistema deve bloquear a seleção do PDF e exibir o erro "Formato não permitido. Use JPG ou PNG".

🔍 Detalhamento do Processo:

  • Note que o roteiro é tão detalhado que qualquer pessoa (mesmo quem não conhece o sistema) conseguiria executá-lo. Isso permite a Reprodutibilidade do Erro.

🛠️ Prática Obrigatória 1: Tabela de Casos de Teste

Cenário: O projeto semestral da sua equipe.

  1. Escolha 3 Requisitos Funcionais da sua Atividade 03.
  2. Para cada requisito, crie 2 Casos de Teste (um positivo e um negativo).
  3. Organize-os em uma tabela contendo: ID, Título, Ação e Resultado Esperado.

🏁 Resultado Esperado (Para sua Referência)

Uma tabela com 6 roteiros de teste (3 pares) que cubram as funcionalidades críticas do seu sistema.


🛠️ Prática Obrigatória 2: O Teste de Caixa Preta

Cenário: Antecipando falhas críticas.

  1. Identifique uma funcionalidade do seu sistema que envolva cálculos ou datas (ex: Data de entrega, Valor total, Idade do usuário).
  2. Descreva um cenário de Teste Negativo complexo (ex: o que acontece se eu colocar uma data de nascimento no futuro?).

🏁 Resultado Esperado (Para sua Referência)

Um parágrafo descrevendo o cenário e como o sistema deveria "se defender" desse erro de entrada.


📤 Instruções de Entrega (Microsoft Teams)

Após validar seus roteiros de teste:

  1. Salve o arquivo de documentação com o nome Atividade_09.md na pasta es-atv-09-testes/ do seu repositório GitHub.
  2. Certifique-se de fazer o commit e push para o repositório público.
  3. Submeta o link do seu repositório no Microsoft Teams para avaliação do professor.

💡 Checkpoint de Lógica

Importante:Reflexão Profissional: O que é mais caro para uma empresa: encontrar um erro durante a fase de Requisitos (Atividade 03) ou encontrar esse mesmo erro depois que o software já foi entregue para 10.000 clientes? (Resposta: Depois da entrega. O custo de correção no mercado pode ser até 100x maior devido a recalls, suporte e perda de reputação). 🧠🛡️

📊 Rubrica Formativa de Avaliação

Critério de Avaliação Insuficiente (0% - 40%) Regular (41% - 70%) Excelente (71% - 100%)
Casos de Teste (Positivo & Negativo) Menos de 6 roteiros ou contendo apenas testes positivos óbvios. Cria 6 casos de teste mas sem clareza no resultado esperado. Tabela completa com 6 casos de teste (3 pares Positivo/Negativo) cobrindo ID, Título, Ação e Resultado Esperado.
Teste de Caixa Preta & Defesa do Sistema Omite o cenário de teste de validação de dados/caixa preta. Descreve o cenário negativo sem indicar a ação de defesa do sistema. Detalhamento impecável de teste de borda/caixa preta e comportamento defensivo da aplicação.
Entrega no GitHub Entrega fora da pasta `es-atv-09-testes/`. Arquivo entregue mas sem tabela organizada em Markdown. `Atividade_09.md` publicado com formatação limpa e validada.
Copyright © 2026