6 Types of Software Testing