Uborka nyelv: formátum, szintaxis és uborka teszt in Cucumber

Mi az uborka nyelv?

Ecetes uborka egy üzletileg olvasható nyelv, amely segít az üzleti viselkedés leírásában anélkül, hogy belemenne a megvalósítás részleteibe. Ez egy tartományspecifikus nyelv a tesztek meghatározásához Cucumber formátum a specifikációkhoz. Egyszerű nyelvezetet használ a használati esetek leírására, és lehetővé teszi a felhasználók számára, hogy eltávolítsák a logikai részleteket a viselkedéstesztekből.

Az uborka nyelvű szöveg az automatizált tesztek dokumentációjaként és vázaként szolgál. A Gherkin formátum a TreeTop Grammar-on alapul, amely több mint 37 nyelven létezik. Ezért uborkáját 37+ beszélt nyelven írhatja.

Ez a szkript két elsődleges célt szolgál:

  • Dokumentálja a felhasználói forgatókönyveket
  • Automatizált teszt (BDD) írása

Miért uborka?

Az uborka szükségessége könnyen megmagyarázható a következő képekkel

Uborka előtt

Uborka előtt

Uborka után

Uborka után

Uborka szintaxis

A Gherkin vonalorientált nyelv, akárcsak a YAML és Python. Minden sor lépésnek nevezik, és kulcsszóval kezdődik, a terminálok vége pedig stoppal. Tabulátor vagy szóköz használatos a behúzáshoz.

Ebben a szkriptben egy megjegyzést bárhol hozzáadhat, de annak # jellel kell kezdődnie. Minden sort elolvasott, miután eltávolította Ghrekin kulcsszavait a megadottak szerint, mikor, akkor stb.

A tipikus uborka lépések így néznek ki

Gherkin Scripts: összekapcsolja az ok és okozat emberi fogalmát a szoftveres bemenet/folyamat/kimenet fogalmával.

Uborka szintaxis

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 csak egy tesztfájl díszes kiterjesztéssel. Cucumber beolvassa a Gherkin dokumentumot, és tesztet hajt végre annak ellenőrzésére, hogy a szoftver a Gherkin szintaxis szerint viselkedik.

A Gherkinben használt fontos kifejezések

  • Funkció
  • Háttér
  • Forgatókönyv
  • Adott
  • Amikor
  • Majd
  • És
  • De
  • Példák a forgatókönyv vázlatára

Az elnevezési konvenciót a jellemző neveként használják. Ebben azonban nincsenek meghatározott szabályok Cucumber nevekről.

Funkció

A fájl kiterjesztése .feature legyen, és minden szolgáltatásfájlnak csak egy funkciója lehet. A jellemző kulcsszó a Feature: és utána add, szóköz és a tereptárgy neve lesz írva.

Forgatókönyv

Minden szolgáltatásfájlnak több forgatókönyve is lehet, és mindegyik forgatókönyv a Scenario: szóval kezdődik, amelyet a forgatókönyv neve követ.

Háttér

A háttér kulcsszó segít kontextus hozzáadásához a forgatókönyvhöz. Tartalmazhatja a forgatókönyv egyes lépéseit, de az egyetlen különbség az, hogy minden forgatókönyv előtt le kell futtatni.

Adott

A Given kulcsszó használata a rendszer ismert állapotba helyezése, mielőtt a felhasználó interakcióba lépne a rendszerrel. Azonban elhagyhatja a felhasználói interakciók írását az Adott lépésekben, ha az Adott az „Előfeltétel” lépésben.

Syntax:

Given
Given - a test step that defines the 'context
Given I am on "/."

Amikor

Amikor a lépés a felhasználó által végrehajtott művelet meghatározása.

Syntax:

When
A When - a test step that defines the 'action' performed
When I perform "Sign In."

Majd

A 'majd' kulcsszó használata a eredmény a művelet után amikor lépésben. Azonban csak az észrevehető változásokat tudja ellenőrizni.

Syntax:

 Then
Then - test step that defines the 'outcome.'
Then I should see "Welcome Tom."

És & De

Többet is megadhat, mikor vagy akkor.

Syntax:

But
A But - additional test step which defines the 'action' 'outcome.'
But I should see "Welcome Tom."
And - additional test step that defines the 'action' performed
And I write  "EmailAddress" with "Tomjohn@gmail.com."

Adott, Mikor, Akkor és, de tesztlépések. Felváltva használhatod őket. A tolmács nem jelenít meg hibát. Olvasás közben azonban biztosan nem lesz „értelmük”.

A Gherkinben használt fontos kifejezések
A Gherkinben használt fontos kifejezések
Given The login page is opening
When I input username, password and click the Login button 
Then I am on the Homepage

Uborka példák

Példa 1:

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

A fent említett forgatókönyv a felhasználói bejelentkezés nevű szolgáltatásra vonatkozik.

A Gherkin elemezni fogja a lépésdefiníciós fájlban írt minden lépést. Ezért a lépések a jellemzőfájlban vannak megadva, és a lépésdefiníciós fájlnak meg kell egyeznie.

Példa 2:

Feature: User Authentication Background:
Given the user is already registered to the website Scenario:
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
And the user should be presented with a success message 

Az uborka használatának legjobb gyakorlatai

  • Minden forgatókönyvet külön kell végrehajtani
  • Minden funkciót együtt kell végrehajtani
  • A lépésekre vonatkozó információkat egymástól függetlenül kell megjeleníteni
  • Kapcsolja össze forgatókönyvét igényeivel
  • Kövesse nyomon, hogy milyen forgatókönyveket kell tartalmaznia egy követelménydokumentumban
  • Készítsen moduláris és könnyen érthető lépéseket
  • Próbálja meg kombinálni az összes gyakori forgatókönyvet

Az uborka előnyei

  • Az uborka elég egyszerű ahhoz, hogy a nem programozók megértsék
  • A programozók nagyon szilárd alapként használhatják a tesztek megkezdéséhez
  • Könnyebben emészthetővé teszi a felhasználói történeteket
  • A Gherkin script könnyen érthető az üzleti vezetők és a fejlesztők számára
  • A Gherkin Testing az üzleti követelményeket célozza meg
  • A funkcionális specifikációk jelentős része felhasználói történetként van megírva
  • Nem kell szakértőnek lennie ahhoz, hogy megértse a kis uborka parancskészletet
  • A Gherkin Testesetek az elfogadási teszteket közvetlenül az automatizált tesztekhez kapcsolják
  • A tesztek írásának stílusa egyszerűbb a kód újrafelhasználása más tesztekben

Az uborka hátrányai

  • Magas szintű üzleti elkötelezettséget és együttműködést igényel
  • Előfordulhat, hogy nem minden esetben működik jól
  • A rosszul megírt tesztek könnyen megnövelhetik a teszt-karbantartási költségeket

Összegzésként

  • Az uborka az uborka specifikációinak formátuma
  • A Gherkin vonalorientált nyelv, akárcsak a YAML és Python
  • A Gherkin Scripts összekapcsolja az ok és okozat emberi fogalmát a szoftveres bemenet/folyamat és kimenet fogalmával
  • A Funkció, a Háttér, a Forgatókönyv, az Adott, a Mikor, az Akkor és a De fontos szerepet tölt be a Gherkinben
  • Gherkinben minden forgatókönyvet külön kell végrehajtani
  • A Gherkin legnagyobb előnye elég egyszerű ahhoz, hogy a nem programozók megértsék
  • Előfordulhat, hogy a Gherkin Test nem működik jól minden típusú forgatókönyv esetén