Skip to content
Latchkey

O Que É um Teste Baseado em Propriedades?

Um teste baseado em propriedades declara uma propriedade geral que o código deve sempre satisfazer e então faz um framework gerar muitas entradas aleatórias para tentar falsificá-la. Em vez de testar add(2, 3) == 5, ele pode afirmar que a adição é comutativa para todos os pares de inteiros gerados. Quando encontra um caso que falha, ele o reduz (shrink) a um contraexemplo mínimo.

Por que isso importa

Exemplos escritos a mão testam apenas os casos em que o desenvolvedor pensou, deixando passar edge cases que quebram o código. O teste baseado em propriedades explora um vasto espaço de entradas automaticamente e revela falhas surpreendentes, com o shrinking transformando uma entrada de falha bagunçada na menor reprodução. As ferramentas incluem QuickCheck, Hypothesis e fast-check.

Conceitos relacionados

  • Gera muitas entradas para falsificar uma propriedade
  • O shrinking minimiza um contraexemplo que falha
  • Fuzzing é um primo relacionado, voltado à segurança

Guias relacionados