Something went wrong!
Hang in there while we get back on track
Mobile App Onboarding Experience
Transforms mobile-specific vague criteria ('engaging', 'intuitive', 'smooth', 'reasonable') into testable conditions using FPS, milliseconds, completion rates, and device-specific benchmarks.
Input
What you provide to the skill
Mobile app onboarding. Criteria: tutorials should be engaging, navigation intuitive, performance smooth, loading reasonable
Output
What the skill generates for you
Acceptance Criteria Analysis: Mobile App Onboarding
Criterion 1: “Tutorials should be engaging”
Status: ❌ NOT TESTABLE
Issues:
- “engaging” is subjective and unmeasurable
- No definition of what engagement looks like
- No behavioral or quantitative metrics
Testable Rewrites:
✅ Option A (Completion Rate):
“At least 80% of users complete the tutorial sequence without skipping”
- Measurable: Yes (80% completion threshold)
- Observable: Yes (analytics track completion vs skip)
- Specific: Yes (defines engagement as completion behavior)
✅ Option B (Interaction Time):
“Users spend at least 30 seconds on each tutorial screen before proceeding”
- Measurable: Yes (30 seconds per screen)
- Observable: Yes (time tracking)
- Specific: Yes (defines engagement as attention duration)
✅ Option C (User Feedback):
“Tutorial receives satisfaction rating of 4.0+ out of 5.0 from users who complete onboarding”
- Measurable: Yes (4.0/5.0 threshold)
- Observable: Yes (post-tutorial survey)
- Specific: Yes (defines engagement through satisfaction)
Recommendation: Option A (completion rate is strongest indicator of engagement)
Criterion 2: “Navigation should be intuitive”
Status: ❌ NOT TESTABLE
Issues:
- “intuitive” is subjective
- No measurable usability metric
- No definition of navigation success
Testable Rewrites:
✅ Option A (First-Time Success):
“90% of users complete onboarding without tapping ‘Back’ or ‘Help’”
- Measurable: Yes (90% threshold, specific actions)
- Observable: Yes (track navigation patterns)
- Specific: Yes (defines intuitive as linear progression)
✅ Option B (Task Completion):
“Users reach the final onboarding screen within 5 minutes without errors”
- Measurable: Yes (5 minute threshold, zero errors)
- Observable: Yes (time tracking and error logging)
- Specific: Yes (defines success path)
✅ Option C (Platform Consistency):
“Onboarding uses standard iOS/Android navigation patterns (swipe, Next button, progress indicators)”
- Measurable: Yes (presence of standard elements)
- Observable: Yes (visual verification)
- Specific: Yes (follows platform conventions)
Recommendation: Use Option A + Option C for both behavioral success and design standards
Criterion 3: “Performance should be smooth”
Status: ❌ NOT TESTABLE
Issues:
- “smooth” is subjective
- No performance metrics defined
- No device compatibility specified
Testable Rewrites:
✅ Option A (Frame Rate):
“All animations and transitions run at 60 FPS on iPhone 12+/Samsung S21+ devices”
- Measurable: Yes (60 FPS, specific devices)
- Observable: Yes (frame rate monitoring tools)
- Specific: Yes (defines smoothness as frame rate)
✅ Option B (Animation Timing):
“Screen transitions complete within 300ms with no visible lag”
- Measurable: Yes (300ms threshold)
- Observable: Yes (can be timed)
- Specific: Yes (defines transition performance)
✅ Option C (Touch Response):
“Touch interactions (tap, swipe) trigger visual feedback within 100ms”
- Measurable: Yes (100ms threshold)
- Observable: Yes (response time verification)
- Specific: Yes (defines interaction responsiveness)
Recommendation: Use all three to comprehensively define “smooth” performance
Criterion 4: “Loading should be reasonable”
Status: ❌ NOT TESTABLE
Issues:
- “reasonable” is subjective
- No time thresholds defined
- No loading context specified
Testable Rewrites:
✅ Option A (Initial Load):
“Onboarding first screen loads within 2 seconds after app launch”
- Measurable: Yes (2 second threshold)
- Observable: Yes (load time tracking)
- Specific: Yes (defines initial experience)
✅ Option B (Screen Transitions):
“Each subsequent onboarding screen loads within 500ms”
- Measurable: Yes (500ms threshold)
- Observable: Yes (can be timed)
- Specific: Yes (defines navigation speed)
✅ Option C (Asset Loading):
“Tutorial images and videos load within 1 second on 4G connection (10 Mbps)”
- Measurable: Yes (1 second, specific network speed)
- Observable: Yes (asset load time monitoring)
- Specific: Yes (defines media loading expectations)
Recommendation: Use Option A + Option B for comprehensive loading coverage
Summary
Original Criteria: 4 statements, 4 not testable (100% vague)
Testable Criteria Generated: 12 specific, measurable alternatives
Testability Standards Met:
✅ Clear pass/fail conditions for all criteria
✅ Measurable thresholds defined (seconds, percentages, FPS)
✅ Observable behaviors specified (what QA can verify)
✅ No subjective terms remaining
Recommended Final Acceptance Criteria:
- At least 80% of users complete the tutorial sequence without skipping
- 90% of users complete onboarding without tapping ‘Back’ or ‘Help’
- Onboarding uses standard iOS/Android navigation patterns (swipe, Next button, progress indicators)
- All animations and transitions run at 60 FPS on iPhone 12+/Samsung S21+ devices
- Screen transitions complete within 300ms with no visible lag
- Touch interactions (tap, swipe) trigger visual feedback within 100ms
- Onboarding first screen loads within 2 seconds after app launch
- Each subsequent onboarding screen loads within 500ms
Quality Improvement: From 0% testable → 100% testable
About This Skill
Transform vague acceptance criteria into specific, testable conditions with measurable pass/fail thresholds.
View Skill DetailsMore Examples
API Endpoint with Mixed Testability
Demonstrates handling criteria that are already partially testable (response time, error rate) alongside vague ones ('gracefully', 'scalable'), showing how the skill enhances existing metrics while rewriting subjective terms.
E-commerce Shopping Cart Checkout
Analyzes vague web checkout criteria ('easy', 'quickly', 'clear') and transforms them into measurable conditions with step counts, time thresholds, and error handling specifications.