Chapter 6. Revealing Code Quality
"Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don't improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don't buy a new scale; change your diet. If you want to improve your software, don't test more; develop better."
—Steve McConnell
A poorly developed system generates more bugs than a well-designed system. Manual testing can identify software bugs but cannot improve the quality of the system; however, TDD and JUnit tests are considered as automated unit testing frameworks, and they indeed help in improving the quality of the system. Static code...