Testing seems to be a highly neglected topic when it comes to mobile development. While most other software development professions are not relying on pure manual testing, there are a lot of mobile development teams that have not made unit testing a regular practice. And yes: It takes time, effort and some thinking ahead to write meaningful tests. But there is no doubt, it is worth it.


Luckily the general consensus seems to be that everyone wants to write tests (which makes my job a lot easier). In my experience teams mostly decide against a robust testing strategy as “they have no time”, “QA will make sure everything works” or “manual testing is enough”. All of those are valid concerns but will most likely backfire in large scale applications. Writing tests of course is not a silver bullet against bugs and malfunctions but takes a very important role in the successful development and implementation of software applications.


This series is meant to cover mostly everything regarding testing in swift (especially iOS development). From the basic tools that apple provides us, advanced techniques, over test environments to metrics and performance.


Overview

As I have not completely sketched everything out the list of covered topic is likely to change but should keep more or less the initial tone.


  1. The basics

    Everything around the basic tooling apple provides

  2. Advanced testing mechanics

    Things like testing asynchronous processes, SwiftUI, Snapshot testing, structuring code to make it testable

  3. UI Testing

    Testing using XCUIApplications

  4. Testing environment

    What Xcode has to offer to integrate testing into projects

  5. Testing metrics

    Code coverage and performance

  6. CI/CD
  7. Advanced Topics

    Flaky tests and how to avoid them, mocking, robot testing



I really hope this series is going to help someone. See you next time 💙