Date: February 10, 2025
Version: v1.2.0 (Enhanced Fields, App Store Prep)
Tester: _______________
Phase gate: This checklist is ready for on-device testing. All code changes are committed and deployed. Testing must be done physically on a Flipper Zero; automated/emulator testing cannot fully validate memory, SD card, or UI behavior.
- Disc Number – Field in Add/Edit (0=unset, 1–999); shown in slot details when set
- Album Artist – Field for compilations; Add/Edit and slot details
- Add/Edit field order – Artist, Album Artist, Album, Disc #, Year, Genre, Notes, Tracks, Save
- Slot details – Shows Album Artist, Disc, Notes when present (in addition to Artist, Album, Year, Genre, Tracks)
- Error messages – Actionable text: "Press Back", "Restart app", "Loading. Press Back."
- App manifest – fap_version=1.2.0, fap_author, fap_description
- Multi-Changer – Changers (Name, Location, Slots); select at top menu; Add/Edit/Delete
- Splash screen – Brief FlipChanger logo on launch (~1.2s or key to skip)
- Main menu – 6 items (View Slots, Add CD, Settings, Statistics, Changers, Help); scrollable (5 visible)
- Header – Shows current Changer name instead of "FlipChanger"
- Per-Changer data – Each Changer has own slots file; last-used persisted
For each test item, respond with:
- ✅ PASS - Works as expected
- ❌ FAIL - Doesn't work or crashes
⚠️ PARTIAL - Works but has issues- ➖ SKIP - Not tested
If you mark FAIL or PARTIAL, please describe the issue in the notes section.
- Splash screen appears (FlipChanger, CD Changer Tracker)
- Splash dismisses after ~1.2s or on key press
- Main menu appears with Changer name in header
- 6 menu items (View Slots, Add CD, Settings, Statistics, Changers, Help)
- Main menu scrolls (5 visible at a time; Up/Down to scroll)
- No UI overlap (footers removed; use Help for instructions)
- No overlap between menu items
Notes: _________________________________________________
- UP/DOWN navigates between menu items
- Selected item is highlighted
- OK button selects menu item
- BACK button exits app
- Long press BACK exits app
Notes: _________________________________________________
- Changers menu item visible and selectable
- Changer list shows Name | Location | slots
- "+ Add Changer" row appears when < 10 changers
- OK on Changer selects/switches (returns to main menu)
- Long-press OK on Changer opens Edit form
- OK on "+ Add Changer" opens Add form
- BACK returns to main menu (no crash)
- Header shows Changer name after switch
Notes: _________________________________________________
- Slot list view appears
- Shows correct number of slots (default or configured)
- Empty slots show "Empty" status
- Occupied slots show album name
- No UI overlap (press R for Help)
- Shows 5 items at a time (scrollable)
- Wrap-around: Down at last slot → first; Up at first → last
- Screen scrolls when wrapping so selection stays visible
- Long press Up/Down skips by 10 slots
Notes: _________________________________________________
- UP/DOWN scrolls through slots
- Selected slot is highlighted
- OK button opens slot details
- BACK button returns to main menu
- Long press BACK exits app
Notes: _________________________________________________
- Empty slot shows "[Empty Slot]" message
- OK button opens Add/Edit view
- BACK button returns to slot list
- R opens Help
Notes: _________________________________________________
- Shows slot number in header
- Shows fields when present: Artist, Album Artist, Album, Disc, Year, Genre, Notes, Tracks
- Fields are scrollable (shows 4 at a time)
- UP/DOWN scrolls through fields
- Footer shows "U/D:Scroll K:Edit B:Return"
- OK button opens Add/Edit view
- BACK button returns to slot list
- No UI overlap
Notes: _________________________________________________
- Shows slot number in header
- Shows all fields: Artist, Album Artist, Album, Disc #, Year, Genre, Notes, Tracks, Save
- Shows 4 fields at a time (scrollable)
- Selected field is highlighted
- Footer text visible and readable (two lines)
- Footer doesn't overlap menu items
- Footer text wraps properly (doesn't run off screen)
Notes: _________________________________________________
- UP/DOWN navigates between fields when at start (cursor pos 0, char selection 0)
- UP/DOWN changes character selection when editing
- Can navigate to all fields: Artist, Album Artist, Album, Disc #, Year, Genre, Notes, Tracks, Save
- Navigation wraps around (from Save to Artist, etc.)
Notes: _________________________________________________
- Can select characters with UP/DOWN
- Character picker shows selected character (e.g., "[A]")
- DEL option appears in character picker
- OK button adds selected character
- OK with DEL selected deletes character
- LEFT/RIGHT moves cursor
- Text scrolls horizontally when longer than visible area
- Cursor stays visible when scrolling
- Can input all characters including 'A'
- BACK button exits field editing (returns to slot details)
- Long press BACK exits to slot list
Notes: _________________________________________________
- Disc # field shows "-" when unset, number when set
- Accepts numbers only (0-9); 0 = unset (or leave as -)
- UP/DOWN at start navigates to previous/next field
- UP/DOWN when editing changes number selection (0-9)
- OK adds digit; BACK deletes last digit
- Long press BACK exits to slot details
- Value saves and displays in slot details when > 0
Notes: _________________________________________________
- Year field accepts numbers only (0-9)
- UP/DOWN at start (0) navigates to previous/next field
- UP/DOWN when editing changes number selection (0-9)
- OK button adds selected digit
- BACK button deletes last digit
- Long press BACK exits to slot details
- Year value displays correctly
Notes: _________________________________________________
- Tracks field shows track count
- OK button opens Track Management view
- Can navigate to/from Tracks field
Notes: _________________________________________________
- Save button is accessible
- OK on Save button saves the CD
- Returns to slot details after save
- Saved data persists (visible after restart)
Notes: _________________________________________________
- Shows track list with numbers and titles
- Shows durations for tracks
- Selected track is highlighted
- Footer text visible and readable
- No UI overlap
Notes: _________________________________________________
- UP/DOWN navigates through tracks
- OK button starts editing selected track
- RIGHT button (+) adds new track
- LEFT button (-) deletes selected track
- BACK button returns to Add/Edit view
- Long press BACK exits to slot list
Notes: _________________________________________________
- Title editing mode appears
- Shows "Title:" label
- Can select characters with UP/DOWN
- Character picker shows selected character
- DEL option available
- OK button adds selected character
- OK with DEL deletes character
- LEFT/RIGHT moves cursor
- Text scrolls horizontally
- Can input 'A' character (doesn't switch fields)
- BACK button switches to Duration field (when at start) or exits editing
- Long press BACK exits track editing
Notes: _________________________________________________
- Duration editing mode appears
- Shows "Duration:" label
- Accepts numbers only (0-9)
- UP/DOWN changes number selection
- OK button adds selected digit
- BACK button deletes last digit or switches to Title field
- Duration stored as seconds (numeric)
- Can switch between Title and Duration with LEFT/RIGHT at field boundaries
Notes: _________________________________________________
- Statistics view opens without crash
- Shows "Statistics" title
- Displays "Albums: X" (count of occupied slots)
- Displays "Tracks: X" (total track count)
- Displays "Time: Xh Xm Xs" or "Time: Xm Xs" or "Time: Xs" (total duration)
- Footer text visible
- No crashes or errors
Notes: _________________________________________________
- Album count matches number of occupied slots
- Track count matches sum of all tracks
- Time calculation appears correct (sum of all durations)
- Statistics update when CDs are added/removed
Notes: _________________________________________________
- BACK button returns to main menu
- Long press BACK exits app
Notes: _________________________________________________
- Settings view opens without crash
- Shows "Settings" title
- Displays "Slot Count: X" (current value)
- Shows "Range: 3-200" hint
- Footer text visible and readable
- No crashes or errors
Notes: _________________________________________________
- OK button starts editing slot count
- Slot count field highlights when editing
- UP button increments slot count
- DOWN button decrements slot count
- Value stays within range (3-200)
- Value wraps/clamps correctly at boundaries
- Cursor appears at end of number
- Footer shows editing instructions
Notes: _________________________________________________
- Long press BACK saves new slot count
- Returns to main menu after save
- New slot count persists after app restart
- Slot list reflects new slot count
- Short press BACK cancels editing (doesn't save)
Notes: _________________________________________________
- BACK button returns to main menu (when not editing)
- Long press BACK exits app (when not editing)
Notes: _________________________________________________
- CD data saves when Save button pressed
- Track data saves with CD
- Settings (slot count) saves when changed
- No data loss on app exit
Notes: _________________________________________________
- App loads saved data on startup
- CD information persists after restart
- Track information persists after restart
- Slot count setting persists after restart
- Statistics reflect saved data
Notes: _________________________________________________
- Changer registry:
/ext/apps/Tools/flipchanger_changers.json - Per-changer slots:
/ext/apps/Tools/flipchanger_<id>.json(e.g. flipchanger_changer_0.json) - File updates when data changes
- No file corruption
Notes: _________________________________________________
- Help accessible from Main menu (5th option)
- R key opens Help in Slot list, Slot details, Settings, Statistics
- Help shows key bindings (U/D, K, B, LB, R, LPU/LPD)
- B or K closes Help and returns to previous view
- No footer overlap (footers removed)
Notes: _________________________________________________
- Slot details shows 4 items at a time
- Add/Edit shows 4 fields at a time
- Scrolling works smoothly
- Selected item always visible
Notes: _________________________________________________
- Long text fields scroll horizontally
- Cursor stays visible when scrolling
- Text doesn't overwrite (scrolls instead)
Notes: _________________________________________________
- No crash when navigating between views
- No crash when pressing BACK repeatedly
- No crash when pressing buttons rapidly
- No crash when exiting app
Notes: _________________________________________________
- No crash when editing fields
- No crash when adding/deleting characters
- No crash when editing tracks
- No crash with long text input
Notes: _________________________________________________
- Invalid slot shows "Invalid. Press Back."
- Slot not in cache shows "Loading. Press Back."
- Unknown view shows "Error. Press Back."
- Messages are readable (no truncation)
Notes: _________________________________________________
- No crash with empty fields
- No crash with maximum values
- No crash with minimum values (3 slots)
- No crash with maximum slots (200)
- No crash when file doesn't exist
- No crash with corrupted data
Notes: _________________________________________________
- App responds quickly to button presses
- No noticeable lag when navigating
- No lag when loading views
- Statistics calculation is fast
Notes: _________________________________________________
- No "out of memory" errors
- App doesn't slow down over time
- No memory leaks
Notes: _________________________________________________
- All core features work
- All menus are accessible
- Data persists correctly
- Settings work correctly
Notes: _________________________________________________
- App is easy to navigate
- Instructions are clear
- UI is readable
- Controls are intuitive
Notes: _________________________________________________
- App doesn't crash during normal use
- App handles errors gracefully
- App exits cleanly
Notes: _________________________________________________
List any critical issues (crashes, data loss, etc.):
List any minor issues or suggestions for improvement:
Total Tests: _____
Passed: _____
Failed: _____
Partial: _____
Skipped: _____
Overall Status:
- ✅ Ready for use
-
⚠️ Has minor issues - ❌ Has critical issues
Recommendation: _________________________________________________
Testing completed on: _______________
Tester signature: _______________