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 sobre testando o estado de salvamento do jogo
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.
Leitura complementar
Viu alguma informação desatualizada? Informar uma correção