Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React CSS Angular Node.Js PHP HTML5 Typescript
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA CompTIA Security+ Microsoft AZ-900
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Business Intelligence MySQL Qlik Sense Data Analysis
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Mobile Game Development
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin Mobile App Development SwiftUI
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting Canva InDesign Character Design Procreate Digital Illustration App
Life Coach Training Personal Development Neuro-Linguistic Programming Personal Transformation Life Purpose Mindfulness Sound Therapy Coaching CBT Cognitive Behavioral Therapy
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Startup Business Plan Online Business Blogging Leadership
Digital Marketing Social Media Marketing Marketing Strategy Google Analytics Internet Marketing Copywriting Email Marketing Startup YouTube Marketing

DevelopmentMobile DevelopmentUnit Testing

Test Driven Development in iOS Using Swift

Covers: Unit Tests, UI Tests, Mocking, Code Coverage and End to End Testing
Rating: 4.5 out of 54.5 (150 ratings)
1,381 students
Created by Mohammad Azam
Last updated 5/2022
English
English [Auto]

What you'll 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

Requirements

  • Intermediate knowledge of Swift language is recommended
  • Knowledge of SwiftUI framework is recommended
  • Xcode 13.X or above
  • Familiarity with the MVVM Design Pattern

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!

Who this course is for:

  • Developers interested in learning about writing tests
  • Developers who wants to implement unit tests for the core domain model
  • Developers who wants to learn how to write user interface tests
  • Developers who wants to learn how mocking works and benefits of mocking

Instructor

Mohammad Azam
Apple Featured iOS Developer and iOS Instructor
Mohammad Azam
  • 4.6 Instructor Rating
  • 11,218 Reviews
  • 66,636 Students
  • 40 Courses

My name is Mohammad Azam and I have been programming in iOS for the last 10+ years. Currently, I am teaching Full Stack Development at DigitalCrafts. Before joining DigitalCrafts I worked as a lead mobile developer for many large companies including Schlumberger, Baker Hughes, AIG and Valic. Currently, I am a senior developer at Blinds Dot Com, a Home Depot company. Before iPhone development I was leading projects in Microsoft ASP technology. I was also awarded the Microsoft MVP award five years in a row due to my contributions in the community.

I have also published several of my personal apps to the App Store including Vegetable Tree which was featured by Apple as the most beautiful gardening app on the App Store. I am a frequent speaker at local and national conferences and have authored many articles for many different development magazines.

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.