Skip to content
UdemySoftware TestingPaid courseAll LevelsCertificate

Test Driven Development in iOS Using Swift (Udemy.com)

Covers: Unit Tests, UI Tests, Mocking, Code Coverage and End to End Testing

Created by: Mohammad Azam

Last updated December 2023

icon
What you will learn

  • Learn the benefits and the reasoning behind writing tests
  • Implementing unit tests for the core domain model
  • Writing tests for the user interface
  • Understanding mocking and benefits of mocking
  • Implementing domain driven design

icon
Course Description

As a software developer you must always aspire to write quality code. You must also make sure that any future code you write does not break existing features. Test Driven Development provides you with a great way to implement software. It provides a safety net, which allows you to make changes with confidence. In this course, you will learn how to apply the principles of test driven development in iOS using Swift language.


Let’s check out the contents of the course:


  1. Understanding Test Driven Development

In this section you will learn about the concepts behind Test Driven Development. You will learn why testing is important, when to write unit tests and even misconceptions behind testing in software development.


  1. Types of Testing

In this section you will learn about types of testing. You will learn the differences between unit testing, user interface testing, integration testing, acceptance testing and performance testing.


  1. Writing Your First Unit Test

In this section you will learn how to write your first unit test. We will implement a simple Tip Calculator and write your code using the principles of test driven development. You will learn how using test driven development allows you to architect your app.


  1. Writing UI Tests

In this section you will learn how to write user interface tests. You will learn how to automate your user interface and perform actions on the elements on the screen. You will also learn how to use the PageObject pattern to reuse elements from the screen.


  1. Mocking

In this section you will learn the concept of mocking. You will learn how to create a mocked version of the login service, which will allow the user to continue with their tests without having a dependency on a real login service and network connection.


  1. End to End Testing

In this section you will learn how to perform end to end integration testing. You will learn how to invoke a real network service and make sure that all components of the app are working correctly together.


  1. Project Time - Quiz App

Finally, you are going to put all your skills to test by implementing a Quiz App in SwiftUI using the principles of test driven development. You will start by testing the core domain and then move on to write user interface tests.


Who is this course for?

  • Developers interested in learning about writing great software based on the principles of test driven development.

  • Developers interested in learning about the application domain using unit tests.

  • Developers who want to educate themselves on how to architect an application using test driven development.

  • Developers who want to take their skills to the next level


I had so much fun in creating this course and I really hope you enjoy it too.

Thanks and let’s start coding!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Mohammad Azam

Mohammad Azam is a seasoned iOS developer, educator, and speaker with over a decade of experience building mobile applications and mentoring developers. He is the founder of AzamSharp School, a learning platform offering 150+ hours of iOS development content and live workshops that have helped thousands of students level up their skills. As an instructor at DigitalCrafts and a top-rated Udemy and LinkedIn Learning teacher, Azam has taught more than 80,000 students worldwide. He frequently speaks at developer conferences, sharing insights on SwiftUI, app architecture, and machine learning in iOS. His teaching is known for being practical, clear, and deeply rooted in real-world development.

icon
More courses by Mohammad Azam

$69.99

$13.99

$13.99

$69.99

$69.99

$79.99

icon
More Software Testing courses

$59.99

$84.99

$10.99

$10.99

$13.99

$149.99

icon
Reviews

4.6

786 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Niyati Dobariya on 2/27/2025

If you are beginner for TDD concept, this course is best way to start. I really liked on point explanation. Only one this which is not good, that course is not up to date with latest Xcode and Swift version. Test cases that he writes does not pass when we write with our latest xcode and swift. So it would be nice that gets updated.

By Pete Lund on 3/24/2024

Very good course. Good discussions and examples of TDD, and also good examples of creating automated UI. Only suggestion I have would be to find a way to implement mocks without adding them to the main line source.

By Eric Chandonnet on 8/29/2023

Azam is to the point and I love it. His choice of subject is also great. I needed a quick learning of unit testing and TDD and this course saved my butt.

By Marc Cruz on 8/28/2023

It's a good intro course on TDD. There were some issues with the code in the lectures, but that lent itself with troubleshooting and fixing things, which is par for the course (pun intended).

By Nicola Silva Domingues on 4/28/2023

Great course to get a general overview of TDD, with simple practical examples. Would be nice to have some UITests using UIKit and more complex examples. This course is a nice entry point to introduce you at TDD.

By Wahid Maruf on 11/1/2022

This is the best tutorial I found for iOS Unit Tests and UI Tests. I learned a lot from this course which helped me to prepare for interview.

By Gang Li on 10/13/2022

It's extremely good. The rhythm is perfect for me. The most important thing is, I'm a Chinese, I can hear your english clearly. Thank you for your awesome lesson

By Rodrigo Adelino Candido on 9/28/2022

TDD is a whole topic for itself. There is lot to do before saying that you know TDD. However this course really helps to start with. PROS - Really good introduction to TDD. You will learn base concepts. CONS - Too much UI test, should equilibrate a between both UI and Unit. Also there is a lack of explanation about the tool itself. Good to start with!

By Anonymized User on 2/22/2022

I liked the approach this course had and it showed me a nice way of thinking how to write my tests though I believe the naming conventions are bit overboard.

By Shrikant Kotakalure on 2/13/2022

Good, I have learned something new. I think i have not wasted money after completing this course. Once again thanks. One suggestion should have one course for in detail for Closure from beganing to Advanced level

Showing all 10 reviews on CourseDuck

Read all 786 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100