chapter 19 -- debugging and testing