Gherkin to nietechniczny język który jest prosty w rozumieniu dla ludzi nietechnicznych czyli dla tych biznesowych. Służy on do opisywania zachowania systemu za pomocą przypadków testowych. I jest bardzo fajnym sposobem do pomostu pomiędzy programistą a biznesem.
Opisywanie przypadków testowych jest opisywane za pomocą prostego szablonu:
Given
And
When
Then
Given
Given ma na celu określenie warunków i użytkowników. To w tym momencie określamy który użytkownikiem jestem w danym przypadku testowym lub do czego mam dostęp w danym momencie.
Przykładowo
Given Jestem zalogowany do systemu XXX
And
Krok and mam za zadanie przedstawić kolejne warunki które są przedstawiane w przypadku testowym użytkownika. Warunków And może być więcej niż jeden
Przkładowo
Given Jestem zalogowany do systemu XXX
And Z nadaną rolą kierownik
When
Krok When ma zadanie przedstawić akcję która się odbywa w danym przypadku testowym.
Przykładowo
Given Jestem zalogowany do systemu XXX
And Z nadaną rolą kierownik
When Kliknę przycisk pokaż zysk zespołu
Then
Po when prezentowany jest wynik wykonywanego testu. Wynik przeprowadzonego testu analogicznie moze zawierać klauzule And.
Przykładowo
Given Jestem zalogowany do systemu XXX
And Z nadaną rolą kierownik
When Kliknę przycisk pokaż zarobki zespołu
Then Wyświetli mi się suma zarobków wszystkich członków zespołu
Podsumowując
Gherkin wywodzi się z techniki tworzenia oprogramowania zwana BDD w której opisujemy jak działa aplikacja od strony użytkownika w porównaniu z TDD kładziemy nacisk na to jak zachowuje się system a nie jak zachowuje się oprogramowanie. Dodatkowo język ten jest wykorzystywany przez program do testów automatycznych zwanych Cucumber.
Poza tym że można go stosować w przypadku BDD i testów to jest bardzo dobrą techniką do opisywania przpadków testowych i warto ją przetestować w własnych projektach.