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

Requirements

  • 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.

 

 14 Hours

Testimonials (1)

Related Courses

Tosca: Model-Based Testing for Complex Systems

35 Hours

Test Automation with Galen Framework

14 Hours

TestComplete

21 Hours

Automate Windows Desktop Applications with AutoIt

14 Hours

Robot Framework: Keyword Driven Acceptance Testing

14 Hours

Agile Software Testing Overview

7 Hours

Test Driven Development

21 Hours

Unit Testing with JUnit

21 Hours

Unit Testing with PHPUnit

14 Hours

Unit Testing with Python

21 Hours

Typescript Unit Testing

14 Hours

Unit Testing with C

35 Hours

Unit Testing: MSTest, xUnit, and nUnit

21 Hours

Unit Testing with Javascript

7 Hours

Unit Testing with C#

14 Hours

Related Categories

1