To understand testing solutions, one must first understand the enemy. Defects in digital systems generally fall into two categories: