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 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”.
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