Basic Approach 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. Table of Contents Part I: PRELIMINARIES 1. Basics of Software Testing Part II: TEST GENERATION 2. Test Generation from Requirements3. Test Generation from Finite-State Models4. Test Generation from Combinatorial Designs5. Test Selection, Minimization and Prioritization for Regression Testing Part III: TEST ADEQUACY ASSESSMENT AND ENHANCEMENT 6. Test-Adequacy: Assessment Using Control Flow and Data Flow7. Test Adequacy Assessment Using Program Mutation About the Author Aditya P. Mathur is Professor and Head, Department of Computer Science, at Purdue University. He is one of the founders of the department of Computer Science at BITS, Pilani, India where he designed, developed, and taught the first course on microprocessors to undergraduate students from his seminal book Introduction to Microprocessors. Dr. Mathur has been a prolific researcher with over 100 published works in international journals and conferences. His key contributions include a multilingual computer, the saturation effect in software testing, a theory of software cybernetics, and novel techniques for the estimation of software reliability. Students, practitioners, and researchers will find this book an excellent source of simple to advanced techniques to use and improve their knowledge of and expertise in software testing. Praise for Foundations of Software Testing: "The book describes techniques in a lucid manner with great clarity with the help of numerous examples. Illustration of the techniques through appropriate examples makes the book very easy to study and assimilate the deep concepts and thus a unique book in the area of software testing.", Ashish Kundu, Graduate Student, Department of Computer Science, Purdue University. " As a teacher of software testing and validation, I had to search for books that can be used as references in my class and I found that "Foundations of Software Testing" is the best one for at least the following reasons:- It covers a wide range of concepts related to software testing.- It introduces the different concepts smoothly with examples illustrating them. This helps students a lot in understanding the ideas behind each concept introduced.- The exercises at the end of each chapter test if the students understood the concepts properly and as expected.- The references of the book and the discussion at the end of each chapter both give the reader an opportunity to learn more. The slides are well prepared and organized. This facilitates the task of the professor when lecturing.", Professor Abdeslam En-nouaary, Concordia University. "This book teaches software testing as a science and not as an art. It not only presents an engineering approach for handling different testing tasks but, also sets up the formal framework for the presented technique. Thus when compared to other books on testing it can be readily used as a resource by both practitioners and researchers which in my view is the real strength of this book.Initially I thought that there is still much that can be added to this book, but seeing the list of chapters that would be added in subsequent volumes I believe that for the complete set of volumes it would be very difficult to suggest drastic improvements.", Ammar Masood, Graduate student, Department of Electrical and Computer Engineering, Purdue University. "So far, I like your book. Plenty of definitions and terminology that is clearly presented." Christine Ayers, undergraduate student, UT Dallas.