Menu

Teste de campo de seleção de país: busca, ordenação e teclado

Listas de países parecem simples até alguém tentar achar o próprio país. Veja o que testar em busca, ordenação, acessibilidade por teclado e troca de valor.

Publicado em

  • campo de seleção
  • acessibilidade
  • formulário

Um teste de campo de seleção de país costuma se resumir a escolher um item e verificar se o valor gravou. Essa verificação é necessária e insuficiente: a maior parte dos defeitos desse controle aparece em situações que o caminho feliz não visita, como digitar um nome alternativo, navegar sem mouse ou trocar a escolha depois de já ter preenchido o resto do formulário. Este texto reúne o que vale cobrir.

Quais formas esse campo costuma assumir?

A forma do controle define quais testes fazem sentido, e é comum que o mesmo produto use formas diferentes em telas diferentes. Reconhecer a forma é o primeiro passo do plano de teste.

Forma Como se comporta Onde costuma falhar
Lista simples Mostra todos os itens de uma vez Fica longa demais para percorrer
Lista com busca Filtra conforme se digita Não encontra grafias alternativas
Lista agrupada Separa por região ou bloco Esconde o grupo residual
Lista restrita Mostra apenas onde há operação Confunde ausência com erro
Campo com sugestão Aceita texto e sugere itens Grava texto livre por engano

Em cada forma, o teste precisa verificar não apenas a seleção, mas a recuperação: o que acontece quando o valor salvo não está na lista atual. Um valor antigo que desaparece silenciosamente é um defeito de dados, não de interface.

Vale testar também o estado vazio do filtro. Uma busca sem resultado deve dizer que nada foi encontrado, e não parecer que a lista está carregando para sempre.

Que grafias a busca precisa encontrar?

A resposta curta é: todas as que um usuário real pode digitar. Na prática, isso significa pelo menos quatro famílias de entrada.

A primeira é o nome no idioma local, com os sinais diacríticos que ele tem. A segunda é o nome em outro idioma, que muitas pessoas usam por hábito. A terceira é o código abreviado do país, que usuários técnicos e profissionais de logística digitam naturalmente. A quarta é a forma curta ou coloquial pela qual o lugar é conhecido internamente.

Testar apenas uma dessas famílias cria uma falsa sensação de cobertura. O caso que mais reprova é a busca sem acento quando o dado tem acento, e o inverso: quem digita com acento e não encontra porque o índice foi construído sem normalização. Esse é um problema de ordenação interna, e não de digitação.

Há ainda uma família incômoda: nomes parecidos. Se a busca retorna o item errado como primeiro resultado, o usuário pode selecioná-lo sem perceber, e o erro só aparece quando a encomenda não chega. Sempre vale verificar como a lista se comporta com entradas de uma ou duas letras.

Por que a ordenação precisa seguir a regra do idioma?

Porque ordenar por código de caractere coloca os itens em uma sequência que não corresponde a nenhum alfabeto humano. Para quem procura com o olho, a lista parece embaralhada, e a busca visual deixa de funcionar como atalho.

A ordenação correta depende do idioma exibido, e não do idioma do dado. Isso tem uma consequência de implementação: a mesma lista, exibida em dois idiomas, tem duas ordens diferentes, e as duas estão certas. Se o sistema ordena uma vez no servidor e serve o mesmo resultado para todos, alguém vai receber a lista errada.

Um caso específico merece atenção: listas com agrupamento. Quando o agrupamento está ativo, é comum que a ordenação seja aplicada dentro de cada grupo, e que o último grupo — aquele que reúne o que não tem classificação — fique no fim. Esse grupo precisa continuar alcançável; se ele for cortado por limite de itens ou escondido atrás de uma busca, itens legítimos se tornam inacessíveis.

Como testar teclado e leitor de tela?

Esse teste exige abandonar o mouse por completo durante a sessão. Os pontos principais são poucos e objetivos.

  • Abrir a lista apenas com o teclado e confirmar que o foco fica visível em todos os momentos.
  • Percorrer os itens com as setas, incluindo a passagem de um grupo para outro.
  • Pular para o primeiro item que começa com uma letra digitada, comportamento esperado em listas longas.
  • Fechar a lista sem selecionar, confirmando que o valor anterior permanece e que o foco volta para o campo.
  • Confirmar que o item em foco é anunciado pelo leitor de tela, com o texto que aparece na tela.

Em listas longas, é comum que os itens sejam renderizados sob demanda, e aí entra um teste específico: os itens que ainda não foram renderizados continuam acessíveis pelo teclado e pelo leitor de tela? Se a virtualização quebra o anúncio, o controle funciona com mouse e falha para quem não usa.

O que precisa ser recalculado ao trocar de país?

Trocar o país depois que o formulário já está preenchido dispara uma sequência de consequências, e essa é a parte do teste que costuma ficar de fora.

O que precisa ser revisto: valores que dependem da estrutura interna do país, valores que dependem do sistema de códigos postais local, valores derivados como fuso, moeda e idioma de contato, e qualquer validação que já tenha sido executada sobre os campos anteriores.

Existem duas políticas defensáveis e uma indefensável. A primeira limpa os campos dependentes e pede que o usuário os preencha de novo. A segunda mantém o valor e o marca para revisão, sinalizando o conflito. A indefensável é manter o valor antigo em silêncio, que é como um endereço de um país acaba com a estrutura interna de outro.

Situação Política aceitável Sinal de defeito
Campo dependente já preenchido Limpar ou marcar para revisão Valor antigo mantido sem aviso
Validação já executada Reexecutar após a troca Resultado anterior exibido
Campo derivado Recalcular e exibir Valor antigo congelado

Para quem desenvolve: separe o que se exibe do que se guarda

A recomendação central é guardar o identificador estável e exibir o nome. O nome muda com o idioma da interface e com decisões editoriais; o identificador não muda, e é ele que garante que um relatório de dois anos atrás continue agrupando os mesmos registros.

Isso implica três cuidados. Primeiro, a lista de exibição é uma projeção da base, e não a base. Segundo, ao gravar, o que vai para o banco é a chave; ao ler, o nome é resolvido no idioma do momento. Terceiro, quando o nome exibido muda, nenhum registro antigo precisa ser reescrito, o que é a diferença entre uma decisão editorial e uma migração de dados.

Se o campo aceita texto livre, o risco é outro: alguém vai salvar uma grafia que não existe em nenhuma lista. Aceite texto apenas quando a sugestão for obrigatória, e registre separadamente o que o usuário digitou para poder revisar depois.

Vale também manter o mesmo mapeamento em todos os pontos de entrada e saída — formulário, relatório, exportação e interface de integração. Divergência entre eles produz o pior tipo de defeito: dados consistentes na tela e inconsistentes no arquivo.

Próximos passos

Depois de fechar o controle, o assunto seguinte é o que acontece quando a operação envolve mais de um país, e o texto de cenários de endereço transfronteiriço cobre exatamente esse ponto. Se você ainda está definindo os eixos do país e do idioma, volte ao texto de país e idioma são coisas diferentes. Para conferir nomes e códigos antes de montar a sua lista de exibição, a página de formatos de endereço e identidade por país reúne a mesma informação organizada por país.

Ressalva: os itens de lista, as grafias alternativas e os textos de busca usados aqui são invenções de exemplo, criadas para descrever casos de teste. Nenhum deles reproduz um cadastro real nem deve ser tratado como dado enviado por um usuário verdadeiro.

Continue lendo

Artigos sobre Formatos de endereço e identidade por país