Uborka nyelv: Szintaxis, formátum és példák

⚡ Okos összefoglaló

A Gherkin egy üzletileg olvasható nyelv, amely a szoftverek viselkedését implementációs részletek nélkül írja le. A Given, When és Then kulcsszavakat használja a következők definiálására: Cucumber tesztforgatókönyvek közérthető nyelven, élő dokumentációként és az automatizált BDD tesztek vázaként szolgálva.

  • 📝 Egyszerű nyelv: Gherkin úgy írja le a viselkedést, hogy a nem programozók is tudjanak teszteket olvasni és írni.
  • 🥒 Cucumber: Cucumber beolvassa a .feature fájlokat és tesztként végrehajtja a Gherkin lépéseket.
  • 🔑 Adott-amikor-akkor: Az Adott beállítja a kontextust, a Amikor egy műveletet kivált, a Majd állítja be az eredményt.
  • 🧱 Kulcsszavak: A Jellemző, Háttér, Forgatókönyv, És és De strukturálja az egyes forgatókönyveket.
  • Legjobb gyakorlat: Minden forgatókönyvet tarts függetlennek, és írd le, hogy mit, ne pedig a hogyant.
  • 🤖 AI segítség: A mesterséges intelligencia eszközei egyszerű követelményekből merítenek ki Adott-Ha-Akkor forgatókönyveket.

uborka nyelv Cucumber

Mi az uborka nyelv?

Ecetes uborka egy üzletileg olvasható nyelv, amely segít leírni az üzleti viselkedést anélkül, hogy a megvalósítás részleteibe bocsátkoznánk. Ez egy szakterület-specifikus nyelv tesztek definiálására a következő területeken: Cucumber formátum. Egyszerű nyelven írja le a használati eseteket, és lehetővé teszi a felhasználók számára, hogy logikai részleteket távolítsanak el a viselkedéstesztekből.

A Gherkinben található szöveg dokumentációként és az automatizált tesztek vázaként szolgál. A Gherkin formátum a TreeTop Grammar-on alapul, amely több mint 37 nyelven létezik, így a Gherkint több mint 37 beszélt nyelven írhatod. A szkript két fő célt szolgál: dokumentálja a felhasználói forgatókönyveket, és alapot biztosít az automatizált BDD tesztek írásához.

Miért uborka?

Egy közös, közérthető nyelvi formátum nélkül az üzleti és műszaki csapatok eltérően írják le a követelményeket, ami félreértésekhez vezet. A Gherkin mindenkinek egyetlen, strukturált szókincset ad, amely úgy hangzik, mint a hétköznapi angol, mégis közvetlenül a végrehajtható tesztekhez kapcsolódik.

Uborka szintaxis

A Gherkin egy sororientált nyelv, akárcsak a YAML és a PythonMinden sort lépésnek nevezünk, és egy kulcsszóval kezdődik. A behúzáshoz tabulátorokat vagy szóközöket használunk. Megjegyzést bárhová beilleszthetünk, de # jellel kell kezdődnie. Az értelmező minden sort a Gherkin kulcsszavak, például a Given, When és Then eltávolítása után olvas be.

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

A Gherkin dokumentum kiterjesztése .feature, és egyszerűen egy tesztfájl leíró kiterjesztéssel. Cucumber beolvassa a Gherkin dokumentumot, és lefuttat egy tesztet annak ellenőrzésére, hogy a szoftver a Gherkin szintaxisának megfelelően viselkedik-e.

Fontos kifejezések az uborkában

A fő kulcsszavak a Jellemző, Háttér, Forgatókönyv, Adott, Mikor, Akkor, És, De, és Forgatókönyv vázlata. Cucumber nincsenek szigorú elnevezési szabályai, de egy egyértelmű elnevezési konvenció segít.

Jellemző

A fájl kiterjesztése .feature kell legyen, és minden jellemzőfájl csak egy jellemzőt írhat le. A Feature kulcsszó a következővel kezdődik: Funkció: majd egy szóköz és a funkció neve.

Forgatókönyv

Minden funkciófájlhoz több forgatókönyv is tartozhat, és minden forgatókönyv a következővel kezdődik: Forgatókönyv: majd a forgatókönyv neve.

Háttér

A Background kulcsszó kontextust ad a forgatókönyvhöz. Tartalmazhat minden forgatókönyv által megosztott lépéseket; a különbség az, hogy ezek a lépések minden forgatókönyv előtt lefutnak.

Adott

A Given kulcsszó a rendszert egy ismert állapotba helyezi, mielőtt a felhasználó interakcióba lépne vele. Meghatározza az előfeltételt vagy kontextust:

Given I am on "/."

Amikor

A When kulcsszó határozza meg a felhasználó által végrehajtott műveletet:

When I perform "Sign In."

Majd

A Then kulcsszó a When lépésben végrehajtott művelet után megfigyelt eredményt határozza meg. Csak a észrevehető változásokat kell ellenőrizni:

Then I should see "Welcome Tom."

És & De

Lehet, hogy több Given, When vagy Then lépésed is van. Az And és But kulcsszavak további lépéseket adnak hozzá az olvashatóság érdekében:

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

Adott esetben a When, Then, And és But mind tesztlépések. Az interpreter nem jelez hibát, ha felcseréljük őket, de a forgatókönyv nem fog értelmesen beolvasni, ezért minden kulcsszót a rendeltetésének megfelelően használjunk.

Uborka példák

Példa 1: Bejelentkezési funkció egy közösségi oldalhoz.

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 elemzi a jellemzőfájlban leírt összes lépést, és a jellemzőfájlban található lépéseknek meg kell egyezniük a lépésdefiníciós fájlban található lépésekkel.

Példa 2: Felhasználói hitelesítési forgatókönyv háttérrel.

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

Az uborka használatának legjobb gyakorlatai

  • Minden forgatókönyvet külön-külön és függetlenül kell végrehajtani.
  • Minden funkciónak önállóan végrehajthatónak kell lennie.
  • A lépésinformációkat külön kell megjeleníteni.
  • Kapcsolja össze a forgatókönyveket az igényeivel és track mely forgatókönyvek tartoznak az egyes követelményekhez.
  • Hozzon létre moduláris, könnyen érthető lépéseket, és kombinálja a gyakori forgatókönyveket.
  • Írd le, hogy mit csinál a rendszer, ne azt, hogy hogyan.

Az uborka előnyei

  • A Gherkin elég egyszerű ahhoz, hogy a nem programozók is megértsék.
  • A programozók szilárd alapként használhatják a tesztjeik megkezdéséhez.
  • Könnyebben emészthetővé teszi a felhasználói történeteket, és az üzleti igényeket célozza meg.
  • Az üzleti vezetők és a fejlesztők ugyanazt a szkriptet olvashatják.
  • A Gherkin tesztesetek közvetlenül összekapcsolják az elfogadási teszteket az automatizált tesztekkel.
  • Az írásstílus megkönnyíti a kód újrafelhasználását a tesztek között.

Az uborka hátrányai

  • Magas szintű üzleti együttműködést és elkötelezettséget igényel.
  • Lehet, hogy nem minden esetben működik jól.
  • A rosszul megírt tesztek növelhetik a tesztek karbantartási költségeit.

GYIK

A BDD egy agilis gyakorlat, ahol a csapatok a kódolás előtt egyszerű nyelven írják le a várható viselkedést. A Gherkin-forgatókönyvek rögzítik ezt a viselkedést, így az üzleti és a technikai tagok egyet értenek.

A Gherkin a forgatókönyvek írásának egyszerű nyelvi szintaxisa. Cucumber egyike azon eszközöknek, amelyek beolvassák a Gherkin .feature fájlokat, és végrehajtják a lépéseket az alkalmazáson.

Egy forgatókönyvvázlat ugyanazokat a lépéseket futtatja le több, egy Példák táblázat alatt felsorolt ​​adathalmazzal. Elkerüli a forgatókönyvek duplikálását minden bemeneti értékkészlethez.

Egy lépésdefiníció minden Gherkin lépést leképez az azt futtató kódra. Cucumber beolvas egy lépést, megkeresi a megfelelő definíciót, és végrehajtja a metódust az alkalmazáson.

A három amigo egy terméktulajdonos, egy fejlesztő és egy tesztelő, akik együtt tekintenek át egy funkciót. Együttes nézőpontjuk tisztább és teljesebb Gherkin-forgatókönyveket eredményez, mint bármelyik önálló szerepkör.

Kívül Cucumber, Gherkint támogatja SpecFlow .NET-hez és Behave-hez Python, más BDD keretrendszerek mellett.

Igen. A mesterséges intelligencia asszisztensek a felhasználói történetekből vázlatos adott-mikor-akkor forgatókönyveket készítenek, szélsőséges eseteket javasolnak, és a megfogalmazást is következetesen tartják, bár a tesztelőnek ellenőriznie kell a pontosságukat.

A mesterséges intelligencia eszközei beolvassák az egyszerű követelményeket, és automatizálják a strukturált Adott-Ha-Aztán lépések első vázlatát. Ez felgyorsítja a szerkesztést, de a csapatok továbbra is finomítják a megfogalmazást, hogy megfeleljen a valós elfogadási kritériumoknak.

Foglald össze ezt a bejegyzést a következőképpen: