Course Outline
Review: Prerequisites
Introduction to TDD
- TDD concepts and methodologies
- Implementing the red-green-refactor cycle
- Initial practical examples
TDD Best Practices
- Applying TDD across the entire codebase
- Testing exceptions and error handling
Architectural Implications
- Architectural principles for creating more verifiable code
- Unit testing the MVVM pattern
Advanced Testing: Views
- Identifying testable aspects of views using unit tests
- Executing individual view controllers directly from the storyboard
Advanced Testing: UI/Integration
- Unit testing asynchronous operations
- Mocking network responses
- Unit testing Swift Package Manager artifacts in iOS.
- Smoke testing techniques
Suggested Additional Content
- Alternative testing and assertion frameworks (Quick, Nimble, …)
- Behavior-Driven Development (BDD) and available frameworks
- Test and commit / revert strategies
- Integration Tests
- Acceptance Tests
- Advanced code coverage metrics
Summary and Conclusion
Requirements
Prerequisites
We expect participants to possess knowledge or practical experience with:
Basics of Unit Testing
- Testing return values
- Testing object state
- Testing behavior
Enhancing Test Quality
- Refactoring and reorganizing test code
- Reusing test fixtures
- Reusing helper methods
Introduction to Test Doubles
- Defining dummies, stubs, spies, mocks, and fakes
- Implementing tests using doubles
Advanced Test Doubles
- Enhancing mock capabilities (Swift)
Target Audience
This course is designed for iOS mobile application developers seeking to enhance their development practices. Attendees should have at least 6 months of iOS development experience (1 year preferred) and should be proficient in Swift, object-oriented programming, and familiar with 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.