Chapters 7 and 8 of The Clean Coder are about testing. Chapter 7 is about acceptance testing and chapter 8 is about testing strategies. Acceptance tests are tests that are written by the developers and end users together. The aim of these tests is to agree upon what it means to be done. The author speaks about defining done. The author “Professional developers have a single definition of done: Done means done.Done means all code written, all tests pass, QA and the stakeholders have accepted. Done.” I personally like this attitude. If a development team is not upfront about what it means to be done it can lead to confusion, an incomplete product, or a missed deadline. When a team member says that the task they were working on is done the other members should be able trust that it is done and does not need to looked over by others. This is a common problem in group assignment in school. A project may be broken up in to individual tasks and on person is responsible for putting the final pieces together and submitting. To often the person responsible for the final submission assembles all the pieces only to find out some of those pieces are really not complete, they then frantically work to finish and submit the project.
In chapter the author makes the statement ” QA should find nothing”. I know, as the author also pointed out, this is an asymptote, there is a reason the company has a QA team. That being said, I like the attitude the statement conveys, developers should take pride in their work and aim to produce good, clean code that is as close to error free as possible. A developer should never say “Don’t worry, QA will catch it.”
From the blog CS@WSU – :(){ :|: & };: by rmurphy12blog and used with permission of the author. All other rights reserved by the author.