Wow, there is an incredible amount of software testing material in this chapter. Again, I like the focus on real data about the effectiveness of various practices. The productivity and error rates quoted in this chapter are in line with what I have experienced.
Some miscellaneous thoughts: I really doubt that most unit tests are as thorough as the data-flow example. I would like to try writing test cases first sometime (Test Driven Development); it makes so much sense on paper. There is, unfortunately, little mention of the unique issues in testing the security aspects of code, where the focus is on testing for this things that the code does that are not expected. I would have liked some coverage of static analysis tools too.
I wish this book had more information and code examples for Test Scaffolding. I found “Mock Objects” article published by IEEE Software and referenced at the end of the chapter which made the whole discussion clear. I liked every idea in Errors In Testing Itself. For me building test classes during construction sounds like a great idea – at least it guarantees that tests will be ran. Otherwise there is almost no chance I could afford spending time doing something like that later.
I liked the metrics and classifications presented in this chapter, but I was thinking "how is that useful info for me?". Then I read the section that shows where bug types happen most, and that can be used to target testing types to those development life cycle areas. It's nice to have these metrics and classifications for that purpose.
Some miscellaneous thoughts: I really doubt that most unit tests are as thorough as the data-flow example. I would like to try writing test cases first sometime (Test Driven Development); it makes so much sense on paper. There is, unfortunately, little mention of the unique issues in testing the security aspects of code, where the focus is on testing for this things that the code does that are not expected. I would have liked some coverage of static analysis tools too.