Nettapplikasjoner har blitt avgjørende for bedrifter som søker avanserte måter å få kontakt med og betjene målgruppen i den digitale verden. Gitt viktigheten av webapper i forretningsdrift i disse dager, uavhengig av bransje, må de testes grundig for å sikre at de tilbyr avanserte brukeropplevelser.
Automatiseringstest akselererer livssyklusen for programvareutvikling. Videre, ved å ta i bruk BDD-tilnærmingen (Behavior Driven Development) til utvikling, kan forskjellige interessenter som utviklere, kvalitetssikringsselskaper og ikke-teknologiske team samarbeide aktivt i prosjektet.
Scenariene er skrevet basert på forventet oppførsel. av programvaren, og den er testet for å sjekke om den samsvarer med nevnte scenarier.
Bildekilde
Disse scenariene er dokumentert ved hjelp av et domenespesifikt språk som Gherkin. I hvert testscenario brukes naturlige språkkonstruksjoner som utgjør små engelsklignende setninger for å beskrive oppførselen og forventet resultat av en applikasjon. Dette gjøres ved hjelp av et dedikert programvareverktøy som Agurk, som gjør det mulig å utføre automatiserte akseptstester skrevet i Gherkin.
Hva er agurk?
Agurk er et rammeverk for åpen kildekode som støtter Behavior Driven Development for automatiseringstesting av webapplikasjoner. Testene er først skrevet i en enkel scenarioform som beskriver systemets forventede oppførsel fra brukerens perspektiv.
I stor grad brukt til akseptanstester, er agurk skrevet i Ruby, mens testene er skrevet i Gherkin, et ikke-teknisk og menneskelig lesbart språk.
Testing av agurk og selen: En samarbeidende tilnærming
Mens automatisert selen-testing gir nøyaktighet og hastighet til utviklingssyklusen, gir agurk en ekstra kant til det, noe som gjør det mer samarbeidende for ikke-tekniske ledelsesinteressenter. Generelt fordelaktig for brukertestingstest der testscenariene i stor grad er drevet av atferd, styrker agurk automatiseringstesting.
Agurkrammer
Agurkrammer består hovedsakelig av tre hoveddeler – Feature File, Trinndefinisjoner, og Test Runner-filen.
Feature File
En frittstående enhet eller en enkelt funksjonalitet (for eksempel pålogging) for et prosjekt kan kalles en Feature. Hver av disse funksjonene vil ha scenarier som må testes ved hjelp av Selen integrert med agurk. En fil som lagrer data om funksjoner, beskrivelser av dem og scenariene som skal testes, kalles en Feature File.
Agurktester skrives i disse Feature Files som er lagret med utvidelsen – «.feature» . En funksjonsfil kan gis en beskrivelse for å gjøre dokumentasjonen mer leselig.
Eksempel:
Påloggingsfunksjonen på et nettsted
Feature File Name: userLogin .feature
Beskrivelse: Brukeren skal være i stand til å logge inn ved å skrive inn riktig brukernavn og passord i de riktige feltene. Brukeren skal rettes til hjemmesiden hvis brukernavnet og passordet som er angitt er riktig. >
Nøkkelord som GIVEN, WHEN og THEN som brukes til å skrive testen i agurk kalles Annotations.
- GIVEN-bruker navigerer til påloggingssiden ved å åpne Firefox
- NÅR bruker angir riktig < brukernavn > OG < passord > verdier
- DA blir brukeren henvist til t hjemmesiden
Trinndefinisjoner
Nå som funksjonene er skrevet i funksjonsfilene, må koden for det relaterte scenariet kjøres. For å vite hvilken gruppe koder som må kjøres for et gitt scenario, kommer trinndefinisjoner inn i bildet. En trinns definisjonsfil lagrer kartdataene mellom hvert trinn i et scenario som er definert i funksjonsfilen og koden som skal utføres.
Trinndefinisjoner kan bruke både Java- og Selen-kommandoer for Java-funksjonene som er skrevet for å kartlegge en funksjonsfil til koden.
Eksempel:
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values
read more