The Illusion of Testing

When writing code, test first, we focus on the observed behaviour of the code based on states we can put the system in before trying the code out, and the final state of the system or the outputs of the code. We try to avoid implementation details, and we try to make the tests a [ ]