Get in Touch

Course Outline

Review: Prerequisites

Intro to TDD

  • Core concepts and schools of thought in TDD
  • Implementation of the red-green-refactor cycle
  • Initial practical examples

TDD FTW!

  • Applying TDD across all levels of development
  • Testing exceptions and errors

The Implications of the Architecture

  • Architectural concepts that facilitate verifiable code
  • Unit testing MVVM architecture

Advanced Tests: Testing the Views

  • Identifying verifiable aspects of views for unit testing
  • Executing individual view controllers from storyboards

Advanced Tests: UI/Integration Testing

  • Unit testing asynchronous tasks
  • Mocking network requests
  • Unit testing Swift Package Manager artifacts in iOS.
  • Smoke Testing

Suggested Additional Contents

  • Alternative testing and/or assertion frameworks (Quick, Nimble, …)
  • Behavior Driven Development (BDD) and associated frameworks
  • Test && commit || revert strategies
  • Integration Tests
  • Acceptance Tests
  • Advanced Code Coverage metrics

Summary and Conclusion

Requirements

Prerequisites

Participants are expected to possess knowledge or working experience in:

Introduction to Unit Tests

  • Return-based testing
  • State-based testing
  • Behavior-based testing

Improving Tests

  • Restructuring test code for better maintainability
  • Reusing test fixtures
  • Reusing helper methods

Introduction to Test Doubles

  • Definitions and distinctions between dummies, stubs, spies, mocks, and fakes
  • Implementing tests using doubles

Advanced Test Doubles

  • Enhancing mock capabilities (Swift)

Audience

This course is designed for iOS mobile app developers aiming to enhance their product development processes. Attendees should have at least 6 months of iOS development experience (1 year preferred) and should be proficient in Swift, object-oriented programming, and design patterns.

 14 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories