This Verisity Design white paper provides some guidelines on how to approach System on a Chip (SoC) verification, and how to create effective SoC testbenches. It surveys the challenges in SoC verification and some of the traditional verification techniques, and then focuses on showing preferred practical approaches to the problem.