Chapter 12. Testing Object-oriented Programs