1 Introduction. 2 Preliminaries. 2.1 Circuits. 2.2 Fault Models. 2.3 Simple ATPG Framework. 2.4 Classical ATPG Algorithms. 2.5 Benchmarking. 3 Boolean Satisfiability. 3.1 SAT Solver. 3.2 Advances in SAT.3.3 Circuit-to-CNF Conversion. 3.4 Circuit-oriented SAT. 4 SAT-based ATPG. 4.1 Basic Problem Transformation. 4.2 Structural Information. 4.3 Experimental Results. 4.4 Summary. 5 Learning Techniques. 5.1 Introductory Example. 5.2 Concepts for Reusing...