iOS Automation Testing Training Course
Learning Objectives
- What are Unit Tests and how to write them
- How to simplify the tests and have Clean tests too
- When and how to use Test Doubles
- What is TDD and how to practice it
- How to unit test everything in your app, including the views
- Make the quality of your code something better than a matter of faith!
Format:
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
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.
Open Training Courses require 5+ participants.
iOS Automation Testing Training Course - Booking
iOS Automation Testing Training Course - Enquiry
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.
Libranner Santos
Course - iOS Automation Testing
Upcoming Courses
Related Courses
Agile Software Testing Overview
7 HoursThis course provides a brief introduction to Agile software testing. It deals with foundational test concepts, within the context of Agile (Scrum) development and uses Crispin & Gregory's (More Agile Testing, 2014) Agile Testing Quadrants model as a framework to explore contemporary principles and practices of Agile testing.
Test Driven Development
21 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at intermediate-level software developers and QA engineers who wish to adopt and master TDD principles and practices to improve code quality and development efficiency.
By the end of this training, participants will be able to:
- Understand the principles and workflow of Test-Driven Development (TDD).
- Write effective and maintainable unit tests.
- Utilize mocking frameworks to create comprehensive test scenarios.
- Apply TDD as a design tool to create robust and flexible code.
Automate Windows Desktop Applications with AutoIt
14 HoursIn this instructor-led, live training in Serbia (onsite or remote), participants will learn how to use AutoIt to automate window applications as they step through a series of hands-on live-lab exercises.
Ionic2
14 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at beginner-level to intermediate-level developers who wish to use Ionic 2 to build hybrid mobile applications.
By the end of this training, participants will be able to:
- Understand the fundamentals of Ionic 2 and its architecture.
- Build single-page and multi-page applications using Ionic 2.
- Customize apps with SCSS and third-party integrations.
- Test, deploy, and manage mobile app releases effectively.
Unit Testing with JUnit
21 HoursJUnit is a framework to write repeatable tests and do unit testing for Java language.
Unit Testing with PHPUnit
14 HoursThis instructor-led, live training in Serbia teaches participants how to write testable code in the form of testing units to facilitate the diagnosis, isolation, and resolution of bugs. The training walks participants through the creation of a work-ready, testing environment using the PHPUnit testing framework.
By the end of this training, participants will be able to:
- Distinguish between good and bad testing units.
- Read and interpret test results.
- Proactively manage and diagnose their code base to reduce bugs.
- Ensure that their code base is fit for continuous integration and deployment.
Unit Testing with Python
21 HoursIn this instructor-led, live training in Serbia, participants will learn how to use PyTest to write short, maintainable tests that are elegant, expressive and readable.
By the end of this training, participants will be able to:
- Write readable and maintainable tests without the need for boilerplate code.
- Use the fixture model to write small tests.
- Scale tests up to complex functional testing for applications, packages, and libraries.
- Understand and apply PyTest features such as hooks, assert rewriting and plug-ins.
- Reduce test times by running tests in parallel and across multiple processors.
- Run tests in a continuous integration environment, together with other utilities such as tox, mock, coverage, unittest, doctest and Selenium.
- Use Python to test non-Python applications.
Robot Framework: Keyword Driven Acceptance Testing
14 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at software test engineers who wish to learn how to write a set of test cases and a test suite, then execute the tests on a demo application.
By the end of this training, participants will be able to:
- Use Robot Framework's keyword-driven testing approach and tabular test data syntax to write and execute tests.
- Use consistent syntax to compose new keywords from existing ones.
- Carry out Gherkin-style Behavior Driven Development (BDD) tests (similar to Cucumber).
- Generate and interpret Report and Logs to troubleshoot failures in the tested application.
- Extended Robot Framework's capabilities using third-party libraries written in Python, Java, Perl, Javascript and PHP.
- Integrate Robot Framework with Selenium for testing web applications.
TestComplete
21 HoursIn this instructor-led, live training in Serbia, participants will learn how to use TestComplete's features, including its test object model, check points, name mapping, and UI to carry out automated testing on desktop, web, and mobile applications.
By the end of this training, participants will be able to:
- Create, record and run functional tests.
- Create a scalable and maintainable test framework.
- Create checkpoints, adjust tests for multiple devices and analyze test results.
- Use TestComplete's script extensions.
Tosca: Model-Based Testing for Complex Systems
35 HoursIn this instructor-led, live training in Serbia participants will learn how to use Tosca to carry out end-to-end (web + backend) testing. The training combines theory with practice in a live lab environment, giving participants the chance to interact with the technology, the instructor, and their peers.
The training starts with an overview of traditional code and script-based automation testing and contrasts it with Tosca's model-based (MBT) approach. Participants learn how to create and execute test cases using Tosca's default modules as well as how to custom-build their own modules for execution.
From software modeling principles to test coverage across different browsers, this training walks participants through both theory and practice and enables them to implement their own testing solution in Tosca.
TOSCA Certification Preparation
14 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at intermediate-level software testing professionals who wish to become certified in TOSCA and demonstrate proficiency in test automation using Tricentis Tosca.
By the end of this training, participants will be able to:
- Understand the TOSCA certification structure and requirements.
- Master TOSCA concepts, including test case design, automation, and execution.
- Apply best practices for building reusable and maintainable test cases.
- Prepare for the practical and theoretical components of the TOSCA certification exam.
Typescript Unit Testing
14 HoursTypeScript is an open source language for building enterprise Javascript applications. It is a strict superset of JavaScript that compiles to plain Javascript and brings static typing and object-oriented development to the language.
This instructor-led, live training introduces TypeScript's unit testing features and frameworks. Participants get a chance to put theory to practice by constructing a collection of unit tests that can be run against real-life applications.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- This course will focus on the frameworks that can be used to unit test a Javascript or Typescript application (Jasmine, Mocha, Jest, Chai, etc.).
- UI frameworks such as React are optional and can be covered if desired.
- To request a customized training for this course, please contact us to arrange.
Unit Testing with C
35 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at software testers who wish to use C programming to create unit tests for C code.
By the end of this training, participants will be able to:
- Use unit testing frameworks in C to produce unit tests.
- Script custom C unit tests and add them to a call list.
- Simplify the process of debugging and refactoring code with test-driven development.
Unit Testing: MSTest, xUnit, and nUnit
21 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at software tester who wish to unit test code functionality using MSTest, xUnit, and nUnit.
By the end of this training, participants will be able to:
- Create unit tests using MSTest to test software applications.
- Display test results with CodeLens.
- Understand the different testing tools for Test-Driven Development.
Unit Testing with Javascript
7 HoursIn this instructor-led, live training in Serbia, participants will learn about various JavaScript testing frameworks as they step through the creation of a unit test suite for a web application.
By the end of this training, participants will be able to:
- Write unit tests in JavaScript using unit test frameworks such as QUnit and Jasmine
- Use frameworks such as Mocha and Chai to implement TDD and BDD