Definition: An executable specification is a requirement written in a form that can also be run as an automated test. It describes what the system should do in language the business understands, while a tool connects that language to the code that checks it.
So what? Executable specifications keep requirements and tests in step. If the system changes and no longer matches the specification, the test fails, so the documentation can't quietly go out of date.
Examples: A Cucumber scenario agreed with the business that runs as part of every build. Using specifications to record agreements made in workshops and meetings.