# 지속성 동작을 의도적이고 테스트 가능하게 만듭니다.

> 브라우저 게임이 무엇을 저장하는지, 무엇을 재설정하는지, 그리고 저장된 데이터가 누락되거나, 오래되었거나, 세션 간에 변경될 때 어떻게 작동하는지 확인하세요.

- URL: https://oneshotgems.ai/ko/topics/testing-game-save-state
- 카테고리: 게임 개발자용
- 유형: 가이드
- 업데이트일: 2026년 10월 5일

저장 상태 테스트는 어떤 값이 페이지를 다시 불러온 뒤에도 유지되고 어떤 값이 새 플레이를 위해 초기화되어야 하는지 정하는 데서 시작합니다. 최고 점수는 유지해도 임시 파워업은 유지하지 않을 수 있습니다. 명확한 규칙이 없으면 테스터는 기억된 값이 의도된 기능인지 오래된 데이터인지 판단할 수 없습니다. 먼저 간단한 저장 규칙을 정하고 실제 플레이어 사용과 비슷한 조건에서 유지, 초기화, 복구를 테스트하세요.

## 각 경계를 넘어 유지되는 값을 적으세요

플레이 재시작, 페이지 새로고침, 새 브라우저 세션을 열로 둔 작은 표를 만드세요. 예: 현재 점수는 재시작하면 초기화되고, 최고 기록은 새로고침 뒤에도 유지되며, 새 세션에서는 현재 레벨이 1로 돌아갑니다. 각 값과 어떤 경계를 넘어 유지되는지 적으세요. 재시작 뒤 이전 플레이의 타이머가 남아 있는 의도치 않은 유지나, 새로고침 뒤 최고 기록이 사라지는 의도치 않은 손실을 찾을 수 있습니다.

## 프로브 누락, 잘못된 형식 및 오래된 값

테스트 환경을 제어할 수 있다면 저장 키가 없는 첫 방문, 유효한 저장 점수, 빈 값이나 잘못된 형식의 값을 차례로 시험하세요. 견고한 게임은 NaN을 표시하거나 메뉴를 잠그거나 플레이 전에 충돌하는 대신 정해 둔 기본값을 사용해야 합니다. 점수에 최댓값이 있거나 숫자여야 한다면 데이터를 읽는 경계에서 음수, 예상보다 큰 수, 숫자가 아닌 값을 시험하세요. 이는 복원력 테스트이지, 플레이어가 제품을 통해 저장 데이터를 편집할 수 있다고 가정하는 것은 아닙니다.

## 자주 묻는 질문

**게임은 세션 사이에 무엇을 저장해야 합니까?** 그것은 의도된 경험에 달려 있습니다. 설정, 최고 점수, 진행률 및 진행 중인 실행이 지속되는지 여부를 명시적으로 명시한 다음 다시 로드 및 새 세션 경계에서 각각 테스트합니다.

**localStorage의 사용이 보장되나요?** 어떤 스토리지 선택도 무조건적인 보장으로 간주되어서는 안 됩니다. 누락되거나 사용할 수 없는 데이터를 적절하게 처리하고 지원되는 환경에서 게임의 대체 동작을 확인하세요.

## 궁금한 것을 더 찾아보세요

- [게임 상태 전환 테스트](https://oneshotgems.ai/ko/topics/testing-game-state-transitions): 브라우저 게임의 시작, 플레이, 일시 정지, 승리 및 패배 상태를 매핑한 다음 모든 전환과 무시해야 하는 입력을 테스트합니다.
- [소규모 게임을 위한 회귀 테스트 루프](https://oneshotgems.ai/ko/topics/game-regression-testing): 메커니즘, 채점, 재시작 및 주변의 극단적인 사례에 초점을 맞춘 짧은 회귀 체크리스트를 사용하여 수정 후 작동하는 게임 루프를 보호하세요.
- [브라우저 게임의 로컬 저장 데이터를 버전 관리하기](https://oneshotgems.ai/ko/topics/local-storage-game-versioning): 이전 게임 버전에서 저장한 데이터를 읽는 방법을 정하고, 알려진 형식은 사용하기 전에 마이그레이션합니다.

## 추가 읽을거리

- [MDN 로컬스토리지](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)

---
대표 페이지: https://oneshotgems.ai/ko/topics/testing-game-save-state
