## **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 ```