Files
FocusBuddy/TESTING_START_HERE.md
2025-11-22 18:17:35 +08:00

6.9 KiB

🚀 Quick Testing Guide - Start Here!

Your FocusBuddy app is running successfully in Edge browser!

Current Status

✅ App compiled successfully
✅ Running in Edge browser
✅ Database initialized (Hive)
✅ Hot reload enabled
✅ All 5 screens implemented

🎯 Quick 10-Minute Test Flow

Follow this streamlined test to verify all core features work:

Test 1: Check Home Screen (30 seconds)

  1. Open your Edge browser
  2. You should see "FocusBuddy" title
  3. Check: "25 minutes" is displayed
  4. Pass if: UI looks good, buttons visible

Test 2: Change Settings (1 minute)

  1. Click "Settings" button
  2. Click "15 minutes" option
  3. Observe the green checkmark
  4. Click back arrow to return home
  5. Pass if: Home now shows "15 minutes"

Test 3: Quick Focus Session (2 minutes)

⚠️ Important: To test quickly without waiting 15 minutes, I can modify the timer to use seconds instead. Should I do that?

For now, let's test the UI:

  1. Click "Start Focusing"
  2. Observe timer screen
  3. Check timer is counting down from 15:00
  4. Pass if: Timer updates every second

Test 4: Distraction Button - Critical! (1 minute)

This is the core feature - must work perfectly:

  1. While timer is running, click "I got distracted"
  2. Critical check: Timer should KEEP RUNNING (not pause!)
  3. Look for message: "It happens. Let's gently come back."
  4. Bottom sheet appears with 4 distraction types
  5. Click "📱 Scrolling social media"
  6. Click "I got distracted" again
  7. Select "💭 Just zoned out"
  8. Observe distraction counter increases
  9. Pass if: Timer NEVER stops, distractions recorded

Test 5: Pause/Resume (30 seconds)

  1. Click "Pause" button
  2. Observe timer stops
  3. Wait 5 seconds
  4. Click "Resume"
  5. Pass if: Timer continues from paused time

Test 6: Stop Early (1 minute)

  1. Click "Stop session" button
  2. Read confirmation dialog
  3. Click "Yes, stop"
  4. You should land on Complete Screen
  5. Check: Shows actual minutes focused (e.g., "2 minutes")
  6. Check: Shows distraction count (should be 2 from Test 4)
  7. Check: Shows random encouragement message
  8. Pass if: All stats are correct

Test 7: View History (1 minute)

  1. Click "View History" button
  2. Observe "📅 Today" summary card
  3. Check: Total minutes displayed
  4. Check: Distraction count displayed
  5. Scroll down to see your session listed
  6. Session should show: time, duration, "⏸️ Stopped early" badge
  7. Pass if: Data matches what you just did

Test 8: Complete Another Session (2 minutes)

  1. Go back to Home
  2. Click "Start Focusing" again
  3. Let it run for 30 seconds (no distractions this time)
  4. Click "Stop session""Yes, stop"
  5. Go to History
  6. Check: Now shows 2 sessions
  7. Check: Total minutes increased
  8. Pass if: Both sessions listed

Test 9: Data Persistence (1 minute)

  1. In the terminal, press R (capital R) to hot restart
  2. Or close and reopen browser tab
  3. Go to History
  4. Pass if: Your sessions are still there!

Test 10: About & Privacy (30 seconds)

  1. Go to Settings
  2. Click "Privacy Policy"
  3. Read dialog, click "Close"
  4. Click "About FocusBuddy"
  5. Read dialog, click "Close"
  6. Pass if: Dialogs display properly

🎊 If All Tests Pass

Congratulations! Your MVP is working perfectly.

What This Means:

  • All core features work
  • Data persistence works
  • UI is functional
  • No critical bugs

📋 Next Steps:

  1. See TEST_REPORT.md for 20 detailed test cases
  2. Test on Android/iOS devices
  3. Polish UI if needed
  4. Add notifications (optional)
  5. Prepare app store assets

🐛 If Something Doesn't Work

How to Report Issues:

For each problem, note:

  1. Which test failed? (Test 1-10)
  2. What happened? (exact error message or behavior)
  3. What did you expect? (correct behavior)

Common Issues & Fixes:

Issue: Timer doesn't update every second

Fix: Check browser console (F12) for JavaScript errors

Issue: Distraction button pauses timer

Fix: This is a critical bug - needs code fix in focus_screen.dart

Issue: History is empty after restart

Fix: Hive database issue - check initialization

Issue: Settings don't persist

Fix: SharedPreferences issue


🔥 Hot Reload Commands

While testing, you can use these in the terminal:

  • r - Hot reload (fast, keeps state)
  • R - Hot restart (full reset)
  • c - Clear console
  • q - Quit app

Speed Up Testing

Option 1: Modify Timer to Use Seconds (Temporary)

I can change the timer to count seconds instead of minutes so you don't have to wait 15 minutes per test.

Would you like me to do this?

Option 2: Test at 1x Speed

Just test the UI interactions (pause, distraction, etc.) and trust the timer logic works. You can do one full session overnight.


📊 Quick Checklist

After testing, fill this out:

✅ Home screen displays correctly
✅ Settings change duration
✅ Settings persist after reload
✅ Focus timer counts down
✅ Pause/Resume works
✅ "I got distracted" doesn't stop timer ⚠️ CRITICAL
✅ Distraction types can be selected
✅ Stop early saves partial session
✅ Complete screen shows correct stats
✅ History shows all sessions
✅ Today's summary is accurate
✅ Data persists after restart
✅ Privacy/About dialogs work
✅ Navigation works (all screens)
✅ UI looks good (colors, fonts, spacing)

🎯 The Most Important Test

Test 4 (Distraction Button) is THE MOST CRITICAL TEST.

This is the core differentiator of FocusBuddy:

"I got distracted" must NEVER pause the timer.

If this doesn't work, everything else doesn't matter. Please test this carefully!


💡 Pro Tips

  1. Keep the terminal visible - you'll see console logs and can hot reload
  2. Test distraction button multiple times - try 10+ distractions in one session
  3. Try edge cases - What if you tap distraction 20 times rapidly?
  4. Check responsive design - Resize browser window to mobile size
  5. Read encouragement messages - Are they emotionally appropriate?

📱 Browser Access

If you closed the browser, open a new tab and go to:

http://localhost:<port>/

The port number is shown in the terminal output. Look for:

Debug service listening on ws://127.0.0.1:XXXXX/...

Or just press R in the terminal to restart the app.


Current State

🟢 App Running: Yes
🟢 Database: Initialized
🟢 Hot Reload: Enabled
⚪ Testing: Ready to start

You can start testing now!

Follow Tests 1-10 above, and report back any issues. If everything works, we'll move on to preparing for launch! 🚀


Happy Testing! 🎉