|Title||Applying code inspection to spreadsheet testing|
|Authors||Raymond R. Panko|
|Publication||Journal of Management Information Systems|
|Series||Volume 16, Number 2, Fall, pages 159-176|
In programming, reliability requires an extensive testing phase. Spreadsheet development, which has about the error rate as program development, also needs to be followed by an extensive testing phase if spreadsheets are to be reliable.
In this study, 60 undergraduate MIS students code–inspected a spreadsheet seeded with eight errors. They first inspected the spreadsheet working alone. They then met in groups of three to reinspect the spreadsheet together. Efforts were made to prevent hasty inspection.
Individual code inspection, consistent with past studies of both spreadsheet and program code inspection, caught only 63% of the errors. Group inspection raised this to 83%. However, the group phase never found new errors; it merely pooled the errors found during the individual phase by the three members.
One group even "lost" an error found during the individual phase. This raises the question of whether a group code inspection phase is really necessary.
Other findings were that subjects were overconfident when inspecting alone, that certain types of errors are especially difficult to detect, and that the benefits of the group phase is greatest for these difficult-to-detect types of errors.
Did teamwork help? The short answer is that it did. During the group phase, teams of three found 83% of all errors, while individuals working alone only found 63% percent. This is a 31% improvement.
More importantly, the group phase was particularly effective at finding errors that individuals found difficult to detect, including omission errors and errors in longer formulas. For such detection-resistant errors, we found improvements of 50% to 83% for group inspection compared to individuals working alone.