TDD for iOS Workshop

Test-Driven Development (TDD) is one of the core agile programming practices. Yet few companies practice it, and fewer still apply it to Apple platforms.

Like riding a bicycle, TDD isn’t something you can learn from just reading a book. In this workshop, we’ll learn by doing! If you’re a programmer with basic familiarity of the Swift programming language and iOS development, you’re ready. Your trainer will be Jon Reid of Quality Coding. Jon has been practicing TDD on Apple platforms for 17 years.

Click to email for pricing / scheduling

Jon Reid teaching TDD in Italy

Jon Reid teaching TDD in Italy. Photo courtesy of #Pragma Conference.

 

Team is testing away and I'm happy to report that 2 issues have already been caught BEFORE going to Production as a result of pipeline automation and a lot more attention to writing and maintaining good tests. Already paying off!

A happy engineering manager

Jon did a fantastic job covering the various topics and techniques on unit testing, TDD, and even pairing/mobbing specifically on the iOS platform. I love how the workshop was very hands-on and collaborative. After the workshop, the entire team came away energized and ready to apply all the learnings to our day-to-day work. I would highly recommend this workshop if your team is looking to learn more about TDD in iOS.

profile-pic
Egencia, an Expedia Inc. Company

Anyone who cares about unit testing for iOS would benefit from this workshop. It's a great way to get through the hard part of writing the first few tests and starting to think about writing tests first.

profile-pic
E-gineering, LLC
 

Workshop details

Duration: 2 days
Capacity: Up to 20 people
Location: Client site
Course content:

  • Why do TDD?
  • Recommended tools
  • The Three Steps: Red, Green, Refactor
  • The Three Laws: Growing test code and production code in parallel
  • Writing focused, readable tests

  • Evolving a solution that meet your needs
  • Refactoring tips
  • How to TDD view controllers, alerts, navigation, table views
  • Test doubles (stubs, mocks, fakes)
  • Strategies for introducing TDD to your team

 

Before this workshop, I was concerned that TDD required a lot of extra code and time. But I learned a lot of tips and tricks while gaining confidence and the desire to write better code. I learned that a lot of UI code can be tested in unit tests, which is much faster that in UI tests. I loved Jon's enthusiasm for the topic, and his kindness! I recommend this workshop to any developer that is serious about quality of code and having confidence in the code that they write.

profile-pic
Nick Kohrn
iOS Developer

My experience with refactoring in the past had been more like: tear everything out, refactor it, pray that everything works and all of the logic was maintained between the refactors. TDD and having unit tests to lean on was a night-and-day difference in refactoring. There was no fear or uncertainty, just refactoring and running tests. It was brilliant! I also found it very insightful we were able to test many different UIKit elements using unit tests. That is super powerful, because unit tests are much faster, more reliable, and cheaper/easier to implement than UI tests.

profile-pic
Ben Patch
iOS Developer

I was very interested in doing TDD but didn't really have a good idea about how to do it in practice. It turns out, it's not as hard as I had built it up in my head to be. It was really helpful to go through examples of things that we would actually do. I recommend this workshop to anyone who wants to understand how to do TDD in iOS. Jon Reid teaches with energy, thoughtfulness and passion.

profile-pic
Miles Wright
Independent Software Consultant

I benefited from immersion learning and mob programming with *the* TDD expert, with advice and guidance based on real-world experience. I knew TDD was "a good thing" but it seemed just that little bit too hard to start doing it. I learned exactly what it means to write just enough code to make the test pass. I recommend this workshop to developers who are grappling with the usual questions about unit testing — how much is enough? what to test? how to test this hard-to-test thing? — and want to develop high-quality code when they add the next feature or develop their next app.

profile-pic
Audrey Tam
Educator
 
Click to email for pricing / scheduling
>