This document provides an overview of software product testing, including roles and responsibilities, development cycles, testing cycles, definitions, artifacts, tools, levels of testing, methods, techniques and types of testing. It discusses the role of testers and developers. It also includes descriptions of various testing documents, tools, levels of testing including unit, integration, system and acceptance. Different testing methods like black box, white box and gray box testing are defined. Various testing types such as load testing, security testing, compatibility testing are also outlined.