# Rendre le comportement de persistance intentionnel et testable

> Vérifiez ce qu'un jeu par navigateur enregistre, ce qui est réinitialisé et comment il se comporte lorsque les données stockées sont manquantes, obsolètes ou modifiées entre les sessions.

- URL: https://oneshotgems.ai/fr/topics/testing-game-save-state
- Catégorie: Pour les développeurs de jeux
- Type: Guide
- Mis à jour le: 5 octobre 2026

Un test d'état de sauvegarde commence par une décision concernant le produit : quelles valeurs doivent survivre à un rechargement et lesquelles doivent être réinitialisées pour une nouvelle exécution ? Un meilleur score peut persister alors qu'un bonus temporaire ne le devrait pas. Sans règle explicite, un testeur ne peut pas déterminer si une valeur mémorisée est une fonctionnalité ou une donnée obsolète. Créez d'abord un court contrat de sauvegarde, puis testez la persistance, la réinitialisation et la récupération dans des conditions qui ressemblent à celles d'une utilisation réelle par le joueur.

## Notez ce qui survit à chaque limite

Créez un petit tableau pour le redémarrage de l'exécution, le rechargement de la page et une nouvelle session de navigateur. Exemple : le score actuel est réinitialisé au redémarrage ; le record personnel survit au rechargement ; le niveau actif revient au niveau 1 après une nouvelle session. Nommez chaque valeur et la limite qu’elle traverse. Cela permet de repérer une persistance accidentelle, comme le chronomètre d’une exécution précédente restant visible après le redémarrage, ou une perte accidentelle, comme la disparition d’un meilleur score au rechargement.

## Testez les données absentes, malformées ou anciennes

Essayez une première visite sans clé enregistrée, puis un score enregistré valide, puis une valeur vide ou mal formée si vous pouvez contrôler l'environnement de test. Un jeu robuste devrait choisir une solution de secours définie plutôt que d'afficher NaN, de verrouiller le menu ou de planter avant de jouer. Si un score a un maximum ou doit être un nombre, testez les entrées négatives, étonnamment grandes et non numériques à la limite des données. Il s’agit de contrôles de résilience et non d’hypothèses selon lesquelles les joueurs peuvent modifier le stockage via le produit.

## Questions

**Que doit sauvegarder un jeu entre les sessions ?** Cela dépend de l'expérience envisagée. Indiquez explicitement si les paramètres, les meilleurs scores, la progression et les exécutions en cours persistent, puis testez chacun d'eux au rechargement et aux limites de la nouvelle session.

**La disponibilité de localStorage est-elle garantie ?** Aucun choix de stockage ne doit être considéré comme une garantie inconditionnelle. Gérez les données manquantes ou inutilisables avec élégance et vérifiez le comportement de repli du jeu dans vos environnements pris en charge.

## Suivez votre curiosité

- [Tester les transitions d’état du jeu](https://oneshotgems.ai/fr/topics/testing-game-state-transitions): Cartographiez les états de début, de lecture, de pause, de victoire et de perte d'un jeu par navigateur, puis testez chaque transition et les entrées qui doivent être ignorées.
- [Une boucle de test de régression pour les petits jeux](https://oneshotgems.ai/fr/topics/game-regression-testing): Protégez une boucle de jeu fonctionnelle après les révisions avec une courte liste de contrôle de régression axée sur la mécanique, la notation, le redémarrage et les cas extrêmes à proximité.
- [Versionner les données de jeu du navigateur dans le stockage local](https://oneshotgems.ai/fr/topics/local-storage-game-versioning): Décidez comment lire les données enregistrées par les anciennes versions du jeu et migrez les formats connus avant de les utiliser.

## Pour aller plus loin

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

---
Page canonique: https://oneshotgems.ai/fr/topics/testing-game-save-state
