This text provides an introduction to the testing of modern digital circuits. Readers will require little previous knowledge of the subject, apart from an understanding of Boolean algebra (including an appreciation of Karnaugh maps and state transition diagrams) and some acquaintenance with standard digital components. The author gives an introduction to the subject, explaining its importance and laying down the principles on which test pattern generation is based. He points out the difficulties that can arise when generating test patterns for unstructured circuits and describes the principles and practice of structured design for testability. Questions at the end of each chapter reinforce the material in the chapter; solution guides are given in a separate chapter at the end of the book. There is also a detailed annotated bibliography covering the standard literature as well as the latest research. This book should be of interest to second and third year undergraduate and diploma students of electrical and electronic engineering; graduate students of information technology, computer science and electronics.