I think it was interesting how the author exposed the programmer's typical lack of enjoying testing by connecting it with an admission of failure, by developers. I never thought about how an individual's ego might play into what types of positions they might prefer in the development process.
There is a distinct difference between testing and debugging that I have just now clarified upon completing this reading. Testing is the act of identifying bugs. Debugging is the act of finding solutions to these bugs.
When discussing the builder VS the buyer of software products, I thought it would be even more beneficial to have them come from the same company. To me, this provides integrity and accountability, because the builders know that there is an error, the buyers will have direct contact to ask them about an error or mistake that occurred. The author seems to think that having the builder and buyer from the same company clouds the accountability heavily because the motivation for quality standards disappear.
Chapter 8 that is based on testing brought up the topic of inspections. Software inspections are different than testing because they check system requirements, source code, design models, and system tests. Some of the advantages of inspections are revealing errors that testing can mask, the ability to inspect incomplete versions of a system at no additional cost (because no specialized tests need to be developed), and a thorough check of the overall quality attributes involving inefficiencies and poor programming styles, for example.
It showed the value of inspections is so valuable to the process of testing. My question is why is there not an entire section dedicated to it in the fundamental ideas of software engineering? The fundamental ideas are the software development process, software dependability, requirements engineering, and software reuse. The software development process is comprised of specification, development/ design, validation (including testing), and evolution.
I understand that inspections are only powerful when used before testing as they are not good at discovering defects that happen between a variety of parts to the main program. Inspections are also an additional cost and time consuming, but if they help with expediting testing why would a company not want to include inspections in their process?
Comentários