Types of testing
  Functional
Tests are based on the specification of WHAT the item does
  Structural
Tests are based on the structure that defines HOW the unit
operates
  Interaction
Tests are based on the communication that happens between
units