Testes Baseados em Propriedades
07/06/2026 , Favaro Auditório

Essa palestra aborda um tipo de teste chamado de "teste de propriedades" que muda o jeito de escrevermos testes do nosso código, permitindo que nós testemos uma área maior das possíveis entradas.


Quais conhecimentos prévios são necessários para que seja possível acompanhar bem a sua atividade?:

Para que os participantes consigam acompanhar a atividade de forma satisfatória o ideal é que tenham:
- Conhecimento básico em Python: Domínio fundamental da linguagem para entender os exemplos práticos
- Noções de testes: Compreensão prévia sobre o que são testes de software (unidade, integração e etc.)

O que as pessoas que participarem podem esperar aprender na sua atividade?:

A palestra propõe uma mudança de paradigma na escrita de testes, saindo de exemplos fixos para a definição de áreas de entrada. Os participantes aprenderão:
- Conceito de Teste de Propriedade: Entender o que define uma "propriedade", uma regra que deve ser sempre respeitada pelos inputs, outputs e comportamento de uma função.
- Diferença entre Abordagens: A distinção entre o teste "tradicional" (baseado em exemplos e casos de borda conhecidos) e o teste de propriedade, que explora o máximo possível de inputs a partir de uma definição.
- Uso da Biblioteca Hypothesis: Como aplicar esses conceitos na prática utilizando a principal biblioteca de testes de propriedade para Python.
- Técnica de Shrinking: Compreender como o framework simplifica um caso de falha complexo até encontrar o menor exemplo que reproduz o erro.
- Testes com Estado (Stateful Tests): Como testar sistemas que dependem de estados intermediários e máquinas de estado.
- Filtros e Exemplos Fixos: Como refinar a geração de valores para atender a propriedades específicas e como mesclar testes de propriedade com exemplos estáticos.

Escolha uma ou mais áreas em que essa proposta se encaixa: Testes, Outros

Pablo Aguilar é um engenheiro de software apaixonado, especializado em desenvolvimento backend. Atualmente, como Engenheiro Sênior de Backend, colaborador de projetos de código aberto e palestrante.