Context-driven testing is an approach where testers consider each testing situation to be unique and choose objectives, techniques, and deliverables based on the specific context. The key principles are that people are most important, judgment and skills are needed constantly, and the product is a solution rather than a set of requirements. Context-driven testers build mental models of the product, design powerful tests, execute tests, evaluate results, and report findings. Exploratory testing has advantages of requiring less preparation, finding important bugs quickly, allowing freestyle ideas, and being performed in sessions. Testing is an intellectual process while checking simply validates requirements.