How to Design Tests? Strengthening the post-condition!

How to Design Tests? Strengthening the post-condition!

Fortalecendo a Pós-condição em Testes de Software

Importância da Pós-condição

  • A pós-condição é fundamental para garantir que o estado do sistema após uma ação atenda a restrições específicas, aumentando as garantias sobre o resultado obtido.
  • Um teste fraco pode fornecer evidências superficiais sobre o comportamento do sistema, necessitando de um fortalecimento das verificações para assegurar resultados mais robustos.

Exemplos de Verificações

  • Para verificar se um relatório foi gerado, uma abordagem simples é checar a existência de um arquivo específico (ex: report.pdf) e confirmar que não está vazio.
  • Melhorar a verificação envolve validar se o arquivo PDF é realmente válido e não apenas possui a extensão correta, evitando problemas com conteúdo corrompido.

Níveis de Verificação

  • A verificação pode ser aprofundada ao confirmar que o conteúdo do relatório atende às expectativas do cliente, como a ausência de numeração nas páginas.
  • Fortalecer as verificações implica garantir que os dados no relatório reflitam corretamente as médias e notas armazenadas no sistema.

Estratégias para Redução de Estados Possíveis

  • O objetivo é fortalecer as verificações reduzindo os estados possíveis que satisfazem a pós-condição através da adição de regras ou restrições.
  • É crucial equilibrar diferentes tipos de testes (unitários, integração), pois cada combinação tem seu propósito dependendo do contexto do sistema.

Independência dos Testes

  • Cada teste deve ser independente; não deve depender da execução anterior para evitar efeitos colaterais indesejados entre testes.
  • A independência permite que cada teste comece em um estado limpo, facilitando sua execução sem considerar estados deixados por testes anteriores.

Composição e Dependências nos Testes

  • Dependências entre testes dificultam sua execução isolada; por exemplo, um teste de deleção pode depender da inserção prévia.

Eficiência e Testes de Regressão

Importância da Preparação para o Próximo Passo

  • A eficiência em processos é crucial, especialmente quando um passo prepara o estado para o próximo. Isso implica que informações relevantes devem ser consumidas para implementar verificações ou ações de forma mais eficaz.

Princípio dos Testes de Regressão

Transforme qualquer vídeo em um resumo como este

Vídeos do YouTube, reuniões, aulas. Com transcrição, busca e chat.

Playlists: Testing