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

Playlists: Testing