A realistic proposition--that the knowledge gained and applied in software engineering is of low maturity--begins this chapter. Motivated by the side effects of such intuitive acting, the chapter analyzes the maturity level of knowledge about testing techniques, by examining existing empirical studies.
Section 2 introduces the chosen approach: that of classifying existing testing techniques. Sections 3 through 7 focus on each of the study categories described in section 2. Finally, section 8 outlines some practical recommendations that might be derived from these studies, together with their maturity level. The structure allows chapter 8 to be read independently, by those more interested in practical results.
The method chosen classifies testing techniques into families. The empirical studies reviewed are grouped into intra-family and inter-family studies. This is consistently applied for functional, data flow, control flow, random, and mutation testing techniques, which is a good methodological approach.
Based on existing knowledge, the chapter uses empirical studies of various testing techniques, and provides extensive information on these. Throughout the entire, very well-written text, helpful and concise tables guide the reader.
My questions about this chapter are based on the validity, informality, and usefulness of the sources it relies on; it’s not clear that the authors’ intention to extract empirically validated knowledge on testing techniques can be realized.
The chapter concludes with a section on future intentions, including a comparative study of the effectiveness of testing techniques, and an examination of the differences among programs for which testing techniques are applied.