Promise is a social accountability app that helps users achieve their goals through group challenges. This document outlines the testing procedures to ensure all features work as expected.
- Send all feedback to: [email protected]
- Include in your email:
- Device model & OS version
- Steps to reproduce the issue
- Screenshots/recordings if applicable
- Severity level (Critical/High/Medium/Low)
- Install the latest TestFlight version
- Create a new test account
- Enable notifications when prompted
- Verify dark/light mode functionality
- Create new account
- Verify email verification flow
- Test password reset functionality
- Update profile information
- Test account deletion
- Verify data cleanup after account deletion
- Create challenge from scratch:
- Fill all required fields
- Add custom promises
- Set frequencies for each promise
- Verify preview matches input
- Test back navigation preserves data
- Complete creation flow
- Create challenge from template:
- Browse available templates
- Filter templates by category
- Select template
- Modify template defaults
- Add/remove promises
- Adjust frequencies
- Complete creation flow
- Verify template promises are pre-populated
- Test template category mapping
- Join via code:
- Test valid join code
- Test expired join code
- Test invalid join code format
- Test case sensitivity
- Join challenge
- Test join request flow:
- Submit join request
- Cancel join request
- Receive approval/rejection
- Rejoin after rejection
- Test challenge invite links:
- Open link while logged out
- Open link while logged in
- Open link with app closed
- Open link with app in background
- Test valid invite links
- Test invalid invite links
- Verify deep link behaviors:
- Direct to challenge details
- Preserve navigation stack
- Handle authentication flow
- Test universal links
- Test custom URL scheme
-
Maximum participants (5000):-
Join full challenge -
Wait list behavior -
Participant limit updates
-
- Challenge visibility:
- Private challenge access
- Challenge template discovery
- Filtering functionality
- Join code management:
- Generate new code
- Disable join code
- Code expiration
- Multiple devices:
- Sync join status
- Push notifications
- Challenge updates
- Create new promise
- Edit existing promise
- Delete promise
- Set weekly frequency
- Test promise limits:
- Maximum character length
- Special characters
- Empty fields validation
- Verify promise sorting
- Test promise filtering
- Join challenge with code
- Test invalid join codes
- Submit join request
- Cancel join request
- Leave challenge
- Test wager system:
- Create non-monetary wager
- Edit wager
- Remove wager
- Group chat functionality:
- Send messages
-
Delete messages -
Upload images - Message notifications
- Participant management:
- Invite participants
- Accept participants
- Remove participants
- Ban participants
- Leaderboard:
- Weekly updates
- Position changes
- Score calculation
- Daily progress updates
- Weekly summary view
- Progress notifications
- Streak tracking
- Achievement system
Test all notification types:
- Challenge join requests
- Request responses
- Chat messages
- Progress reminders
- Weekly summaries
- Leaderboard updates
- Network connectivity:
- Offline mode behavior
- Data sync when connection restored
- Concurrent users:
-
Multiple users editing same challenge - Multiple users chatting at the same time
- Real-time updates
-
- Data limits:
-
Maximum participants per challenge (5000) -
Maximum active challenges per user -
Message history limits
-
- Time zones:
- Challenge dates across time zones
- Progress tracking accuracy
- Notification timing
- App launch time
- Challenge loading speed
- Chat message loading
- Image upload/download
- Battery usage
- Memory usage
- Background process behavior
- All features work in both light/dark mode
- Accessibility features function correctly
- App behaves correctly during interruptions (calls, messages)
- Data persistence after app restart
- Proper error messages for all failure cases
- When reporting issues, please use the following format:
- Subject: [Bug/Feature] Brief Description
- Priority: (Critical/High/Medium/Low)
- Device: (Model/OS Version)
- App Version: (TestFlight version)
- Description:
- Detailed explanation of the issue
- Steps to Reproduce:
- Step 1
- Step 2
- Step 3
- Expected Behavior:
- What should happen
- Actual Behavior:
- What actually happened
- Additional Notes:
- Screenshots/recordings
- Related issues
Send all feedback to [email protected]. Thank you for helping improve Promise!