Inspections

The inspection process is a major part of the software quality cycle, and it is also one of the most important. It is a recognition that the creation of test scripts or the use of automated testing packages only goes so far in assuring the quality of the code. Computers do not yet possess the levels of reasoning necessary to look at a piece of code and deduce that it is not necessarily producing the result specified by the design document. I guess when that day comes, we’ll all be out of a job.

Inspection is the process whereby the human mind reads, analyzes, and evaluates computer code, assessing the code in its own right instead of running it to see what the outcome is. It is, as the name suggests, a thorough examination of two elements:

Inspection should also ascertain whether the coding style used by the developer violates whatever in-house standards might have been set (while making allowances for personal programming styles).

The value of the software inspection process should not be taken lightly—it’s a very reliable means of eliminating defects in code. As with anything, you should start the process by inspecting your own code and considering what the inspection team is going to be looking for. The sorts of questions that should come up are along these lines: