get to prod tasks
This commit is contained in:
87
tasks/android-production/20-firebase-test-lab.md
Normal file
87
tasks/android-production/20-firebase-test-lab.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 20. Firebase Test Lab Integration
|
||||
|
||||
meta:
|
||||
id: android-production-20
|
||||
feature: android-production
|
||||
priority: P2
|
||||
depends_on: []
|
||||
tags: [testing, device-farm, quality]
|
||||
|
||||
objective:
|
||||
- Integrate Firebase Test Lab for automated testing on a wide range of physical Android devices
|
||||
|
||||
deliverables:
|
||||
- Firebase Test Lab configuration
|
||||
- Robo test configuration
|
||||
- Instrumentation test execution
|
||||
- Test results and reports
|
||||
|
||||
steps:
|
||||
1. Set up Firebase Test Lab:
|
||||
- Create Firebase project
|
||||
- Link to Google Play Console
|
||||
- Enable Blaze plan (pay-as-you-go)
|
||||
- Install gcloud CLI
|
||||
2. Configure test matrix:
|
||||
- Select device models:
|
||||
- Pixel 6 (API 33)
|
||||
- Pixel 4 (API 30)
|
||||
- Samsung Galaxy S21 (API 31)
|
||||
- Xiaomi Redmi (API 29)
|
||||
- Low-end device (API 28, 2GB RAM)
|
||||
- Select orientations: portrait, landscape
|
||||
- Select locales: en_US, es_ES
|
||||
3. Run Robo tests:
|
||||
- Upload APK/AAB
|
||||
- Configure Robo crawl (timeout, login credentials)
|
||||
- Run on device matrix
|
||||
- Review crawl map and screenshots
|
||||
4. Run instrumentation tests:
|
||||
- Upload test APK
|
||||
- Configure test runner
|
||||
- Execute UI tests on device matrix
|
||||
- Collect test results and videos
|
||||
5. Integrate with CI:
|
||||
- Add gcloud commands to GitHub Actions
|
||||
- Run on release builds
|
||||
- Block release on critical failures
|
||||
- Upload results as artifacts
|
||||
6. Analyze results:
|
||||
- Review screenshots from all devices
|
||||
- Watch test videos for failures
|
||||
- Check performance metrics
|
||||
- Document device-specific issues
|
||||
7. Fix issues:
|
||||
- Address failures on specific devices
|
||||
- Fix OEM-specific bugs
|
||||
- Optimize for low-end devices
|
||||
|
||||
tests:
|
||||
- Device: All selected devices pass tests
|
||||
- Regression: No new failures compared to previous run
|
||||
- Performance: App responsive on all devices
|
||||
|
||||
acceptance_criteria:
|
||||
- Firebase Test Lab project configured
|
||||
- Test matrix with 5+ different devices
|
||||
- Robo tests running on each release build
|
||||
- Instrumentation tests running on device matrix
|
||||
- CI integration for automated execution
|
||||
- Test results archived
|
||||
- Screenshots and videos from all test runs
|
||||
- Device-specific issues identified and fixed
|
||||
- No crashes on any tested device
|
||||
- Performance acceptable on low-end device
|
||||
|
||||
validation:
|
||||
- Run tests via gcloud → all devices complete
|
||||
- Review results → screenshots show correct UI
|
||||
- Watch videos → no ANRs or crashes
|
||||
- Check performance metrics → within budget
|
||||
- CI pipeline → Test Lab results green
|
||||
|
||||
notes:
|
||||
- Firebase Test Lab is free for first 100 device-minutes/day (physical)
|
||||
- Robo tests are great for exploratory testing without writing tests
|
||||
- Physical devices are more reliable than virtual devices
|
||||
- Test on low-end devices to catch performance issues
|
||||
Reference in New Issue
Block a user