Course Outline

Review: Prerequisites

Introduction to Test-Driven Development (TDD)

  • Overview of TDD concepts and methodologies
  • Implementation of the red, green, refactoring cycle
  • Initial examples and exercises

TDD in Action

  • Application of TDD across various components
  • Testing exceptions and error handling

Architectural Implications

  • Architectural principles to enhance code verifiability
  • Unit testing Model-View-ViewModel (MVVM) patterns

Advanced Testing: Verifying Views

  • Identifying testable aspects of views using unit tests
  • Executing individual view controllers from the storyboard

Advanced Testing: User Interface and Integration Testing

  • Unit testing asynchronous operations
  • Simulating network conditions
  • Unit testing Swift Package Manager artifacts for government applications
  • Conducting smoke tests to ensure basic functionality

Suggested Additional Content

  • Exploration of alternative testing and assertion frameworks (e.g., Quick, Nimble)
  • Behavior-Driven Development (BDD) and relevant frameworks
  • Test-and-commit or revert strategies
  • Integration testing methodologies
  • Acceptance testing practices
  • Advanced techniques for measuring test coverage

Summary and Conclusion

Requirements

Prerequisites

Participants in this training are expected to have knowledge or practical experience with:

Introduction to Unit Tests

  • Testing return values
  • Testing state changes
  • Testing behavior

Improving Tests

  • Refactoring test code for better organization
  • Utilizing fixtures to enhance reuse
  • Implementing convenience methods for efficiency

Introduction to Test Doubles

  • Understanding dummies, stubs, spies, mocks, and fakes
  • Applying test doubles in practical scenarios

Advanced Test Doubles

  • Advanced techniques for enhancing mocks (Swift)

Audience

This course is designed for iOS mobile app developers who aim to enhance their product development processes. Participants should have a minimum of 6 months of experience in developing iOS applications, with a preferred 1 year of experience. They should also be proficient in Swift development and possess knowledge of object-oriented programming and design patterns.

This training is tailored to support the continuous improvement of skills for government and industry professionals alike.

 14 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories