This document discusses different types of software testing. It outlines five classes of testing defined by the software testing community: methodology wise testing, conventions wise testing, level wise testing, technique wise testing, and intent wise testing. It then describes manual testing and some of its drawbacks. Finally, it discusses automation testing as a way to address the drawbacks of manual testing by providing speed and accuracy, and outlines three main types of automation tools.