UI tests
We have written one UI test in Chapter 6, Putting It All Together, to implement a functional test for the input of new to-do items. But the other features of the UI aren't tested yet. Unit tests can test whether an element is on the screen, but doing this is cumbersome. It is much easer to use the new UI tests that were introduced in Xcode 7.
As you might have already noticed, UI tests are slow. They need to start the app and wait until the UI is loaded before they can interact with it. In addition to this, the app is closed and reopened after each test to make sure that each tests starts with a defined state. As a result, you should not test each UI element in isolation. You'd rather write tests for a complete function of the app (for example, adding a to-do item to the list).
In the case of the ToDo app implemented in this book, a useful UI test would test whether a to-do item can be checked in the list and if a user can show the details of a to-do item. Go ahead; add the tests...