Testes de desenvolvimento
Como testar cercas geográficas e recursos de iPhone baseados em localização
Planeje testes repetíveis de cerca geográfica no iOS para entrada, saída, permissões, comportamento em segundo plano e reinícios, usando simulação no Xcode e validação em dispositivo físico.
Um teste confiável de cerca geográfica no iPhone define a coordenada central, o raio, as condições de entrada e saída, o estado do app e a permissão de localização antes da execução. Use localizações fixas do Xcode ou rotas GPX para testes de desenvolvimento repetíveis e depois valide permissões, entrega em segundo plano, reinícios e o comportamento real em um iPhone físico.
Testar uma cerca geográfica no iPhone não é só mover um marcador do mapa para outra cidade. Um teste completo verifica entrada, permanência, saída, execução em segundo plano, mudanças de permissão e o comportamento depois de reiniciar o dispositivo. Defina essas condições como casos de teste repetíveis antes de escolher a simulação no Xcode ou um método em dispositivo físico.
O que é uma cerca geográfica?
Uma cerca geográfica é uma condição geográfica em torno de uma coordenada. A Apple descreve o monitoramento de condições, também conhecido como geofencing, como uma forma de um app receber eventos quando um usuário entra ou sai de uma região geográfica.
A documentação de monitoramento de condições geográficas da Apple descreve uma área circular com uma coordenada central e um raio. As condições de monitoramento são recursos compartilhados do sistema, e um app não pode registrar um número ilimitado de uma vez, então capacidade e priorização pertencem ao plano de teste.
Defina seis parâmetros antes de testar
Cada caso de teste deve registrar:
- latitude e longitude do centro;
- raio da cerca geográfica;
- se o ponto inicial está dentro ou fora;
- se se espera entrada, saída ou as duas;
- estado do app: primeiro plano, segundo plano ou não em execução;
- autorização de localização e estado da Localização Precisa.
Anote também o modelo do iPhone, a compilação do iOS, a compilação do app e a hora do teste. Um evento que falhou não pode ser reproduzido se essas entradas estiverem faltando.
Caminho 1: Construa testes repetíveis com o Xcode
Para um app que sua equipe desenvolve, comece pelas ferramentas de desenvolvimento da Apple. O guia de simulação de localização do Xcode da Apple explica como um plano de teste pode definir uma localização predeterminada ou reproduzir um trajeto GPX com mudanças de localização, elevação e velocidade.
Prepare pelo menos três conjuntos de dados:
- um ponto de partida fora;
- um ponto confirmado dentro da cerca;
- uma rota GPX que entra e volta a sair da cerca.
Testes automatizados devem afirmar separadamente a entrada, a saída, a supressão de duplicatas e o comportamento com permissão recusada. Um simulador não reproduz todos os recursos de um dispositivo físico, então a cobertura do simulador deve ser seguida de validação em dispositivo real.
Caminho 2: Valide em um iPhone físico
Testes em dispositivo físico cobrem avisos de permissão, entrega em segundo plano, o ambiente real de rede, as portas do dispositivo e o caminho de localização do sistema. A Apple explica que os Serviços de Localização podem combinar GPS, Bluetooth, pontos de Wi-Fi e torres de celular, em vez de depender de um único sensor.
Quando um teste em dispositivo real precisa de coordenadas repetidas no mesmo iPhone, o hardware externo de teste de localização pode ser considerado. O HHJ Pro se conecta por Lightning ou USB-C e usa o app complementar para selecionar um ponto de teste. Confirme o status do modelo e do iOS antes de incluí-lo em um plano de teste.
O hardware externo cobre só parte do ambiente. Saída da rede, região da conta, permissão de notificações e decisões do servidor ainda precisam de casos de teste independentes.
Uma sequência completa de teste de cerca geográfica
- Estabeleça uma linha de base: abra o mapa do sistema na localização real e registre o estado da permissão.
- Registre a cerca: crie uma região de teste com um identificador exclusivo.
- Confira o estado inicial: verifique se o app informa dentro ou fora.
- Dispare a entrada: vá do ponto de teste externo para um ponto interno e registre a hora do evento.
- Dispare a saída: volte para fora e confirme que um único evento de saída é tratado.
- Mude o estado do app: repita em primeiro plano, segundo plano e sem execução.
- Mude a autorização: teste recusado, ao usar, sempre e os ajustes de Localização Precisa quando aplicável.
- Reinicie o dispositivo: verifique a recuperação depois que o usuário desbloquear o iPhone.
- Restaure a linha de base: remova as condições de teste e confirme a localização real no mapa do sistema.
Registre os eventos reais em vez de se apoiar só em uma notificação visível. Carimbos de data e hora, identificadores de região, logs do app e logs do servidor tornam eventos duplicados ou ausentes mais fáceis de diagnosticar.
Condições de fronteira a incluir
| Condição | Comportamento esperado a verificar |
|---|---|
| Cercas pequenas ou adjacentes | Ruído na borda, entrada duplicada e mudanças rápidas de estado |
| Localização Precisa desativada | Tratamento adequado da localização aproximada |
| Permissão revogada | Orientação clara e monitoramento interrompido |
| Rede indisponível | Separação entre eventos locais e sincronização com o servidor |
| App em segundo plano | O comportamento corresponde ao desenho do produto |
| Dispositivo reiniciado | O estado de monitoramento necessário é recriado após o desbloqueio |
| iOS atualizado | Os resultados de teste anteriores são revalidados |
Uma cerca geográfica não é um interruptor geométrico perfeito. A precisão da localização e o agendamento do sistema afetam o momento dos eventos, então os requisitos do produto devem permitir uma tolerância razoável em vez de tratar um evento atrasado como uma falha permanente.
Erros comuns
Um alerta precisa aparecer no instante em que um ponto do mapa cruza o círculo?
Não. Atualizações de localização, avaliação da região, agendamento em segundo plano e a lógica do app podem afetar a entrega. Avalie o resultado com logs e uma janela de tempo explícita.
Testar em primeiro plano é suficiente?
Não. O geofencing costuma ser usado em fluxos em segundo plano. Autorização, estado em segundo plano, encerramento do app e reinício do dispositivo também precisam de cobertura.
Alterar a localização do sistema também altera a região da conta?
Não. Localização do dispositivo, saída da rede, dados da conta e regras do servidor são sinais separados e devem ser testados de forma independente.
O HHJ Pro pode garantir que todo app de cerca geográfica dispare?
Não. Ele pode ser uma entrada de teste de localização em um dispositivo físico compatível, mas cada app e cada servidor controlam a própria lógica.
Qual caminho de teste você deve escolher?
Use primeiro o Xcode e o GPX para um app que você controla e para regressão automatizada. Acrescente testes em dispositivo físico para permissão, segundo plano e o comportamento do caminho de hardware. Se forem necessários pontos repetíveis em um iPhone físico compatível, revise a página de compatibilidade do HHJ Pro e o guia de configuração.
Use contas de teste dedicadas e dados de teste não sensíveis. Não aplique um fluxo de QA para falsificar presença, enganar um serviço ou contornar controles de segurança.