Ilustração de um computador com blocos de código, cartões de testes e instrumentos de revisão.
Ferramentas5 min de leitura

Como usar IA para propor testes que encontram erros

Usar IA para escrever testes funciona melhor quando você apresenta a regra antes do código. A tarefa da ferramenta é sugerir maneiras de desafiar o comportamento, enquanto você decide quais resultados são corretos.

Um conjunto grande de verificações pode repetir a mesma ideia. Neste tutorial, vamos escolher poucos casos que distinguem uma implementação correta de um erro plausível.

1. Transforme a regra em uma frase verificável

Imagine uma função que informa se uma idade inteira pode participar de uma atividade: pessoas com 18 anos ou mais são elegíveis. Neste exemplo didático, o domínio já foi limitado a idades inteiras não negativas.

Essa definição evita misturar a regra principal com decisões de formulário ou conversão de texto. Se essas decisões também fizerem parte do projeto, elas precisam de requisitos separados.

2. Peça casos antes de pedir código de teste

Solicite uma tabela com entrada, saída esperada e motivo do caso. Isso torna mais fácil perceber uma interpretação errada antes de gerar arquivos.

Regra: idades inteiras não negativas são elegíveis a partir de 18.
Proponha poucos casos que detectem erros diferentes.
Para cada caso, informe entrada, resultado e erro que ele encontra.
Não use a implementação como fonte da expectativa.
Indique ambiguidades antes de escrever testes automatizados.

No exemplo, os valores 17, 18 e 19 têm papéis distintos. O valor exatamente no limite é importante porque diferencia “a partir de 18” de “acima de 18”.

3. Selecione um conjunto enxuto

Revise a tabela proposta e mantenha casos que tenham uma justificativa. Incluir várias idades acima de 18 não é automaticamente melhor do que cobrir a fronteira correta.

Idade Esperado Risco observado
17 Não elegível Aprovar antes do limite
18 Elegível Excluir a fronteira
19 Elegível Rejeitar depois da fronteira

Se o comportamento de uma entrada estiver indefinido, não deixe a IA inventá-lo silenciosamente. Resolva a regra antes de transformar uma suposição em teste permanente.

4. Escreva verificações legíveis

Uma representação simples ajuda a revisar o resultado:

assert elegivel(17) is False
assert elegivel(18) is True
assert elegivel(19) is True

O guia de assertions do pytest mostra como expectativas são expressas em testes Python. A ferramenta de teste organiza a execução; ela não escolhe a regra de negócio por você.

5. Confira se um erro seria percebido

Em uma cópia isolada do exemplo, troque temporariamente idade >= 18 por idade > 18. A verificação para 18 deve falhar.

Depois restaure a versão correta e execute novamente. Se o teste continuar passando com a regra errada, investigue se a função certa está sendo chamada e se o resultado está sendo comparado.

6. Revise o diagnóstico, não só a cor do resultado

Quando um teste falhar, leia entrada, esperado e obtido. Uma falha causada por configuração não prova que o comportamento foi exercitado.

Peça à IA que explique o erro encontrado e a cobertura que ainda falta. Para conferir a implementação sugerida, siga também o roteiro de primeiro teste.

Perguntas frequentes

O que torna um teste sugerido por IA útil?

Ele verifica um comportamento exigido e falha quando esse comportamento está errado. A expectativa deve vir do requisito, não da implementação.

Preciso aceitar todos os testes que a IA sugerir?

Não. Selecione os que cobrem riscos diferentes e descarte repetições ou verificações de detalhes internos sem necessidade.

Como conferir se um teste detecta um erro?

Em um exemplo isolado, introduza uma alteração pequena que viole a regra e confira se o teste falha. Depois restaure a versão correta.