bdd framework
BDD (Behavior Driven Development) Framework Tutorial: Utforsk funksjoner og fordeler med BDD Framework med agurk Framework eksempler
BDD-rammeverk, dvs. Behavior Driven Development, er en programvareutviklingsmetode som lar testeren / forretningsanalytikeren lage testsaker på enkelt tekstspråk (engelsk).
Det enkle språket som brukes i scenariene, hjelper selv ikke-tekniske teammedlemmer til å forstå hva som skjer i programvareprosjektet. Dette hjelper og forbedrer kommunikasjonen mellom tekniske og ikke-tekniske team, ledere og interessenter.
Hva du vil lære:
- Hva er BDD Behavior Driven Development?
- Agurk - Et BDD-rammeverktøy
- Fordeler med BDD Framework
- Konklusjon
Hva er BDD Behavior Driven Development?
BDD overføres fra TDD, dvs. Test Driven Development, som lar brukerne arbeide med flere testdata med minimalt inngrep i programvarekoden og dermed bidrar til å øke gjenbrukbarheten av koden, som er en tidsbesparende mekanisme i programvareutvikling / testautomatisering .
Ved å arve TDD har BDD også alle disse funksjonene sammen med fordelene.
gratis hurtigbokalternativ for småbedrifter
- Testscenarier skrives separat i en annen fil, kalt Feature-fil.
- Tester skrives ved å fokusere brukerhistorier og systematferd på et lekmannsspråk.
- Koden skal skrives annerledes i trinndefinisjonsfilen, dvs. Java, Python.
Foreslått lese => Hvordan er testere involvert i TBB / BDD-tilnærming
Hvorfor bruke BDD Framework?
Før BDD-rammeverket brukte alle TDD. TDD fungerer bra innen programvareutvikling, forutsatt at interessentene er kjent med rammene som brukes og deres tekniske kunnskap er tilstrekkelig. Imidlertid kan dette ikke alltid være tilfelle.
BDD gir en vei som fungerer som en bro for å overvinne gapet mellom de tekniske og ikke-tekniske teamene fordi testsakene ofte er skrevet i enkel tekst, dvs. engelsk. Den største fordelen med BDD er lav sjargong og tydeligere tilnærming som er lettere å forstå.
Hvordan implementere BDD-tilnærmingen?
Testscenarier bør skrives på vanlig språk med en detaljert beskrivelse av testen, hvordan du tester applikasjonen og applikasjonsadferd som alle kan forstå.
I denne opplæringen vil vi fokusere på Agurk - et programvareverktøy for BDD og vil lære å praktisk implementere det ved hjelp av språket det vil si Gherkin.
Agurk - Et BDD-rammeverktøy
Agurk er et rammeverktøy for oppførsel drevet utvikling (BDD) for å skrive testsaker.
Gitt - Når - Så nærmer deg
- Gitt: Noe gitt kontekst (Forutsetninger).
- Når: Noe handling utføres (handlinger).
- Deretter: Spesielt utfall / konsekvens etter trinnet ovenfor (Resultater).
Eksempel på funksjonsfil
Feature : BDD implementation using Cucumber Scenario : Login to G-mail using Cucumber plugin Given User is navigating to G-mail Login Page When User need to enter username as 'Username' and password as 'Password' Then User is successfully navigated to the G-mail Mail Box
Eksempel på trinndefinisjonsfil
import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Sample { @Given('^User is navigating to G-mail Login Page$') public void user_is_navigating_to_G_mail_Login_Page() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When('^User need to enter username as '((^')*)' and password as '((^')*)'$') public void user_need_to_enter_username_as_and_password_as(String arg1, String arg2) throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then('^User is successfully navigated to the G-mail Mail Box$') public void user_is_successfully_navigated_to_the_G_mail_Mail_Box() throws Throwable { // Write code here that turns the phrase above into concrete actions } }
Agurk er et testtillegg som hjelper til med implementeringen av den atferdsdrevne utviklingsmetoden.
Anbefalt lesing => Topp BDD-verktøy du bør vite
Fordeler med BDD Framework
Nedenfor er de forskjellige fordelene med BDD.
# 1) Dekning av brukerhistorier
Hybrid Framework med BDD er ment å kombineres med forskjellige funksjoner. Hver ressurs i programvareutviklingsfasen kan bidra til BDD-rammeverket.
På grunn av det enkle konseptet med lekmannstekst i form av funksjonsfil, kan interessenter for tekniske ressurser skrive scenariene på surgjærespråk ved hjelp av brukerhistoriene. Kompatibiliteten til ren tekst bidrar til å få maksimal dekning ved testing.
Funksjonsfil som inneholder scenarier er:
- Definerte brukerhistorier fra virksomheten.
- Kriterier for utviklerne for å avgjøre om spesifikasjonene oppfyller forretningskravene.
- Test scenarier for testteamet.
- Skaledeksel for en automatiseringstester som lar dem skrive koden separat i trinndefinisjonsfiler.
- Forklarede testscenarier for interessenter.
Klassifiseringen av trinndefinisjonene hjelper automatiseringstesteren til å holde koden uberørt, noe som dermed hjelper til med å vedlikeholde skriptene.
# 2) Klarhet av scenarier
Agurkaspråk bruker vanlig lekmannstekst som er fokusert på utfallet av produktet som testes / utvikles ved bruk av BDD.
Ettersom funksjonsfil skiller den tekniske beskrivelsen i en annen trinns definisjonsfil for automatiseringstestere, hjelper den en ikke-teknisk person med å forstå den automatiserte testen enkelt. Eventuelle oppdateringer kan implementeres i en liten diskusjon.
Gjørkins lesbarhetskraft garanterer klarhet i scenarier til hver bruker, som igjen hjelper til med å bygge riktig produkt.
# 3) Automatisering av testscenarier
Agurkimplementering i et BDD-rammeverk lar en automatiseringstester enkelt starte skriptingen med riktig tilnærming. Enkelt språk i agurkscenarier hjelper dem til å forstå funksjonaliteten på en bedre måte.
Agurk er et språkuavhengig plugin da det er kompatibelt med mange programmeringsspråk F.eks. Java , Python , etc.
Les også => Automatiseringstesting ved hjelp av BDD Tool
# 4) Kodebruk i Framework
Gitt - Når - Da gir tilnærming testere frihet til å bruke de samme trinnene som mange ganger vi ønsker i funksjonsfilen, som gradvis hjelper til med å spare tid for automatiseringstesterne.
Eksempel:
Scenario: Scenario 1
Gitt Brukeren navigeres til Googles startside
Når Bruker søkte på 'Agurk' i søkemotoren
Deretter Klikk på søkeknappen
Og Brukeren kan se søkeresultater for agurk i nettleseren
Scenario: Scenario 2
Gitt Brukeren navigeres til Googles startside
Når Bruker søkte på “Selen” i søkemotoren
Deretter Klikk på søkeknappen
Og Brukeren kan se søkeresultater for Selen i nettleseren
I de to ovennevnte scenariene kan vi konkludere med at “ Gitt ”, ' Når ”Og“ Deretter Trinn er gjenbrukbare i det andre scenariet.
# 5) Parameterisering i funksjonsfil
En bruker kan parametere agurkurtrinnene i funksjonsfilen for å oppnå gjenbrukbarhet i filen.
For eksempel, hvis en bruker jobber med en banksøknad der han logger på applikasjonen igjen og igjen. Slike slags trinn kan parametriseres med et annet datasett, og det sparer tid for testeren.
Mens du skriver scenariene, må brukeren definere trinnene for funksjonsfiler på en slik måte, slik at brukeren enkelt kan bruke den vanlige funksjonaliteten.
# 6) Kontinuerlig integrasjon - Enkel å integrere
Agurk støtter også samarbeid med Jenkins. Du kan kjøre agurkatestutførelsen i Jenkins og også implementere det samme i Jenkins slave-maskiner. Agurkrapporteringsprogrammet gir også brukere en utvidet visning for å spore testscenarier.
Verdt å lese => Kontinuerlig integrasjonsprosess
Konklusjon
Behavior Driven Development er en veldig smart tilnærming i smidig metodikk . Det anbefales alltid å starte utviklingen eller testen med BDD, ettersom du bruker den gir en plattform for å jobbe uavhengig med forskjellige teknologier.
Agurk er et av de beste verktøyene som hjelper med å implementere Behavior Driven Development-tilnærmingen i programvareprosjektet. Dette gjør at vi kan jobbe med mange teknologier F.eks. Java, Python, Jython, etc.
Agurk blir mye brukt av mange organisasjoner og frilansere, den har også mange lokalsamfunn der brukerne kan diskutere problemene sine og lett kan finne løsninger på problemene deres.
Agurkspråk - Agurk som bruker enkle, enkle engelske ord - reduserer kommunikasjonsgapet mellom tekniske team og interessenter og lar dem jobbe sammen på samme nivå.
Vi håper denne artikkelen hjalp deg med å forstå det grunnleggende i BDD Framework !!
Anbefalt lesing
- Hvordan testere er involvert i TDD, BDD og ATDD teknikker
- 8 Best Behavior Driven Development (BDD) verktøy og testrammer
- Automatiseringstesting ved hjelp av agurkverktøy og selen - Selenveiledning nr. 30
- Agile Methodology: A Beginner's Guide To Agile Method and Scrum
- Specflow Tutorial: The Ultimate Guide to BDD Tool
- Kontinuerlig integrasjonsprosess: Hvordan forbedre programvarekvaliteten og redusere risikoen
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- De 15 beste kontinuerlige integrasjonsverktøyene i 2021 (sammenlignet)