This book looks to maximize the probability of revealing latent errors in programs through effective software testing. It covers the program analysis needed for applying a test-case selection method. It teaches the reader to modify the existing method or devise a new method if there is going to be a change in the language or paradigm used. The coverage is independent of the programming languages and paradigms used to construct the program under test. Includes over 200 PowerPoint slides and 40 multiple choice questions for exams or self-assessment.