# Torne o comportamento de persistência intencional e testável

> Verifique o que um jogo de navegador salva, o que é redefinido e como ele se comporta quando os dados armazenados estão ausentes, obsoletos ou alterados entre as sessões.

- URL: https://oneshotgems.ai/pt-BR/topics/testing-game-save-state
- Categoria: Para desenvolvedores de jogos
- Tipo: Guia
- Atualizado: 5 de outubro de 2026

Um teste de estado de salvamento começa com uma decisão do produto: quais valores devem sobreviver a uma recarga e quais devem ser redefinidos para uma nova execução? Um recorde pessoal pode persistir, enquanto um bônus temporário não. Sem uma regra explícita, um testador não pode dizer se um valor salvo é um recurso ou um dado obsoleto. Faça primeiro um breve contrato de salvamento e, em seguida, teste a persistência, a redefinição e a recuperação sob condições que se assemelhem ao uso real do jogador.

## Escreva o que sobrevive a cada limite

Crie uma pequena tabela para reinicialização de execução, recarga de página e uma nova sessão do navegador. Exemplo: a pontuação atual é redefinida na reinicialização; o recorde pessoal sobrevive à recarga; o nível ativo retorna ao nível um após uma nova sessão. Nomeie cada valor e o limite que ele atravessa. Isso torna possível detectar persistência acidental, como o cronômetro de uma partida anterior permanecendo visível após a reinicialização, ou perda acidental, como o desaparecimento da melhor pontuação ao recarregar.

## Sonde valores ausentes, malformados e antigos

Tente uma primeira visita sem chave salva, depois um recorde salvo válido e, a seguir, um valor vazio ou malformado, se você puder controlar o ambiente de teste. Um jogo robusto deve escolher um valor padrão definido em vez de exibir NaN, bloquear o menu ou travar antes de jogar. Se uma pontuação tiver um máximo ou precisar ser um número, teste entradas negativas, inesperadamente grandes e não numéricas no limite de dados. Estas são verificações de resiliência, não suposições de que os jogadores podem editar o armazenamento por meio do produto.

## Perguntas

**O que um jogo deve salvar entre as sessões?** Isso depende da experiência pretendida. Indique explicitamente se as configurações, os recordes pessoais, o progresso e as execuções em andamento persistem e, em seguida, teste cada um deles na recarga e nos limites da nova sessão.

**É garantido que localStorage estará disponível?** Nenhuma escolha de armazenamento deve ser tratada como uma garantia incondicional. Trate dados ausentes ou inutilizáveis ​​com elegância e verifique o comportamento de fallback do jogo em seus ambientes suportados.

## Siga sua curiosidade

- [Teste as transições de estado do jogo](https://oneshotgems.ai/pt-BR/topics/testing-game-state-transitions): Mapeie os estados de início, reprodução, pausa, vitória e perda de um jogo de navegador e, em seguida, teste cada transição e as entradas que devem ser ignoradas.
- [Um loop de teste de regressão para jogos pequenos](https://oneshotgems.ai/pt-BR/topics/game-regression-testing): Proteja um loop de jogo funcional após as revisões com uma pequena lista de verificação de regressão focada em mecânica, pontuação, reinicialização e casos extremos próximos.
- [Versione os dados do jogo de navegador no armazenamento local](https://oneshotgems.ai/pt-BR/topics/local-storage-game-versioning): Defina como ler dados salvos por versões anteriores do jogo e migre os formatos conhecidos antes de usá-los.

## Leitura complementar

- [Armazenamento local MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)

---
Página canônica: https://oneshotgems.ai/pt-BR/topics/testing-game-save-state
