π§ͺ Step 5: Test Mode
Days 11-12 of your journey
You've built your core features. Now it's time to break thingsβintentionally. Test mode helps you find bugs before your users do.
Purposeβ
In Test mode, 1M Code acts as a QA engineer. It will:
- Help you systematically test all features
- Find edge cases you might have missed
- Guide you through fixing bugs
- Ensure quality before deployment
When to Use This Modeβ
Use Test mode when:
- Core features are built and "working"
- You want to find bugs before users do
- You're checking edge cases
- You're verifying the app works as expected
Available Toolsβ
| Tool | Purpose |
|---|---|
read | Read code to understand behavior |
edit | Fix bugs and improve code |
browser | Research solutions |
command | Run tests and check behavior |
Example Promptsβ
Systematic Testingβ
Help me test my water reminder app systematically.
What scenarios should I check?
Edge Casesβ
What edge cases should I test for my reminder timer?
What could go wrong?
Bug Investigationβ
When I set the timer to 30 minutes and close the browser,
the timer doesn't work when I come back. Why?
Fixing Issuesβ
I found a bug: the counter shows -1 if you tap undo
when the count is already 0. Help me fix it.
The Testing Checklistβ
1M Code will guide you through testing:
Happy Path Testingβ
Test the normal, expected usage:
- Set a reminder β notification appears
- Log water β counter increases
- View history β correct data shows
Edge Case Testingβ
Test unusual but valid scenarios:
- What if the user sets a 0-minute interval?
- What if they log 100 glasses of water?
- What if they have no internet?
Error Handlingβ
Test what happens when things go wrong:
- What if storage is full?
- What if the notification permission is denied?
- What if data is corrupted?
Cross-Device Testingβ
Test on different devices/browsers:
- Chrome on desktop
- Safari on iPhone
- Mobile browser responsiveness
Common Bugs to Look Forβ
State Bugsβ
- Counter shows wrong number after refresh
- Settings don't save properly
- UI doesn't update after action
UI Bugsβ
- Button doesn't respond to clicks
- Text is cut off on mobile
- Layout breaks on small screens
Logic Bugsβ
- Timer counts wrong
- Calculations are off by one
- Features work in wrong order
Edge Case Bugsβ
- App crashes with empty data
- Negative numbers where they shouldn't be
- Date/time issues around midnight
Bug Report Formatβ
When you find a bug, describe it clearly:
**Bug:** Counter goes negative
**Steps to reproduce:**
1. Open the app fresh
2. Tap "undo" button without logging any water
3. Counter shows -1
**Expected:** Counter should stay at 0
**Actual:** Counter shows -1
**Screenshot:** [if applicable]
Fixing vs. Notingβ
Not every bug needs to be fixed for MVP:
Fix Now (Blockers)β
- App crashes
- Core feature doesn't work
- Data loss
- Security issues
Fix Before Ship (Important)β
- Confusing UX
- Common edge cases
- Obvious visual bugs
Note for Later (Nice to Have)β
- Rare edge cases
- Minor visual issues
- Optimization opportunities
Output of This Phaseβ
By the end of Test mode, you should have:
- Testing checklist β completed and documented
- Bug list β with severity (blocker/important/later)
- All blockers fixed
- Confidence that the app works for basic usage
When to Move Onβ
You're ready for π Guard mode when:
- β All blocker bugs are fixed
- β Core features pass happy path testing
- β Major edge cases are handled
- β App doesn't crash during normal use
- β You'd feel okay showing this to a friend
Switching to Guard Modeβ
When you're ready, switch to Guard mode:
Slash command: /guard
Or say: "Testing complete. Let's check for security issues."
A walkthrough video for Test mode is in production. Check back soon or join our Discord for updates.