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 are expected to have knowledge of or practical experience with:

Introduction to Unit Tests

  • Testing return values
  • Verifying state changes
  • Ensuring correct behavior

Improving Tests

  • Refactoring test code for better organization
  • Leveraging reusable fixtures
  • Utilizing convenience methods to streamline testing

Introduction to Test Doubles

  • Overview of dummies, stubs, spies, mocks, and fakes
  • Implementing test doubles in code

Advanced Test Doubles

  • Advanced mocking techniques in Swift

Audience

This course is designed for iOS mobile application developers who are looking to enhance their development practices. Participants should have a minimum of six months of experience developing iOS applications, with one year preferred. They should be proficient in Swift development and have a solid understanding of object-oriented programming and design patterns. The content is tailored to support continuous improvement and best practices for government projects.

 14 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories