Layers of testing in iOS applications
summary
Allegro’s iOS stack supports ~500k monthly users and uses SwiftLint and SwiftFormat with per-module rules and cyclomatic limits (warn >7, build-fail >10). Teams run manual mutation testing for tricky unit tests and keep ~7,000 tests (30% snapshots) using iOSSnapshotTestCase; snapshots consume ~75% of test time so tests run only for changed modules. Nightly KIF end-to-end tests use recorded JSON mocks with schema validation; mocked runs are ~70% less flaky. Deployment uses Bamboo + fastlane, Fabric/TestFlight and phased rollouts.
AI-written summary · about
chapters (9)
- 0:00Introduction and overview
- 1:28Static analysis with SwiftLint
- 8:36Mutation testing for unit tests
- 13:51Snapshot testing for UI views
- 19:51End-to-end UI tests with mocked API
- 26:34Dogfooding and phased releases
- 32:12A/B testing for decision making
- 35:46Usability testing with real users
- 37:17Q&A session
related talks
34miOS Testing on Scale
30mScale-up iOS Automated UI Tests
23mUI Testing for Fun and Profit
28mAdvanced Techniques in iOS UI Testing
43mArchitecture of automated UI tests on iOS
27mTESTING makes you a BETTER DEVELOPER
55mAutomated Testing in an iOS Project: The ICQ Case
44mRock-Solid UI and Instrumentation Testing
