Fundamentos de Teste de Software (Cap. 1 CTFL)

📖 12 min de leitura📚 CTFL v4.0🎯 Iniciante

Por que o teste de software é necessário?

Sistemas de software estão presentes em praticamente todas as áreas da vida moderna — saúde, aviação, finanças, comunicação. Quando esses sistemas falham, as consequências podem ir de mero inconveniente a perdas financeiras enormes ou até riscos à vida humana.

O teste de software existe para reduzir o risco de falhas em produção. Ele não garante que o software é perfeito — isso seria impossível na prática — mas aumenta a confiança de que o sistema funciona conforme o esperado para os casos mais importantes.

Além de encontrar defeitos, o teste contribui para a qualidade de outras formas: fornece informações para decisões de liberação, verifica que requisitos foram atendidos e ajuda a cumprir requisitos contratuais e regulatórios.

🎬 Por que o teste de software é necessário?

Os 7 Princípios do Teste

O CTFL v4.0 define 7 princípios fundamentais que guiam como o teste deve ser abordado:

  1. O teste demonstra a presença de defeitos, não a ausência. Testes encontram problemas, mas não provam que não existem outros.
  2. Testes exaustivos são impossíveis. Testar todas as combinações possíveis de entradas seria impraticável — priorizamos com base em risco.
  3. O teste inicial economiza tempo e dinheiro. Defeitos encontrados cedo custam muito menos para corrigir.
  4. Os defeitos se agrupam. A maioria dos problemas costuma estar concentrada em poucos módulos do sistema (Princípio de Pareto).
  5. Os testes se desgastam. Rodar os mesmos testes indefinidamente reduz sua eficácia — é necessário variar as abordagens.
  6. O teste depende do contexto. O que é adequado para um app bancário pode ser excessivo para um site institucional.
  7. A ausência de defeitos é uma falácia. Um sistema sem bugs ainda pode ser inútil se não atender às necessidades reais do usuário.

🎬 Os 7 Princípios do Teste

Erro, Defeito e Falha: terminologia essencial

Uma das principais fontes de questões no exame CTFL é a distinção precisa entre esses três termos:

  • Erro (Error): uma ação humana que produz um resultado incorreto. É o que acontece na cabeça do desenvolvedor — um equívoco de raciocínio, um descuido, uma interpretação errada do requisito.
  • Defeito (Defect / Bug): a manifestação do erro no artefato — no código, no documento, na configuração. É o que existe no sistema antes de ser executado.
  • Falha (Failure): o comportamento incorreto observado quando o software é executado. É o sintoma visível ao usuário ou ao testador.

A cadeia é: erro → defeito → falha. Um desenvolvedor comete um erro que introduz um defeito no código. Quando o código é executado, o defeito pode causar uma falha. Importante: nem todo defeito sempre causa falha — pode depender de condições específicas de execução.

🎬 Erro, Defeito e Falha: terminologia essencial

Atividades e papéis no processo de teste

O processo de teste do CTFL é composto por atividades principais:

  • Planejamento de teste: definir objetivos, estratégia, recursos e cronograma.
  • Monitoramento e controle: acompanhar o progresso e tomar ações corretivas.
  • Análise de teste: identificar o que testar com base em bases de teste (requisitos, código, etc.).
  • Modelagem de teste: definir como testar — criar casos de teste, dados e ambiente.
  • Implementação de teste: preparar o ambiente e automatizar quando aplicável.
  • Execução de teste: rodar os testes e registrar os resultados.
  • Conclusão de teste: arquivar artefatos, gerar relatório final, compartilhar lições aprendidas.

Os papéis centrais são o Testador (executa testes, relata defeitos, cria casos de teste) e o Líder/Gerente de Teste (planeja, coordena, reporta). Em times ágeis, esses papéis são frequentemente compartilhados entre o time.

🎬 Atividades e papéis no processo de teste

🧠 Teste seus conhecimentos

MINI-QUIZ1 / 5

Segundo o CTFL, qual é o objetivo principal do teste de software?

← ANTERIOR
Como se preparar para o CTFL: passo a passo
PRÓXIMO →
Teste no Ciclo de Vida de Software (Cap. 2 CTFL)