This document discusses functional testing versus structural testing of digital VLSI circuits. Functional testing checks the overall functionality of the circuit but requires an extremely large number of test patterns, making it impractical. Structural testing verifies individual circuit elements like gates but requires fewer test patterns. However, structural testing requires controlling and observing internal circuit nodes, which adds hardware overhead. Structural testing using fault models like stuck-at faults addresses this by verifying circuits at the gate level without direct access to internal nodes. This allows high quality testing with fewer test patterns and less hardware overhead than other structural testing methods.