In this chapter, you took a look at how tests guide toward the final steps to create the complete app. You used tests to drive the implementation of the navigation between the view controllers of the app. You also implemented the serialization and deserialization of the to-do items.
Finally, you used functional tests to make sure that the app worked from the user perspective, and you found a critical bug by doing so.
In the next chapter, you will take a look at the code coverage of your tests. This means that you will get a better insight into how much of the code is covered by tests. You will also set up continuous integration in order to improve the feedback about your code.