Source code inspections and end-to-end reviews are the main manual testing methods. Since these two methods have much in common, they are considered simultaneously here.
Inspections and end-to-end scans include reading or visual testing of the program, performed by a group of individuals. Weinberg’s ideas underlie these methods. Both methods involve some preparatory work. The final stage is an “exchange of views” – a meeting held by the audit participants. The purpose of such a meeting is to detect errors, but not to fix them (i.e., testing, not debugging).
Nowadays, inspections and end-to-end reviews /scans are widely practiced throughout the world, but the causes of their success are still not sufficiently elucidated. Note that this process is performed by a group of individuals (optimally three or four people), and only one of them is the author of the program. Therefore, on the point of fact, the program is not tested by the author, but by other people who follow сertain principles that are usually ineffective when testing their own program. Independent quality testing services are nicely priced so that to suit every budget. Moreover, their providers are highly experienced specialists that are famous for finding an individual approach to each client.
Actually, “inspection” and “end-to-end review” are simply new names for the old method of “desk checking” (namely, the programmer looks through his program before subjecting it to testing), but they are much more effective again for the same reason: the process requires participation not only the author of the program, but also other persons. As a result, these methods usually help to precisely identify the nature of the errors. In addition, using these methods, groups of errors are detected, which makes it possible to simultaneously fix several errors at a later stage. On the other hand, with computer-based testing only symptoms of errors are usually detected (for example, the program continues to run or prints a meaningless result), and they themselves are determined one by one.
Previously, more than two decades ago, extensive experiments were conducted concerning the application of these methods, which showed that they could find 30-70% of logical design and coding errors in typical programs. (However, these methods are not effective in determining high-level design errors, for example, made during the analysis of requirements.) Thus, it was experimentally established that inspections and end-to-end inspections are successful in finding an average of 38% of the total number of errors in curricula.