1) Testing is a process that occurs throughout the software development life cycle to find defects, provide confidence, and prevent defects. It includes both static and dynamic testing.
2) The fundamental test process includes planning and control, analysis and design, implementation and execution, evaluating exit criteria and reporting, and test closure activities.
3) Testing requires a different mindset than development, as testers look critically at software to find defects rather than working to solve problems like developers. Independent testing helps ensure quality.