Validar Título de Eleitor: dois dígitos, duas fontes, uma ordem obrigatória de cálculo
Como documentado na página do gerador de Título de Eleitor, o segundo dígito verificador depende diretamente do primeiro já calculado — não dos dados brutos originais. Isso impõe uma ordem obrigatória na implementação de um validador: é preciso calcular o primeiro dígito (a partir do número sequencial) antes de poder calcular o segundo (que combina o código de UF com esse primeiro dígito). Um validador que tenta calcular os dois dígitos em paralelo, de forma independente, simplesmente não tem os dados necessários para o segundo cálculo até que o primeiro termine.
Um caso de teste que a maioria dos validadores genéricos erra
Um erro específico e relativamente comum: implementar a validação do segundo dígito usando o código de UF em conjunto com o segundo dígito verificador informado na entrada (em vez do primeiro dígito recém-calculado pelo próprio validador). Isso funciona por acidente quando a entrada já é válida (os dois dígitos coincidem com o que seriam calculados), mas mascara completamente a detecção de uma entrada com o primeiro dígito alterado e o segundo mantido — um validador com esse bug aceita um título de eleitor adulterado como válido.
Uso em testes de sistemas de RH e concursos públicos
Sistemas de inscrição para concursos públicos, que costumam exigir título de eleitor como parte da documentação, processam esse campo em volume alto durante períodos de inscrição — um bug de validação como o descrito acima, que aceita entradas adulteradas, só seria detectado manualmente se alguém tentasse deliberadamente um valor com o primeiro dígito trocado. Testar essa combinação específica (dígitos verificadores intercambiados ou parcialmente alterados) é o caso de teste que expõe esse tipo de erro antes de produção.