← back to Dear Bubbe Nextjs
mobile-manual-test-checklist.md
188 lines
# Dear Bubbe Mobile Manual Test Checklist
## 📱 Device Testing Checklist
### Voice Chat Flow
- [ ] **Auto-start**: Bubbe starts talking immediately on page load (no click needed)
- [ ] **Continuous conversation**: After Bubbe speaks, mic automatically listens
- [ ] **No TALK button**: TALK button should NOT appear after Bubbe's responses
- [ ] **Microphone permissions**: Browser properly requests mic permissions
- [ ] **Audio playback**: Bubbe's voice plays clearly on mobile speakers
- [ ] **Visual feedback**: Pulsing indicator shows when listening/speaking
### User Onboarding & Profile
- [ ] **Name field**: Keyboard opens correctly, autocapitalize works
- [ ] **Relationship dropdown**: All options visible, doesn't cut off Done button
- [ ] **Location field**: Triggers dynamic Bubbe comments as you type
- [ ] **Enter key**: Moves between fields properly on mobile keyboard
- [ ] **Save functionality**: Profile data persists after saving
- [ ] **Keyboard dismissal**: Tapping outside dismisses keyboard properly
### Share Modal
- [ ] **Share button**: Easily tappable with finger (44x44px minimum)
- [ ] **Platform buttons**: All social platforms work correctly:
- [ ] WhatsApp - Opens WhatsApp with pre-filled message
- [ ] Instagram - Prompts to open Instagram app
- [ ] TikTok - Opens TikTok or prompts to install
- [ ] X/Twitter - Opens with pre-filled tweet
- [ ] Facebook - Opens Facebook share dialog
- [ ] SMS - Opens native SMS with message
- [ ] Email - Opens email client with subject/body
- [ ] **Copy link**: Copies to clipboard with confirmation
- [ ] **Modal dismissal**: Can close by tapping X or outside modal
### Response Quality
- [ ] **Complete sentences**: Responses don't cut off mid-word or mid-sentence
- [ ] **Invasive questions**: Every response ends with personal question
- [ ] **Character consistency**: Rude, sarcastic, uses Yiddish terms
- [ ] **Mobile length**: Responses fit well on mobile screen (under 320 chars)
- [ ] **80 token limit**: Responses are concise but complete
### Mobile UI/UX
- [ ] **No zoom on input**: Font size 16px prevents iOS zoom
- [ ] **Smooth scrolling**: Chat scrolls smoothly to latest message
- [ ] **Touch targets**: All buttons/links at least 44x44px
- [ ] **Landscape mode**: Layout adapts properly to horizontal orientation
- [ ] **Loading states**: Clear feedback when waiting for response
- [ ] **Error handling**: Graceful errors if connection drops
### Nudging System
Test timing for inactivity nudges:
- [ ] **30 seconds**: "Nu? Cat got your tongue?"
- [ ] **2 minutes**: "Hello? Anyone there? I don't have all day!"
- [ ] **5 minutes**: "What, you fell asleep? WAKE UP!"
- [ ] **10 minutes**: "Fine, ignore me. See if I care!"
- [ ] **30 minutes**: Final nudge before stopping
### Known Issues (Should be FIXED)
- [ ] ✅ Responses no longer cut off mid-sentence
- [ ] ✅ TALK button doesn't appear unnecessarily
- [ ] ✅ Conversation continues automatically
- [ ] ✅ Profile saves without data loss
- [ ] ✅ Hydration errors resolved
## 📱 Test Devices Priority
### High Priority (Most Common)
1. **iPhone 12/13/14** - iOS Safari
2. **Samsung Galaxy S21/S22** - Chrome
3. **iPhone SE** - Smaller screen iOS
### Medium Priority
4. **iPad** - Tablet experience
5. **Google Pixel** - Stock Android
6. **OnePlus** - Android variant
### Low Priority
7. **Older iPhones** (iPhone 8/X)
8. **Budget Android** devices
9. **Tablets** (Android/iPad)
## 🔍 Browser Testing
### Mobile Browsers to Test
- [ ] **iOS Safari** (primary iOS browser)
- [ ] **Chrome Mobile** (Android default)
- [ ] **Samsung Internet** (Samsung devices)
- [ ] **Firefox Mobile** (privacy-focused users)
- [ ] **Edge Mobile** (Microsoft ecosystem)
## 🎯 Critical User Flows to Test
### First-Time User Flow
1. Land on site → Bubbe auto-greets
2. User responds via voice or text
3. Conversation continues naturally
4. After 3 messages → Login prompt
5. Sign up with profile info
6. Continue conversation
### Returning User Flow
1. Land on site → Bubbe remembers them
2. Personalized greeting
3. Continues from previous conversation
4. Share favorite responses
5. Update profile if needed
### Share Flow
1. Receive funny Bubbe response
2. Tap share button
3. Select platform
4. Pre-filled message appears
5. Successfully share to platform
## 📝 Test Data Examples
### Good Test Inputs
- "What's the weather today?" → Should get local weather + invasive question
- "Tell me the news" → Local news priority + judgment
- "How are you?" → Sarcastic response + guilt trip
- "I just bought a new car" → Money judgment + marriage question
- "I'm thinking about my career" → Career insult + life advice
### Edge Cases to Test
- Very long input (>500 chars)
- Emoji-only input 😀🎉
- Special characters: @#$%^&*
- Multiple questions in one input
- Rapid consecutive messages
- Network disconnect mid-conversation
## 🚨 Anti-Semitism Detection Test
### ⚠️ CRITICAL: Test ONLY with these safe phrases
- "This is a test of the emergency system" → Should respond normally
- "Testing testing 123" → Normal response
- DO NOT test with actual offensive content
## 📊 Performance Metrics to Monitor
### Target Metrics
- **Initial load**: < 3 seconds on 4G
- **Response time**: < 2 seconds for Bubbe's reply
- **Voice synthesis**: < 1 second to start playing
- **Smooth scrolling**: 60 FPS
- **Memory usage**: < 100MB
- **Battery drain**: Minimal during conversation
## 🐛 Bug Reporting Template
When you find an issue, document:
```
Device: [iPhone 13 / Samsung S22 / etc]
OS Version: [iOS 16.5 / Android 13 / etc]
Browser: [Safari / Chrome 119 / etc]
Network: [WiFi / 4G / 5G]
Issue: [Brief description]
Steps to Reproduce:
1. [Step 1]
2. [Step 2]
3. [Step 3]
Expected: [What should happen]
Actual: [What actually happened]
Screenshot/Video: [If applicable]
Console Errors: [Any JavaScript errors]
```
## ✅ Sign-off Criteria
Mobile experience is ready when:
- [ ] All critical flows work on top 3 devices
- [ ] No console errors in production
- [ ] Response time < 2 seconds consistently
- [ ] Share functionality works on all platforms
- [ ] Voice chat works without manual interaction
- [ ] Nudging system engages users appropriately
- [ ] Character personality is consistent (rude, invasive)
- [ ] Anti-semitism protection is active
- [ ] Profile system saves data correctly
- [ ] No hydration errors on any device
---
**Testing Date**: ___________
**Tested By**: ___________
**Version**: 0.40.3
**Status**: [ ] PASS [ ] FAIL [ ] NEEDS WORK