Gherkin Language: Syntaxe, formát a příklady

⚡ Chytré shrnutí

Gherkin je jazyk srozumitelný pro firmy, který popisuje chování softwaru bez detailů implementace. Používá klíčová slova Given, When a Then k definování... Cucumber testovací scénáře v jednoduchém jazyce, sloužící jako živá dokumentace a kostra automatizovaných BDD testů.

  • ???? Prostý jazyk: Gherkin popisuje chování tak, aby i neprogramátoři mohli číst a psát testy.
  • ???? Cucumber: Cucumber čte soubory .feature a spouští Gherkinovy ​​kroky jako testy.
  • 🔑 Vzhledem k tomu, kdy a kdy: Daný parametr nastavuje kontext, Kdy je spuštěna akce, Pak je stanoven výsledek.
  • 🧱 Klíčová slova: Funkce, Pozadí, Scénář, A a Ale strukturují každý scénář.
  • (Tj. Nejlepší praxe: Udržujte každý scénář nezávislý a popisujte co, ne jak.
  • 🤖 Asistence AI: Nástroje umělé inteligence navrhují scénáře „Dáno-Kdy-Pak“ z prostých požadavků.

Okurkový jazyk v Cucumber

Co je jazyk okurek?

kyselá okurka je jazyk srozumitelný pro firmy, který vám pomůže popsat obchodní chování, aniž byste museli zacházet do detailů implementace. Je to doménově specifický jazyk pro definování testů v Cucumber formát. Používá prostý jazyk k popisu případů užití a umožňuje uživatelům odstraňovat logické detaily z behaviorálních testů.

Text v Gherkinu slouží jako dokumentace a kostra vašich automatizovaných testů. Formát Gherkin je založen na gramatice TreeTop, která existuje ve více než 37 jazycích, takže v Gherkinu můžete psát ve více než 37 mluvených jazycích. Skript slouží dvěma hlavním účelům: dokumentuje uživatelské scénáře a poskytuje základ pro psaní automatizovaných BDD testů.

Proč okurka?

Bez sdíleného, ​​srozumitelného formátu popisují obchodní a technické týmy požadavky odlišně, což vede k nedorozuměním. Gherkin poskytuje všem jednotnou, strukturovanou slovní zásobu, která se čte jako běžná angličtina, ale mapuje se přímo na spustitelné testy.

Gherkinova syntaxe

Gherkin je řádkově orientovaný jazyk, stejně jako YAML a PythonKaždý řádek se nazývá krok a začíná klíčovým slovem. Pro odsazení se používají tabulace nebo mezery. Komentář lze přidat kamkoli, ale musí začínat znakem #. Interpret přečte každý řádek po odstranění klíčových slov Gherkin, jako jsou Given, When a Then.

Feature: Title of the Scenario
  Given [Preconditions or Initial Context]
  When [Event or Trigger]
  Then [Expected output]

Dokument Gherkin má příponu .feature a je to jednoduše testovací soubor s popisnou příponou. Cucumber přečte dokument Gherkin a provede test, aby ověřil, zda se software chová tak, jak popisuje syntaxe Gherkin.

Důležité pojmy používané v okurkách

Hlavní klíčová slova jsou rys, pozadí, scénář, daný, kdy, pak, a, ale a osnova scénáře. Cucumber nemá žádná striktní pravidla pojmenování, ale jasná konvence pojmenování pomáhá.

vlastnost

Soubor by měl mít příponu .feature a každý soubor s funkcemi by měl popisovat pouze jednu funkci. Klíčové slovo Feature začíná na funkce: následovaný mezerou a názvem prvku.

Scénář

Každý soubor s funkcemi může mít více scénářů a každý scénář začíná na Scénář: následovaný názvem scénáře.

Pozadí

Klíčové slovo Background přidává kontext ke scénáři. Může obsahovat kroky sdílené jednotlivými scénáři; rozdíl je v tom, že tyto kroky se spouštějí před každým scénářem.

Vzhledem k

Klíčové slovo Given uvede systém do známého stavu ještě předtím, než s ním uživatel začne interagovat. Definuje předběžnou podmínku nebo kontext:

Given I am on "/."

Kdy

Klíčové slovo When definuje akci, kterou uživatel provede:

When I perform "Sign In."

Pak

Klíčové slovo Then definuje výsledek pozorovaný po akci v kroku When. Ověřovat byste měli pouze znatelné změny:

Then I should see "Welcome Tom."

A & Ale

Můžete mít více kroků typu Given, When nebo Then. Klíčová slova And a But přidávají další kroky pro lepší čitelnost:

And I enter "EmailAddress" with "tomjohn@gmail.com."
But I should see "Welcome Tom."

Klíčová slova Given, When, Then, And a But jsou všechno testovací kroky. Interpret nevyvolá chybu, pokud je prohodíte, ale scénář se nebude číst rozumně, proto každé klíčové slovo používejte k jeho zamýšlenému účelu.

Příklady okurky

Příklad 1: Funkce pro přihlášení na sociální síť.

Feature: Login functionality of a social networking site
  Given I am a registered user
  When I enter my username
  And I enter my password
  Then I should be redirected to the home page

Gherkin analyzuje každý krok zapsaný v souboru funkcí a kroky v souboru funkcí se musí shodovat s kroky v souboru definice kroku.

Příklad 2: Scénář ověřování uživatele s pozadím.

Feature: User Authentication

Background:
  Given the user is already registered on the website

Scenario: Successful login
  Given the user is on the login page
  When the user inputs the correct email address
  And the user inputs the correct password
  And the user clicks the Login button
  Then the user should be authenticated
  And the user should be redirected to their dashboard

Nejlepší postupy pro používání okurek

  • Každý scénář by měl být spuštěn samostatně a nezávisle.
  • Každá funkce by měla být spustitelná sama o sobě.
  • Informace o krocích by měly být zobrazeny nezávisle.
  • Propojte své scénáře s vašimi požadavky a track které scénáře patří ke každému požadavku.
  • Vytvářejte modulární, snadno srozumitelné kroky a kombinujte běžné scénáře.
  • Popište, co systém dělá, ne jak to dělá.

Výhody okurky

  • Gherkin je dostatečně jednoduchý na to, aby mu porozuměli i neprogramátoři.
  • Programátoři jej mohou použít jako solidní základ pro zahájení svých testů.
  • Usnadňuje vstřebávání uživatelských příběhů a cílí na obchodní požadavky.
  • Vedoucí pracovníci i vývojáři mohou číst stejný scénář.
  • Testovací případy Gherkin přímo propojují akceptační testy s automatizovanými testy.
  • Styl psaní usnadňuje opětovné použití kódu napříč testy.

Nevýhody okurky

  • Vyžaduje to vysokou úroveň obchodní angažovanosti a spolupráce.
  • Nemusí to fungovat dobře v každém scénáři.
  • Špatně napsané testy mohou zvýšit náklady na údržbu testů.

Nejčastější dotazy

BDD je agilní postup, kde týmy popisují očekávané chování srozumitelným jazykem před kódováním. Scénáře Gherkin toto chování zachycují, takže obchodní i techničtí členové sdílejí jednotné chápání.

Gherkin je syntaxe pro psaní scénářů v jednoduchém jazyce. Cucumber je jeden z několika nástrojů, které čtou soubory Gherkin .feature a provádějí kroky ve vaší aplikaci.

Osnova scénáře spouští stejné kroky s více datovými sadami uvedenými v tabulce s příklady. Zabraňuje duplikování scénáře pro každou sadu vstupních hodnot.

Definice kroku mapuje každý Gherkinův krok na kód, který ho spouští. Kdy Cucumber přečte krok, najde odpovídající definici a spustí tuto metodu v aplikaci.

Tři „amigos“ jsou vlastník produktu, vývojář a tester, kteří společně kontrolují funkci. Jejich společný pohled vytváří jasnější a ucelenější scénáře Gherkin než kterákoli jiná role.

Kromě Cucumber, Gherkin je podporován SpecFlow pro .NET a Behave pro Python, mimo jiné BDD frameworky.

Ano. Asistenti s umělou inteligencí přemění uživatelský příběh na návrhy scénářů typu „daný-kdy-pak“, navrhují okrajové případy a zachovávají konzistenci formulací, i když by je měl tester zkontrolovat z hlediska přesnosti.

Nástroje umělé inteligence čtou jednoduché požadavky a automatizují první návrh strukturovaných kroků typu „Dáno-Kdy-Pak“. To urychluje tvorbu, ale týmy stále upřesňují formulace tak, aby odpovídaly skutečným kritériím přijetí.

Shrňte tento příspěvek takto: