# CHECKLIST DE TESTES — MASTER GEO FOTO

Este documento estabelece o protocolo de testes manuais e de homologação em dispositivos reais (smartphones Android, iPhones e tablets) para assegurar o funcionamento 100% offline, a integridade dos dados e a conformidade com as regras de negócio.

---

## 1. Matriz de Cenários Obrigatórios

| ID | Cenário de Teste | Pré-condição | Passos de Execução | Resultado Esperado | Status |
|---|---|---|---|---|---|
| **C01** | **Primeiro Acesso com Conexão** | Aparelho conectado ao Wi-Fi ou 4G | 1. Acessar a URL do aplicativo.<br>2. Aguardar o carregamento completo dos arquivos. | A interface abre sem erros. O badge superior exibe "Online" e o Service Worker pré-armazena todos os arquivos estáticos. | [ ] |
| **C02** | **Instalação como PWA (Android / Chrome)** | Aparelho Android com Chrome | 1. Tocar no banner "Instalar MASTER GEO FOTO" ou no menu do navegador > "Instalar aplicativo".<br>2. Confirmar a instalação. | O ícone personalizado do MASTER GEO FOTO é adicionado à tela inicial do Android. | [ ] |
| **C03** | **Instalação como PWA (iPhone / Safari)** | Aparelho iOS com Safari | 1. Abrir a aplicação no Safari.<br>2. Tocar no botão Compartilhar (ícone com seta para cima).<br>3. Tocar em "Adicionar à Tela de Início". | O ícone do aplicativo é fixado na tela inicial e abre em modo tela cheia (standalone) sem barras do Safari. | [ ] |
| **C04** | **Ativação do Modo Avião** | PWA instalada no celular | 1. Abrir a central de controle do celular.<br>2. Ativar o Modo Avião.<br>3. Desligar o Wi-Fi e dados móveis. | O badge do app altera para "100% Offline" e exibe aviso de que todas as operações continuam funcionando no aparelho. | [ ] |
| **C05** | **Fechamento Completo e Reabertura Offline** | Modo Avião ativado | 1. Forçar o encerramento da aplicação (fechar no multitarefas do SO).<br>2. Abrir o app novamente tocando no ícone da tela inicial. | A aplicação abre instantaneamente a partir do cache do Service Worker, sem tela em branco e sem requisições à rede. | [ ] |
| **C06** | **Captura de Fotografia com Câmera ao Vivo** | Modo Avião ativado | 1. Tocar em "TIRAR FOTO".<br>2. Permitir acesso à câmera.<br>3. Alternar entre câmera traseira e frontal.<br>4. Tocar no botão do obturador (Shutter). | A imagem é capturada em alta resolução e apresentada na tela de confirmação/pré-visualização. | [ ] |
| **C07** | **Registro de Coordenadas GPS Offline** | GPS ativado no celular | 1. Abrir a tela de captura em área aberta.<br>2. Observar a leitura de Latitude, Longitude e Precisão em metros. | As coordenadas são calculadas diretamente pelos satélites GPS sem depender de dados móveis ou internet. | [ ] |
| **C08** | **Salvar Foto sem GPS (Status Pendente)** | Ambiente sem sinal GPS (subsolo) | 1. Fotografar em local sem sinal de satélite.<br>2. Marcar "Salvar sem localização (marcar como pendente)".<br>3. Confirmar e salvar. | O registro é gravado no IndexedDB com `locationStatus: 'pending'` e latitude/longitude como `null`. | [ ] |
| **C09** | **Persistência de Dados após Reiniciar Aparelho** | Fotos salvas no IndexedDB | 1. Reiniciar completamente o smartphone.<br>2. Abrir o aplicativo ainda em modo avião. | Todos os registros anteriores continuam presentes e íntegros na galeria local. | [ ] |
| **C10** | **Consulta e Filtros na Galeria Offline** | Histórico com fotos variadas | 1. Acessar a aba "MINHAS FOTOS".<br>2. Filtrar por "Apenas com GPS" e "Apenas Pendentes".<br>3. Digitar um termo de busca no campo de pesquisa. | A galeria filtra instantaneamente os registros sem requisições de rede. | [ ] |
| **C11** | **Visualização de Detalhes e Cópia de Coordenadas** | Registro aberto no modal | 1. Tocar em uma foto da galeria.<br>2. Visualizar foto ampliada e tabela de dados.<br>3. Tocar em "Copiar Coordenadas". | As coordenadas numéricas (ex: -23.55052, -46.63330) são copiadas para a área de transferência do celular com toast de confirmação. | [ ] |
| **C12** | **Exportação de Planilha CSV Offline** | Histórico com fotos | 1. Ir para a aba "EXPORTAR".<br>2. Selecionar "Apenas Planilha CSV".<br>3. Tocar em "Gerar e Baixar Pacote". | O arquivo `.csv` é gerado localmente pelo navegador e baixado no armazenamento do celular com cabeçalhos e codificação UTF-8 BOM. | [ ] |
| **C13** | **Exportação de Pacote ZIP Completo Offline** | Histórico com fotos | 1. Selecionar "Pacote ZIP Completo".<br>2. Tocar em "Gerar e Baixar Pacote".<br>3. Acompanhar a barra de progresso. | O JSZip local compacta todas as fotos JPG originais, o `metadados.csv` e o `metadados.json` em um arquivo `.zip` para download direto. | [ ] |
| **C14** | **Tratamento de Permissão de Câmera Negada** | Permissão revogada nas configs | 1. Negar a permissão de câmera.<br>2. Tentar abrir a captura ao vivo. | O app exibe mensagem clara e orienta o uso do botão de "Câmera Nativa" via `input file capture="environment"`. | [ ] |
| **C15** | **Auditoria de Recursos e Ausência de CDN** | Inspeção de rede no DevTools | 1. Abrir o DevTools (F12) > aba Network.<br>2. Limpar o cache e recarregar a página com internet. | Todas as requisições apontam para a origem local (`localhost` ou domínio HTTPS próprio). Nenhuma requisição é feita para CDNs públicas. | [ ] |

---

## 2. Procedimento de Teste de Pressão de Armazenamento e Quota

1. Acessar a aba **Ajustes**.
2. Verificar o indicador de **Espaço Usado pelo App** e **Espaço Disponível**.
3. Tocar no botão **Solicitar Armazenamento Persistente** para invocar `navigator.storage.persist()`.
4. Confirmar que o status é retornado sem erros.

---

## 3. Dispositivos e Navegadores Homologados

- **Android 10+**: Google Chrome, Samsung Internet, Microsoft Edge, Brave.
- **iOS 15+ / iPadOS 15+**: Apple Safari.
- **Desktop (Homologação / Simulação)**: Google Chrome, Microsoft Edge, Firefox.
