Good tests make a concrete claim, control the inputs relevant to that claim, and fail clearly when the behavior is wrong. This guide follows a path from your first unit test to asynchronous work, real adapter boundaries, UI journeys, and useful CI feedback.

The section contains eight articles. Start with the introduction, use FIRST to review test quality, then choose the boundary your next test needs to prove. Unit, integration, and UI tests provide different evidence; none replaces all the others.

Examples identify their Swift and framework requirements. Most use XCTest with a Swift 5.7 baseline. The coverage and CI article introduces Swift Testing from the Swift 6 toolchain after its September 2024 release. Within each article, read the Swift blocks in order unless a block explicitly names a separate app or test target.

Article available Coming soon

1. Foundations

2. Time and Concurrency

3. Real Boundaries and User Journeys

4. Keeping the Suite Useful

Up next

Swift Concurrency

This guide grows with the blog: new articles are linked here as soon as they're published. Missing something? Let me know.

← Back to all roadmaps