Foundations Of Software Testing Fundamental algorithms and techniques - Mathur, Aditya P. (Delhi : Pearson Education, 2008)
Foundations of Software Testing is the premiere example-based text and reference for establishing sound engineering practices in test generation, selection, minimization and enhancement, for software projects ranging from the most simple to the highly complex, to those used by government agencies such as the FAA. Foundations of Software Testing also covers data-flow based adequacy and mutation-based adequacy, which are the most powerful of the available test adequacy criteria. It distills knowledge developed by hundreds of testing researchers and practitioners from all over the world and brings it to readers in an easy to understand form. Test generation, selection, priortization and assessment lie at the foundation of all technical activities that arise in a test process. Appropriate deployment of the elements of this strong foundation enables the testing of different types of software applications, including Object Oriented systems, Web services, graphical user interfaces, embedded systems, as well as properties relating to security, performance, and reliability. With over 200 examples and exercises of mathematical, step-by-step approaches, Foundations describes a wide variety of testing techniqes, including finite state models, combinatorial designs, and minimization for regression testing.
Part i: preliminaries -- Basics of software testing -- Part ii: test generation -- Test generation from requirements -- Test generation from finite-state models -- Test generation from combinatorial designs -- Test selection, minimization and prioritization for regression testing -- Part iii: test adequacy assessment and enhancement -- Test-adequacy: assessment using control flow and data flow -- Test adequacy assessment using program mutation.
An Undergraduate and Graduate text a reference for praticing software engineer.
Includes bibliographical references and index.
1
Keywords: Computer software -- Testing