Augurk Taal: Formaat, Syntaxis & Augurkentest in komkommer

Inhoudsopgave:

Anonim

Wat is augurken-taal?

Augurk is een zakelijk leesbare taal die u helpt zakelijk gedrag te beschrijven zonder in te gaan op de details van de implementatie. Het is een domeinspecifieke taal voor het definiëren van tests in komkommerformaat voor specificaties. Het gebruikt duidelijke taal om gebruiksscenario's te beschrijven en stelt gebruikers in staat om logische details uit gedragstests te verwijderen.

De tekst in Gherkin-taal fungeert als documentatie en skelet van uw geautomatiseerde tests. Het augurkformaat is gebaseerd op TreeTop Grammar, dat in meer dan 37 talen bestaat. Daarom kunt u uw augurk in 37+ gesproken talen schrijven.

Dit script dient twee primaire doelen:

  • Documenteert gebruikersscenario's
  • Een geautomatiseerde test (BDD) schrijven

In deze Gherkin-tutorial leer je

  • Wat is augurken-taal?
  • Waarom augurk?
  • Augurk Syntax
  • Belangrijke termen die in augurk worden gebruikt
  • Augurk Voorbeeld
  • Praktische tips voor het gebruik van augurk
  • Voordelen van augurk

Waarom augurk?

De behoefte aan augurk kan eenvoudig worden verklaard aan de hand van de volgende afbeeldingen

Voordat augurk

Na augurk

Augurk Syntax

Augurk is een lijngeoriënteerde taal, net als YAML en Python. Elke regel heet stap en begint met het trefwoord en het einde van de terminals met een stop. Tab of spatie worden gebruikt voor de inspringing.

In dit script kan een opmerking worden toegevoegd waar u maar wilt, maar deze moet beginnen met een # -teken. Het las elke regel na het verwijderen van Ghrekins sleutelwoorden zoals opgegeven, wanneer, dan, etc.

Typische augurkenstappen zien eruit als:

Gherkin Scripts: verbindt het menselijke concept van oorzaak en gevolg met het softwareconcept van input / proces / output.

Augurk Syntax:

Mogelijkheid: Titel van het scenarioGegeven [voorwaarden of initiële context]Wanneer [Gebeurtenis of Trigger]Dan [verwachte output]

Een augurkdocument heeft de extensie .feature en is gewoon een testbestand met een mooie extensie. Cucumber leest het Augurk-document en voert een test uit om te valideren dat de software zich gedraagt ​​volgens de Gherkin-syntaxis.

Belangrijke termen die in augurk worden gebruikt

  • Voorzien zijn van
  • Achtergrond
  • Scenario
  • Gegeven
  • Wanneer
  • Vervolgens
  • En
  • Maar
  • Scenario-overzichtsvoorbeelden

De naamgevingsconventie wordt gebruikt voor de naam van een functie. Er zijn echter geen vaste regels in Cucumber over namen.

Voorzien zijn van:

Het bestand moet de extensie .feature hebben en elk feature-bestand mag slechts één feature hebben. Het feature-sleutelwoord dat bij de Feature hoort: en daarna toevoegen, een spatie en een naam van de feature worden geschreven.

Scenario:

Elk feature-bestand kan meerdere scenario's hebben, en elk scenario begint met Scenario: gevolgd door de naam van het scenario.

Achtergrond:

Het achtergrondzoekwoord helpt u om wat context aan het scenario toe te voegen. Het kan enkele stappen van het scenario bevatten, maar het enige verschil is dat het vóór elk scenario moet worden uitgevoerd.

Gegeven:

Het gebruik van het trefwoord Gegeven is om het systeem in een vertrouwde staat te brengen voordat de gebruiker met het systeem begint te communiceren. U kunt het schrijven van gebruikersinteracties in bepaalde stappen echter weglaten als dit in de stap "Voorwaarde" is opgegeven.

Syntaxis:

Gegeven
Gegeven - een teststap die de 'contextGegeven dat ik op "/" sta.

Wanneer:

Wanneer de stap is om de actie te definiëren die door de gebruiker wordt uitgevoerd.

Syntaxis:

Wanneer
A When - een teststap die de uitgevoerde 'actie' definieertWanneer ik 'Aanmelden' uitvoer.

Vervolgens:

Het gebruik van het trefwoord 'dan' is om het resultaat te zien na de actie in wanneer stap. U kunt echter alleen merkbare wijzigingen verifiëren.

Syntaxis:

 Vervolgens
Vervolgens - teststap die het 'resultaat' definieert.Dan zou ik "Welcome Tom" moeten zien.

En maar

Mogelijk hebt u meerdere wanneer of toen gegeven.

Syntaxis:

Maar
Een Maar - aanvullende teststap die het 'actie'-resultaat definieert.'Maar ik zou "Welcome Tom" moeten zien.
En - extra teststap die de uitgevoerde 'actie' definieertEn ik schrijf "EmailAddress" met " Dit e-mailadres wordt beschermd tegen spambots. JavaScript moet ingeschakeld zijn om het te bekijken ..."

Gegeven, wanneer, dan en, maar zijn teststappen. U kunt ze door elkaar gebruiken. De tolk geeft geen enkele foutmelding. Ze zullen echter zeker niet 'logisch' zijn als ze worden gelezen.

Belangrijke termen die in augurk worden gebruikt

Gezien De inlogpagina wordt geopendWanneer ik de gebruikersnaam en het wachtwoord invoer en op de knop Inloggen klikDan ben ik op de homepage

Augurk Voorbeelden

Voorbeeld 1:

Functie: aanmeldingsfunctionaliteit van sociale netwerksite Facebook.Gegeven: ik ben een Facebook-gebruiker.Wanneer: ik voer gebruikersnaam in als gebruikersnaam.En ik voer het wachtwoord in als het wachtwoordDan zou ik doorgestuurd moeten worden naar de startpagina van Facebook

Het bovenstaande scenario is van een functie die gebruikersaanmelding wordt genoemd.

Alle vetgedrukte woorden zijn augurk-trefwoorden.

Gherkin analyseert elke stap die in het stapdefinitiebestand is geschreven. Daarom worden de stappen in het feature-bestand gegeven en moet het stapdefinitiebestand overeenkomen.

Voorbeeld 2:

Mogelijkheid: Achtergrond gebruikersauthenticatie:Gezien de gebruiker al is geregistreerd op de website Scenario:Gezien de gebruiker zich op de inlogpagina bevindtWanneer de gebruiker het juiste e-mailadres invoertEn de gebruiker voert het juiste wachtwoord inEn de gebruiker klikt op de Login-knopVervolgens moet de gebruiker worden geverifieerdEn de gebruiker moet worden omgeleid naar zijn dashboardEn de gebruiker zou een succesbericht moeten krijgen

Praktische tips voor het gebruik van augurk

  • Elk scenario moet afzonderlijk worden uitgevoerd
  • Elke functie zou mee moeten kunnen worden uitgevoerd
  • Stappeninformatie moet onafhankelijk worden weergegeven
  • Verbind uw scenario's met uw vereisten
  • Houd volledig bij welke scenario's in een behoeftedocument moeten worden opgenomen
  • Maak modulaire en gemakkelijk te begrijpen stappen
  • Probeer al uw gebruikelijke scenario's te combineren

Voordelen van augurk

  • Augurk is eenvoudig genoeg voor niet-programmeurs om te begrijpen
  • Programmeurs kunnen het gebruiken als een zeer solide basis om hun tests te starten
  • Het maakt gebruikersverhalen gemakkelijker te verteren
  • Augurk-script kan gemakkelijk worden begrepen door bedrijfsleiders en ontwikkelaars
  • Gherkin Testing is gericht op de zakelijke vereisten
  • Een aanzienlijk deel van de functionele specificaties is geschreven als user stories
  • U hoeft geen expert te zijn om de kleine Gherkin-opdrachtenset te begrijpen
  • Augurken Testcases koppelen acceptatietests direct aan geautomatiseerde tests
  • De stijl van het schrijven van testcases is gemakkelijker om code te hergebruiken in andere tests

Nadelen van augurk

  • Het vereist een hoge mate van zakelijke betrokkenheid en samenwerking
  • Werkt mogelijk niet goed in alle scenario's
  • Slecht geschreven tests kunnen gemakkelijk de kosten voor testonderhoud verhogen

Overzicht:

  • Augurk is het formaat voor komkommerspecificaties
  • Augurk is een lijngeoriënteerde taal, net als YAML en Python
  • Gherkin Scripts verbindt het menselijke concept van oorzaak en gevolg met het softwareconcept van input / proces en output
  • Functie, achtergrond, scenario, gegeven, wanneer, toen en maar worden belangrijk gebruikt in augurk
  • In Gherkin moet elk scenario afzonderlijk worden uitgevoerd
  • Het grootste voordeel van augurk is eenvoudig genoeg voor niet-programmeurs om te begrijpen
  • Augurkentest werkt mogelijk niet goed in alle soorten scenario's