Agurkasprog: Format, syntaks og amp; Agurkertest i agurk

Indholdsfortegnelse:

Anonim

Hvad er agurkisprog?

Gherkin er et forretningslæsbart sprog, der hjælper dig med at beskrive forretningsadfærd uden at gå i detaljer med implementeringen. Det er et domænespecifikt sprog til definition af test i agurkformat til specifikationer. Det bruger almindeligt sprog til at beskrive brugssager og giver brugerne mulighed for at fjerne logiske detaljer fra adfærdstest.

Teksten i Gherkin langauge fungerer som dokumentation og skelet til dine automatiserede tests. Agurk-format er baseret på TreeTop-grammatik, der findes på 37+ sprog. Derfor kan du skrive din agurk på 37+ talte sprog.

Dette script tjener to primære formål:

  • Dokumenter bruger scenarier
  • Skrivning af en automatiseret test (BDD)

I denne Gherkin-tutorial lærer du

  • Hvad er agurkisprog?
  • Hvorfor agurk?
  • Agurkesyntaks
  • Vigtige udtryk brugt i agurk
  • Eksempel på agurk
  • Bedste fremgangsmåder ved brug af agurk
  • Fordele ved agurk

Hvorfor agurk?

Behovet for agurk kan let forklares ved følgende billeder

Før agurk

Efter agurk

Agurkesyntaks

Agurk er et linieorienteret sprog ligesom YAML og Python. Hver linje kaldes trin og starter med nøgleord og slutningen af ​​terminalerne med et stop. Fane eller mellemrum bruges til indrykket.

I dette script kan en kommentar tilføjes hvor som helst, men det skal starte med et # -tegn. Det læste hver linje efter fjernelse af Ghrekins nøgleord som angivet, hvornår osv.

Typiske agurketrin ser ud:

Gherkin Scripts: forbinder det menneskelige koncept om årsag og virkning til softwarekonceptet input / proces / output.

Agurkesyntaks:

Funktion: Scenarioets titelAngivet [Forudsætninger eller indledende kontekst]Når [Begivenhed eller udløser]Derefter [Forventet output]

Et agurkedokument har en udvidelse .feature og simpelthen bare en testfil med en fancy udvidelse. Agurk læser agurkedokument og udfører en test for at validere, at softwaren fungerer som pr. Agurkesyntaks.

Vigtige udtryk brugt i agurk

  • Funktion
  • Baggrund
  • Scenarie
  • Givet
  • Hvornår
  • Derefter
  • Og
  • Men
  • Eksempler på scenarieoversigt

Navngivningskonventionen bruges til funktionsnavn. Der er dog ingen faste regler i agurk om navne.

Funktion:

Filen skal have udvidelse .feature, og hver funktionsfil skal kun have en funktion. Funktionsnøgleordet er med funktionen: og efter det tilføjes, skrives et mellemrum og navn på funktionen.

Scenarie:

Hver funktionsfil kan have flere scenarier, og hvert scenarie starter med Scenario: efterfulgt af scenarie navn.

Baggrund:

Baggrundsnøgleord hjælper dig med at tilføje noget sammenhæng til scenariet. Det kan indeholde nogle trin i scenariet, men den eneste forskel er, at det skal køres før hvert scenarie.

Givet:

Brugen af ​​givet nøgleord er at sætte systemet i en velkendt tilstand, før brugeren begynder at interagere med systemet. Du kan dog udelade skrivning af brugerinteraktioner i givne trin, hvis de er angivet i trinet "Forudsætning".

Syntaks:

Givet
Givet - et teststrin, der definerer 'kontekstenDa jeg er på "/."

Hvornår:

Når trinnet er at definere handling udført af brugeren.

Syntaks:

Hvornår
A Hvornår - et testtrin, der definerer den udførte 'handling'Når jeg udfører "Log ind."

Derefter:

Brugen af ​​'derefter' nøgleord er at se resultatet efter handlingen i når trin. Du kan dog kun kontrollere mærkbare ændringer.

Syntaks:

 Derefter
Derefter - testtrin, der definerer 'resultatet'.Så skulle jeg se "Velkommen Tom."

Og & Men

Du har muligvis flere, når eller derefter.

Syntaks:

Men
A Men - yderligere testtrin, der definerer 'handlingsresultatet'.Men jeg skulle se "Velkommen Tom."
Og - yderligere testtrin, der definerer den udførte 'handling'Og jeg skriver "EmailAddress" med " Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den ..."

Givet, hvornår, derefter og, men er teststrin. Du kan bruge dem ombytteligt. Tolken viser ingen fejl. De vil dog helt sikkert ikke give nogen 'mening', når de læses.

Vigtige udtryk brugt i agurk

Angivet Login-siden åbnerNår jeg indtaster brugernavn, kodeord og klikker på knappen LoginSå er jeg på hjemmesiden

Eksempler på agurk

Eksempel 1:

Funktion: Login-funktionalitet på Facebooks sociale netværksside.Givet: Jeg er Facebook-bruger.Hvornår: Jeg indtaster brugernavn som brugernavn.Og jeg indtaster adgangskoden som adgangskodenSå skal jeg omdirigeres til hjemmesiden på facebook

Ovenstående scenarie er af en funktion kaldet bruger login.

Alle de ord, der er skrevet med fed skrift, er agurkin-nøgleord.

Gherkin analyserer hvert trin, der skrives i trindefinitionsfilen. Derfor er trinene angivet i funktionsfilen, og trindefinitionsfilen skal matche.

Eksempel 2:

Funktion: Baggrund for brugergodkendelse:I betragtning af at brugeren allerede er registreret på webstedet Scenario:I betragtning af at brugeren er på login-sidenNår brugeren indtaster den korrekte e-mail-adresseOg brugeren indtaster den korrekte adgangskodeOg brugeren klikker på Login-knappenDerefter skal brugeren godkendesOg brugeren skal omdirigeres til deres dashboardOg brugeren skal præsenteres for en succesbesked

Bedste fremgangsmåder ved brug af agurk

  • Hvert scenarie skal udføres separat
  • Hver funktion skal kunne udføres sammen
  • Trinoplysninger skal vises uafhængigt
  • Forbind dine scenarier med dine krav
  • Hold styr på, hvilke scenarier der skal medtages i et kravdokument
  • Opret modulære og letforståelige trin
  • Prøv at kombinere alle dine almindelige scenarier

Fordele ved agurk

  • Agurk er enkel nok til, at ikke-programmører kan forstå
  • Programmører kan bruge det som en meget solid base til at starte deres tests
  • Det gør brugerhistorier lettere at fordøje
  • Gherkin-script kan let forstås af forretningsledere og udviklere
  • Gherkin Testing målretter forretningskravene
  • En betydelig del af de funktionelle specifikationer er skrevet som brugerhistorier
  • Du behøver ikke at være ekspert for at forstå det lille Gherkin-kommandosæt
  • Gherkin Test-sager forbinder acceptstest direkte til automatiserede tests
  • Typen for skrivning af testsager er lettere at genbruge kode i andre tests

Ulemper ved agurk

  • Det kræver et højt niveau af forretningsengagement og samarbejde
  • Fungerer muligvis ikke godt i alle scenarier
  • Dårligt skrevne tests kan let øge testvedligeholdelsesomkostningerne

Resumé:

  • Agurk er formatet til agurkspecifikationer
  • Agurk er et linieorienteret sprog ligesom YAML og Python
  • Gherkin Scripts forbinder det menneskelige koncept om årsag og virkning til softwarekonceptet input / proces og output
  • Funktion, baggrund, scenario, givet, hvornår, derefter og men bruges vigtigst i agurk
  • I Gherkin skal hvert scenarie udføres separat
  • Den største fordel ved agurk er enkel nok til, at ikke-programmører kan forstå
  • Gherkin Test fungerer muligvis ikke godt i alle typer scenarier