Skip to content

Instantly share code, notes, and snippets.

@zorn
Last active August 29, 2015 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zorn/53050aba24977cb14124 to your computer and use it in GitHub Desktop.
Save zorn/53050aba24977cb14124 to your computer and use it in GitHub Desktop.

An Introduction to Testing for iOS

Software testing is the process of evaluating software to detect differences between given inputs and expected outputs. Testing helps verify the working condition of software and is typically automated.

Testing on iOS (and other Apple platforms) has historically been behind other technical stacks (most notably web), both at a cultural level and a tools level -- but those times are changing. Over the last few years Apple has been putting more energy into their testing tools and today is a great time to get started with testing.

In this workshop we'll give you all the tools and practical examples you'll need to add meaningful testing to your projects. We'll cover the history and evolution of testing, both inside and outside of Apple. We'll introduce Apple's testing tools that let you verify binary logic, asynchronous code and performance-focused code. We'll even take a look at the new code coverage and UI testing system coming with Swift 2 and iOS 9. With these tools under your control we'll talk about and have practical coding sessions focused on building testable code as well as sturdy tests that last. We'll close with discussions and demos of continuous integration tools; tools and workflows that will help verify your tests are all passing and projects building warning and error free.

Take Aways

  • All slides and demo projects will be downloadable.

Prerequisites

  • Macintosh running OS X 10.10.x and Xcode 6.3.x. Expect to download some projects and update them with new tests and new features. (While we will demo some things that require Xcode 7 this is not a requirement for the attendees.)

  • All code samples will be written in Swift. You don't need to be a Swift expect by any means. If you need to, we can pair you up with an attendee who is more confortable with Swift and you can pair together through the exercizes.

  • We will do handheld introductions to these topics so no previous knowledge is required. However if you take some time to watch the various testing talks of this and previous WWDCs you'll probably be able to ask better questions, so experimenting before the workshop is encouraged.

About the Instructor

Mike Zornek is a long time Apple developer, with a history of Macintosh and iOS programming. Mike helps run Philly CocoaHeads and works as a full time instructor and developer for Big Nerd Ranch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment