This document provides an overview of Spock, a testing and specification framework for Java and Groovy applications. It discusses the key features of Spock including state based testing, data driven testing, interaction based testing using mocking, and extensions. Examples are provided to demonstrate state based testing with given/when/then blocks, data driven testing using the where clause, and interaction based testing using mocks.