Validar CPFs é uma tarefa crítica para sistemas que lidam com dados pessoais, mas testar a robustez dessa validação pode ser desafiador. Este guia apresenta um método direto e eficaz para simular falhas na validação de CPF usando um script Python, permitindo que você teste seu sistema contra entradas inválidas de forma controlada e automatizada.
O script abaixo gera CPFs inválidos de várias formas: com dígitos repetidos, com sequências numéricas, com menos ou mais dígitos, e com caracteres inválidos. Isso permite testar se sua função de validação está corretamente identificando entradas inválidas.
import random
import string
def gerar_cpf_invalido(tipo):
if tipo == 'repetido':
# Gera CPF com todos os dígitos iguais (inválido)
digito = random.choice('0123456789')
return digito * 11
elif tipo == 'sequencia':
# Gera CPF com sequência numérica (inválido)
return ''.join(random.choices(string.digits, k=11))
elif tipo == 'menos_digitos':
# Gera CPF com menos de 11 dígitos
return ''.join(random.choices(string.digits, k=9))
elif tipo == 'mais_digitos':
# Gera CPF com mais de 11 dígitos
return ''.join(random.choices(string.digits, k=13))
elif tipo == 'caracteres_invalidos':
# Gera CPF com letras e caracteres especiais
return ''.join(random.choices(string.ascii_letters + string.digits + string.punctuation, k=11))
else:
return None
def main():
tipos = ['repetido', 'sequencia', 'menos_digitos', 'mais_digitos', 'caracteres_invalidos']
print("CPFs Inválidos Gerados:")
for tipo in tipos:
cpf_invalido = gerar_cpf_invalido(tipo)
print(f"Tipo: {tipo} - CPF: {cpf_invalido}")
if __name__ == "__main__":
main()
Salve o código acima em um arquivo chamado gerar_cpf_invalido.py. Abra um terminal, navegue até o diretório onde o arquivo foi salvo e execute o comando abaixo:
python gerar_cpf_invalido.py
O script exibirá uma lista de CPFs inválidos, cada um simulando um tipo diferente de falha. Você pode usar esses valores para testar sua função de validação de CPF.
A tabela abaixo mostra exemplos de CPFs inválidos gerados pelo script e o tipo de falha que representam:
| Tipo de Falha | CPF Inválido Gerado | Descrição da Falha |
|---|---|---|
| repetido | 11111111111 | Todos os dígitos são iguais (inválido) |
| sequencia | 12345678901 | Sequência numérica (inválido) |
| menos_digitos | 12345678 | Menos de 11 dígitos |
| mais_digitos | 12345678901234 | Mais de 11 dígitos |
| caracteres_invalidos | a1b2c3d4e5f | Contém letras e caracteres especiais |
Com este script, você automatiza a geração de CPFs inválidos para testar sua função de validação, garantindo que seu sistema seja robusto contra entradas de dados incorretas. Este método é rápido, confiável e elimina a necessidade de criar manualmente casos de teste, economizando tempo e reduzindo erros.