Focusing on software testing in practice, this book has been planned to suit the needs of both the practitioner and the academician. Concepts of software testing have been modeled as a phase-embedded activity rather than treating them as separate and post development activity. Each chapter starts with a set of objectives, with the prospective of targeting to achieve rather than leaving the student directionless and ends with a list of key terms, referring to certain abstract concepts for better and crisp communication along with a list of references to enable the user to find in-depth information.