The Testing Perspective
Good testerspeople who are responsible for testing softwareneed a special set of skills. In many ways, being a good tester is harder than being a good developer because testing requires not only a very good understanding of the development process and its products, but it also demands an ability to anticipate likely faults and errors. As a simple example, consider how a developer might need to find an algorithm to bounce an image around in a rectangular area of a computer screen. A tester must be able to anticipate likely errors and faults a developer might make and then develop effective ways to detect failures resulting from likely bugs. For example, a tester might want to test that the image hitting exactly in the corner of the rectangle doesn't move completely out of it. The tester has a tough job.
A tester must approach software with an attitude that questions everything about that software. We refer to that approach as the testing perspective. It is the subject of Chapter 2. To be effective, a tester must adopt that perspective. The techniques and processes described in this book have been developed and are presented from the testing perspective.