ragfica.pages.dev

Como criar um script para simular falhas na validação de CPF?

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.

Pré-requisitos

Criando o script para simular falhas na validação de CPF

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()

Executando o script

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.

Exemplo Prático

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

Conclusão

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.