Use Unit Tests to Gain New Power Over iOS Code
Trying to be agile without the technical agile practices leads to frustration. Learn how to build maintainable iOS test code and production code. Then you can “respond to change,” because your code won’t fight you.
Subscribe to our newsletter on Quality Coding techniques for iOS developers. You’ll receive free code snippets that will help you write unit tests more quickly.

Quality Coding is about technical agile practices for iOS developers. While the practices are language-agnostic, three of them can be elusive until you see them come alive with the iOS frameworks you use:
Unit Testing
A robust suite of unit tests acts as a safety harness, giving you courage to make bold changes. But there’s an art to making tests that give you useful information, while keeping the tests themselves readable & maintainable.
TDD
Writing unit tests after production code is hard. And such tests may only confirm your biases. Test-driven development (TDD) shapes production code in response to tests, in an evolutionary process. It’s about working with continuous feedback.
Refactoring
Widely misunderstood by developers, “refactoring” isn’t rewriting. Disciplined refactoring is changing the design of your code in small, verified steps. In this way, design can be discovered. Listen to the code, it’ll guide you.
Learn more here: The Quality Coding Manifesto
iOS Unit Testing: The Definitive Guide
My book iOS Unit Testing by Example: XCTest Tips and Techniques Using Swift is the definitive guide to unit testing iOS apps. It covers foundational tools and skills, testing specific behaviors of iOS apps, and how to use the fast feedback from your tests.
Senior iOS Engineer
Finished reading Jon Reid’s iOS Unit Testing by Example, a wonderfully clear and no-frills demonstration of testing practices. This book should be considered table stakes for iOS developers. ⭐️⭐️⭐️⭐️⭐️

About Jon Reid.
Jon Reid is the author of iOS Unit Testing by Example and is a leading expert in unit testing and test-driven development (TDD) for iOS. He has been practicing TDD on Apple platforms for 23 years. His consultancy Quality Coding offers training for iOS teams in technical agile practices including unit testing, TDD, and refactoring.
Jon Reid's workshop on Test Driven Development, taught through ensemble programming, is still the best educational session I have ever participated in.
Here are his recorded conference talks. Learn more about Jon here.
They Say
VP Engineering
I saw Jon speak at Code Camp. Between the content and the presentation style, I realized I'd discovered my second TDD thought leader—that the content was perfect for engineering leaders.

iOS Staff Engineer
Writing unit tests isn’t valuable. Writing good unit tests is invaluable.
I cannot recommended Jon’s streams, YouTube channel, and website highly enough. He’s taught me so much about the subject, sometimes people think I know what I’m doing.
iOS Developer
Before working with Jon, I had a lot of the right ideas about “good” software programming practices, but a lot of it was theoretical and academic. Confidence to do TDD, as well as the best strategies for testing, were not my forte. In hindsight, I now see that my major challenge was trying to bite off too much at once.
The benefits from working with Jon have been tremendous, and I would say life-changing. Jon essentially made me a more empathetic, intentional, disciplined, and knowledgeable developer. I am better equipped to produce cleaner, maintainable, and scalable software.

Boost Your Skills. Join Today.
It's time for you to acquire unit testing superpowers. Download our free test-oriented code snippets to get started today:
Headshot by Rob Sirota Photography
