Beta test plan
Crab-ink
This template serves as a structured example of what is expected for your Beta Test Plan.
1. Project context
Crab-ink is a portable console for playing light video games with an e-ink display. It will provide an healthier way to play game, with long lasting battery and non-agressive for the eyes screen, as if you are reading a book.
2. User role
[The following roles will be involved in beta testing]
| Role Name | Description |
|---|---|
| The Player | A regular person that is the main intended user of the console and is playing games on it |
| The Writer | A creator making visual novels for the console |
3. Feature table
[The following features will be shown during the defense]
| Feature ID | User role | Feature name | Short description |
|---|---|---|---|
| F1 | Player | System Boot | The kernel initializes drivers and launches the Home App automatically. |
| F2 | Player | Library Navigation | Browse available games stored in the local storage. |
| F3 | Player | Start Game | Launch a selected game from the library. |
| F4 | Player | In-Game Menu | Access the in-game menu to save, load or quit the game. |
| F5 | Player | Save/Load System | Save and load game progress at any point. |
| F6 | Player | Settings Menu | Adjust system settings such as brightness, volume, and font size. |
| F7 | Player | Shutdown | Properly power off the device to ensure data integrity. |
| F8 | Player | Read & Play | Display text scenes, backgrounds, and sprites on the E-Ink screen. |
| F9 | Player | Choice Handling | Navigate branching narratives by selecting options via hardware inputs. |
| F10 | Player | Resume Game | Close the overlay and resume gameplay exactly where left off (Pop Mode). |
| F11 | Player | View Battery Status | Check remaining battery life from the system menu. |
| F12 | Player | Crash Recovery | Automatically save game state and recover from unexpected shutdowns. |
| F13 | Player | Sleep Mode | The system enters a low-power state automatically after inactivity to conserve battery. |
| F14 | Writer | Create Game | Being able to upload a game compiled for the console |
4. Success Criteria
[Define the metrics and conditions that determine if the beta version is successful.]
VC = Visual Check
| Feature ID | Key success criteria | Indicator/metric | Result |
|---|---|---|---|
| F1 | The console boots directly to the Home menu without user intervention | Boot time < 30 seconds, 10/10 successful boots | TBD |
| F2 | All valid game files stored in the /assets/stories folder are mapped in read-only and listed | 100% of files detected and titles parsed correctly | ✅ |
| F3 | Selecting a game successfully clears the Home App and initializes the Engine. | Transition time < 2s, no memory leaks observed. | ✅ |
| F4 | Pressing Menu Button opens the overlay menu without closing the game session | VC: Game background is visible behind the menu. | ✅ |
| F5 | The datas are saved on the disk and is loadable after a reboot | The datas are saved and integrated | ✅ |
| F6 | Changes in settings (e.g., Font Size) are immediately reflected in the UI | VC: text redraws with new parameters. | ✅ |
| F7 | The system shuts down safely, closing all file descriptors to prevent corruption. | No "dirty bit" or corruption on SD card after 10 shutdowns. | TBD |
| F8 | Text and sprites render clearly on the E-Ink display with appropriate dithering. | VC: No text overflow, images are recognizable. | ✅ |
| F9 | The console is handling the user input and provide an appropriate response to them | The user can navigate through stories with the hardware | ✅ |
| F10 | Closing the in-game menu restores control to the game instantly. | Buttons respond immediately after closing menu and the game hasn't changed. | ✅ |
| F11 | The battery icon in the system bar reflects the actual hardware voltage. | VC: Update within 60s of battery drain. | TBD |
| F12 | The console is able to retrieve a pre-crash step when unexpected shutdown happen without corrupting data | The state of the console is saved regularly | ✅ |
| F13 | The device enters sleep mode and wakes up without losing context after an interruption | Auto-sleep triggers after timeout (e.g., 60s); Wake-up restores the previous screen in < 1s. | TBD |