3 Types of Requirements for Testing