get to prod tasks
This commit is contained in:
88
tasks/ios-production/17-ui-test-expansion.md
Normal file
88
tasks/ios-production/17-ui-test-expansion.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# 17. UI Test Suite Expansion
|
||||
|
||||
meta:
|
||||
id: ios-production-17
|
||||
feature: ios-production
|
||||
priority: P1
|
||||
depends_on: []
|
||||
tags: [testing, ui-tests, quality]
|
||||
|
||||
objective:
|
||||
- Expand UI test coverage to include all critical user journeys across the iOS app
|
||||
|
||||
deliverables:
|
||||
- UI tests for auth flows
|
||||
- UI tests for dashboard and services
|
||||
- UI tests for settings
|
||||
- Accessibility testing integration
|
||||
|
||||
steps:
|
||||
1. Audit existing UI tests:
|
||||
- Review iOS/KordantUITests/KordantUITests.swift
|
||||
- Identify gaps in coverage
|
||||
- Plan test scenarios
|
||||
2. Create auth flow tests:
|
||||
- Launch app → onboarding screen visible
|
||||
- Sign up with valid credentials → dashboard
|
||||
- Login with valid credentials → dashboard
|
||||
- Login with invalid credentials → error shown
|
||||
- Forgot password flow → confirmation shown
|
||||
- Biometric prompt → enable/skip options
|
||||
3. Create dashboard tests:
|
||||
- Dashboard loads with widgets
|
||||
- Pull to refresh updates data
|
||||
- Tap alert → detail view opens
|
||||
- Threat score updates correctly
|
||||
4. Create service tests:
|
||||
- Navigate to DarkWatch → watchlist loads
|
||||
- Add watchlist item → appears in list
|
||||
- Navigate to VoicePrint → enrollment screen
|
||||
- Navigate to SpamShield → rules list
|
||||
- Navigate to HomeTitle → property list
|
||||
- Navigate to RemoveBrokers → listings shown
|
||||
5. Create settings tests:
|
||||
- Open settings → all options visible
|
||||
- Toggle notifications → preference updated
|
||||
- Update profile → changes saved
|
||||
- Logout → returns to login screen
|
||||
6. Add accessibility tests:
|
||||
- Verify VoiceOver labels on all elements
|
||||
- Test dynamic type support
|
||||
- Test color contrast
|
||||
7. Configure test data:
|
||||
- Mock API responses for consistent tests
|
||||
- Reset app state between tests
|
||||
- Use test account credentials
|
||||
8. Add CI integration:
|
||||
- Run UI tests on pull requests
|
||||
- Test on multiple simulators (iPhone SE, 14, 15 Pro Max)
|
||||
- Upload test results and screenshots
|
||||
|
||||
tests:
|
||||
- UI: All critical paths covered
|
||||
- Accessibility: VoiceOver tests passing
|
||||
- CI: Tests run automatically on PR
|
||||
|
||||
acceptance_criteria:
|
||||
- 20+ UI test cases covering critical flows
|
||||
- Auth flow fully tested (signup, login, forgot password)
|
||||
- All 5 services have UI tests
|
||||
- Settings and profile tested
|
||||
- Tests run on iPhone SE, 14, and 15 Pro Max simulators
|
||||
- Tests complete in <5 minutes
|
||||
- Screenshots captured on failure
|
||||
- Accessibility labels verified
|
||||
- Mock API used for consistent test data
|
||||
- CI runs UI tests on every PR
|
||||
|
||||
validation:
|
||||
- Run UI tests → all pass
|
||||
- Introduce UI bug → test fails
|
||||
- Check test report → screenshots for all tests
|
||||
- CI pipeline → UI tests green
|
||||
|
||||
notes:
|
||||
- Use XCTest framework for UI tests
|
||||
- Mock network layer for consistent, fast tests
|
||||
- Tests should be independent (no shared state)
|
||||
- Consider using Accessibility IDs for reliable element finding
|
||||
Reference in New Issue
Block a user