Por que o seu teste de nome está errado (e como consertar)
O campo mais subestimado do formulário brasileiro esconde os bugs mais críticos.
De todos os campos de um formulário, o campo Nome é provavelmente o menos testado corretamente. A maioria dos testes automatizados usa "João Teste" ou "Test User". O problema? Esses nomes não representam a realidade linguística brasileira — e é exatamente por isso que sistemas explodem em produção quando usuários reais com nomes reais tentam se cadastrar.
Os 5 bugs de nome que você não testou (ainda)
CSS Overflow em cartões e badges
Um card de usuário desenhado com 'João Silva' quebra o layout quando 'Ana Beatriz Vasconcelos de Alcântara Pereira' tenta usar o sistema. O nome sai da div, empurra ícones, corta botões.
✓ Fix: Teste com text-overflow: ellipsis e max-width definidos. Use nomes de 40+ caracteres nas suas fixtures.
Truncamento silencioso no banco de dados
VARCHAR(50) parece suficiente até um usuário ter 'José Francisco de Albuquerque Cavalcante Neto'. MySQL e PostgreSQL sem CHECK constraint truncam silenciosamente — o dado salvo não corresponde ao digitado.
✓ Fix: Adicione validação de tamanho máximo no frontend E no backend. Nunca confie apenas no banco.
Regex que não aceita caracteres especiais
Regex como /^[a-zA-Z ]+$/ rejeita 'João', 'Ângela', 'Conceição'. Pelo menos 30% dos nomes brasileiros têm acentuação.
✓ Fix: Use unicode ranges: /^[\p{L} ]+$/u ou whitelist explícita de caracteres latinos.
Email autogenerado com caracteres inválidos
Sistemas que criam emails a partir do nome ('[email protected]') falham com acentos — 'ângela' gera '•[email protected]' em encodings errados.
✓ Fix: Normalize o nome para ASCII antes de gerar o email com slughify ou unidecode.
Ordenação e pesquisa case-sensitive quebrada
Buscar por 'SILVA' não retorna 'silva' ou 'Silva' em bancos sem collation configurada corretamente. Filtros de lista ficam quebrados para usuários com acentos.
✓ Fix: Configure utf8mb4_unicode_ci no MySQL ou use ILIKE no PostgreSQL.
Anonimização LGPD com nomes sintéticos
Se você mantém um banco de dados de staging que era originalmente uma cópia de produção, a maneira mais rápida de remediar a situação é um batch update substituindo nomes reais por nomes sintéticos. Veja o fluxo completo:
// Script Python: anonimizar nomes em staging
import requests, psycopg2
# 1. Buscar nomes sintéticos em batch
r = requests.post("https://geradordepessoas.org/api/generate",
json={"quantidade": 50, "sexo": "aleatorio"})
pessoas = r.json()["data"]
# 2. Conectar ao banco de staging
conn = psycopg2.connect("postgresql://staging_db/app")
cur = conn.cursor()
# 3. Substituir nomes reais por sintéticos
for i, pessoa in enumerate(pessoas):
cur.execute(
"UPDATE users SET nome = %s WHERE id = %s",
(pessoa["nome"], i + 1)
)
conn.commit()Este script substitui os primeiros 50 usuários. Para produção, adapte a query com offsets e batches maiores.