Discover the secret to submitting your apps in seconds not days
- Business fortunes are dependant upon increasingly complex software so we need to we get our apps right early, and keep them working as intended.
- Testing should be an integral part of iOS software development - not left to the end!
- As developers we should be able to answer the question “can we submit yet?” in seconds, not days.
Testing is an essential part of the Agile software development process (rather than being seen as a separate discipline, testing should be ‘built in’). In many iOS projects however we still see testing happen at the end of build. This causes delays and confusion; it’s just not optimal for delivering quality software.
In recent years the tools supporting testing on iOS have evolved to become some of the best in the industry. In this two day hands-on workshop you will learn the best practices and principles enabling you to use these tools to great effect building testing into your iOS development from the outset.
The course provides an essential foundation for the modern iOS Developer to craft iOS apps that are high quality, regression & bug free as-well as a pleasure to code and work with.
Learn How To:
- Answer the question “can we submit?” in seconds not days.
- Write maintainable tests that help you build Apps that get better not worse.
- What to test and (just as importantly) not what not to test in iOS.
- Understand different considerations when testing Obj-C v Swift code.
- Use tests to improve and change existing legacy code.
- Spot and avoid common testing anti-patterns
- Understand acceptance testing and the role it plays in Agile software development
- Use Acceptance tests to help drive more efficient development.
- Work with FitNesse (an open source Wiki and acceptance testing framework)
- Automate tests using continuous integration and Xcode bots
- Apply effectively Unit Tests, Acceptance Tests and UI Tests on iOS
TDD and XCTest
An introduction to TDD and the XCTest framework
Understanding Mocks, Stubs and Fakes
Considerations for testing in Swift v Obj-C
Code Coverage reporting with Xcode and Xcode Bots
Testing Best Practices
Fundamental principles of writing testable code
Refactoring legacy code through tests
Writing defect driven tests
An introduction to the role of acceptance testing in Agile software development
Acceptance testing on iOS using FitNesse (an open source Wiki and acceptance testing framework)
Working with distributed Acceptance tests within a team
An introduction to Clean Architecture to facilitate simpler, easier tests.
User Interface Testing and Automation
- An introduction to User Interface testing with UIAutomation and XCTest
Test coverage reporting and automation of tests with Xcode Bots
For developers of all abilities who are interested in furthering their skills with an improved understanding of best practices in TDD, BDD and Automation testing on iOS.