Teste no Ciclo de Vida de Software (Cap. 2 CTFL)

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

Modelos de desenvolvimento e o teste

O modelo de desenvolvimento de software adotado pela equipe determina diretamente como o teste é integrado ao processo. O CTFL v4.0 cobre três grandes abordagens:

  • Modelos sequenciais (Cascata/V): o teste é realizado em fases após o desenvolvimento. O Modelo V é a evolução do cascata: cada fase de desenvolvimento tem uma fase de teste correspondente (requisitos ↔ teste de aceite, design ↔ teste de sistema, codificação ↔ teste unitário).
  • Modelos iterativos e incrementais (Agile, Scrum): o software é desenvolvido em ciclos curtos (sprints). Testes acontecem dentro de cada iteração, e o princípio de "teste contínuo" é fundamental.
  • DevOps e entrega contínua: testes automatizados são integrados ao pipeline CI/CD. O feedback é imediato e a qualidade é responsabilidade de todo o time.

O CTFL v4.0 enfatiza que, independentemente do modelo, o princípio de teste inicial deve ser respeitado: quanto mais cedo os testes são realizados, mais baratos são os defeitos encontrados.

🎬 Modelos de desenvolvimento e o teste

Níveis de teste

Os níveis de teste definem em qual parte do sistema o teste se concentra:

  • Teste de Componente (Unitário): testa unidades individuais de código (funções, classes) de forma isolada. Geralmente feito pelo desenvolvedor. Rápido e barato.
  • Teste de Integração de Componentes: verifica a comunicação entre componentes já testados individualmente. Encontra problemas nas interfaces entre módulos.
  • Teste de Sistema: testa o sistema completo integrado, do ponto de vista do usuário final. Verifica comportamento funcional e não-funcional.
  • Teste de Integração de Sistemas: verifica a integração com sistemas externos (APIs, bancos de dados, serviços de terceiros).
  • Teste de Aceite: valida se o sistema atende às necessidades do negócio. Inclui UAT (User Acceptance Testing) e testes regulatórios.

🎬 Níveis de teste

Tipos de teste

Os tipos de teste definem o que está sendo avaliado, independentemente do nível:

  • Teste Funcional: verifica o que o sistema faz — suas funcionalidades. Baseado em requisitos funcionais.
  • Teste Não-Funcional: verifica como o sistema se comporta — performance, segurança, usabilidade, compatibilidade.
  • Teste Caixa-Preta: testa sem conhecer o código interno, apenas com entradas e saídas esperadas.
  • Teste Caixa-Branca: testa conhecendo a estrutura interna do código, verificando caminhos de execução.
  • Teste de Regressão: verifica que mudanças recentes não quebraram funcionalidades que funcionavam antes.
  • Teste de Confirmação (Re-teste): verifica que um defeito específico foi corrigido.

🎬 Tipos de teste

Teste de manutenção

Sistemas em produção precisam de manutenção contínua — correções de bugs, novas funcionalidades, migração de infraestrutura. O teste de manutenção aborda o teste de sistemas já em produção.

Os gatilhos para teste de manutenção incluem: modificações planejadas (novas features), correções de emergência e migrações (novo servidor, novo banco de dados, nova versão de SO).

Um conceito chave é a análise de impacto: antes de testar, identifica-se quais partes do sistema foram afetadas pela mudança. Isso permite focar o esforço de regressão nas áreas de maior risco, em vez de retestar tudo do zero.

🎬 Teste de manutenção

🧠 Teste seus conhecimentos

MINI-QUIZ1 / 5

No Modelo V de desenvolvimento, o teste de aceite corresponde a qual fase de desenvolvimento?

← ANTERIOR
Fundamentos de Teste de Software (Cap. 1 CTFL)
PRÓXIMO →
Teste Estático (Cap. 3 CTFL)