Course Code: iosautotest
Duration: 14 hours
Prerequisites:
  • Prerequisites

    We assume that the participants do have knowledge of or working experience with:

    Introduction to Unit Tests

  • Test return
  • Test state
  • Test behavior
  • Improving Tests

  • Reorganization of the test code
  • Reuse of fixtures
  • Reuse of convenience methods
  • Introduction to Test Doubles

  • Explanation of dummies, stubs, spies, mocks, and fakes
  • Implementation of doubles tests
  • Advanced Test Doubles

  • Enhancing mocks (Swift)

Audience

This course is intended for iOS mobile app developers who would like to improve the way they build their products. Attendees should have at the very least 6 months of experience developing iOS applications (1 year preferred) and should be familiar with Swift development, know object-oriented programming and what a design pattern is.

Overview:

Learning Objectives

  • What are Unit Tests and how to write them
  • How to simplify the tests and have Clean tests too
  • When and how to use Test Doubles
  • What is TDD and how to practice it
  • How to unit test everything in your app, including the views
  • Make the quality of your code something better than a matter of faith!

Format:

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
Course Outline:

Day 1

Review:  Prerequisites

Intro to TDD

  • TDD concepts and schools
  • Implementation of the red, green, refactoring sequence
  • First examples

TDD FTW!

  • TDD everywhere
  • Testing exceptions/errors

The Implications of the Architecture

  • Architecture concepts to get a more verifiable code
  • Unit testing MVVM

Day 2

Advanced Tests: Testing the Views

  • Identification of the verifiable aspects of the views with unit tests
  • Running individual view controllers from the storyboard

Advanced Tests: UI/Integration Testing

  • Unit tests of asynchronous tasks
  • Mocking the network
  • iOS Unit testing Swift Package Manager artifacts. (??)
  • Smoke Tests (??)

Suggested Additional Contents

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

Summary and Conclusion

Sites Published:

Qatar - iOS Automation Testing

Ireland - iOS Automation Testing

Nederland - iOS Automation Testing

Malta - iOS Automation Testing

United Kingdom - iOS Automation Testing

Kazakhstan - iOS Automation Testing

Moldova - iOS Automation Testing

Morocco - iOS Automation Testing

Tunisia - iOS Automation Testing

Kuwait - iOS Automation Testing

Oman - iOS Automation Testing

Slovakia - iOS Automation Testing

Kenya - iOS Automation Testing

Nigeria - iOS Automation Testing

Botswana - iOS Automation Testing

Slovenia - iOS Automation Testing

Croatia - iOS Automation Testing

Serbia - iOS Automation Testing

Bhutan - iOS Automation Testing

Nepal - iOS Automation Testing

Uzbekistan - iOS Automation Testing