89 lines
2.8 KiB
Markdown
89 lines
2.8 KiB
Markdown
# 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
|