Building quality into software as it’s being developed is far more effective than trying to test it in after it’s been built. Verification and validation techniques can be applied throughout the process life cycle to help assure that a) the right product is being built, and b) the product is being built right. This paper introduces the fundamental theory and techniques of verification and validation and discusses how these techniques have been successfully applied in the creation of high quality embedded software.