## **Gherkin Language**
Define both functional and non-functional requirements of a function or system by using keywords such as "Given," "And," "When," and "Then" to define the different scenarios that make up its behavior. Each scenario is defined using a set of steps that describe the system's inputs, actions, and expected outcomes under different conditions. For example:
```
GIVEN: a user is on the login page
WHEN: they enter their username and password
AND: they click the login button
THEN: they should be redirected to the dashboard page
```