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.
Testimonials (6)
The trainer was very knowledgeable and dynamic, keeping engagement and focus of the team during the whole training. I would definitely recommend it as I reckon learnings from this training can be quickly applied to our everyday development workflow.
Inigo
Course - iOS Automation Testing
Many tips, tricks and knowledge about testing and another important software development topics
Juan Navas
Course - iOS Automation Testing
The most interesting part to me is to have some tips on refactoring using tests
Eva Madrazo
Course - iOS Automation Testing
The flexibility of the course and everything that I learned.
Enrique Sureda
Course - iOS Automation Testing
The tips and tricks
Jamie Young
Course - iOS Automation Testing
The instructor tried to make things dynamic, and he demonstrated dominance of the topic.