Introduction to combinatorial testing Combinatorial testing of software analyzes interactions among variables using a very small number of tests. This advanced approach has demonstrated success in providing strong low cost testing in real world situations. Introduction to Combinatorial Testing presents a complete self contained tutorial on advanced combinatorial testing methods for real world software.The book introduces key concepts and procedures of combinatorial testing explains how to use software tools for generating combinatorial tests and shows how this approach can be integrated with existing practice. Detailed explanations and examples clarify how and why to use various techniques. Sections on cost and practical considerations describe tradeoffs and limitations that may impact resources or funding. While the authors introduce some of the theory and mathematics of combinatorial methods readers can use the methods without in depth knowledge of the underlying mathematics.Accessible to undergraduate students and researchers in computer science and engineering this book illustrates the practical application of combinatorial methods in software testing. Giving pointers to freely available tools and offering resources on a supplementary website the book encourages readers to apply these methods in their own testing projects Software testing has always faced a seemingly intractable problem: for real world programs the number of possible input combinations can exceed the number of atoms in the universe so as a practical matter it is impossible to show through testing that the program works correctly for all inputs. Combinatorial testing offers a (partial) solution. Empirical data show that the number of variables involved in failures is small. Most failures are triggered by only one or two inputs and the number of variables interacting tails off rapidly a relationship called the interaction rule. Therefore if we test input combinations for even small numbers of variables we can provide very strong testing at low cost. As always there is no silver bullet answer to the problem of software assurance but combinatorial testing has grown rapidly because it works in the real world