bdd framework
BDD (Behavior Driven Development) Framework Tutorial: Utforska funktioner och fördelar med BDD Framework med gurka Framework Exempel
BDD-ram, dvs. Behavior Driven Development, är en programvaruutvecklingsmetod som gör det möjligt för testaren / affärsanalytikern att skapa testfall på enkelt textspråk (engelska).
Det enkla språket som används i scenarierna hjälper även icke-tekniska teammedlemmar att förstå vad som händer i programvaruprojektet. Detta hjälper och förbättrar kommunikationen mellan tekniska och icke-tekniska team, chefer och intressenter.
Vad du kommer att lära dig:
Vad är BDD-beteendestyrd utveckling?
BDD överförs från TDD, dvs Test Driven Development, som gör det möjligt för användarna att arbeta med flera testdata med minimalt ingripande i mjukvarukoden och därigenom hjälper till att öka återanvändbarheten för koden, vilket är en tidsbesparande mekanism vid mjukvaruutveckling / testautomatisering .
Genom att ärva TDD har BDD också alla dessa funktioner tillsammans med dess fördelar.
konvertera youtube till mp3 längre än 20 minuter
- Testscenarier skrivs separat i en annan fil, benämnd Feature-fil.
- Tester skrivs genom att fokusera användarberättelser och systembeteende på lekman.
- Koden måste skrivas annorlunda i stegdefinitionsfilen, dvs Java, Python.
Föreslagen läsning => Hur är testare involverade i TBB / BDD Approach
Varför använda BDD Framework?
Innan BDD-ramverket använde alla TDD. TDD fungerar bra inom mjukvaruutveckling, förutsatt att intressenterna är bekanta med det ramverk som används och deras tekniska kunskap är tillräcklig. Men detta kanske inte alltid är fallet.
BDD tillhandahåller en väg som fungerar som en bro för att övervinna klyftan mellan de tekniska och de icke-tekniska grupperna eftersom testfallet vanligtvis skrivs i enkel text, dvs. engelska. Den största fördelen med BDD är lågt jargong och tydligare tillvägagångssätt som är lättare att förstå.
Hur implementerar man BDD-metoden?
Testscenarier bör skrivas på vanligt språk med en detaljerad beskrivning av testet, hur man testar applikationen och applikationsbeteendet som kan förstås av alla.
I denna handledning kommer vi att fokusera på Gurka - ett mjukvaruverktyg för BDD och kommer att lära sig att praktiskt implementera det med hjälp av dess språk, dvs. Gherkin.
Gurka - Ett BDD-ramverktyg
Gurka är ett ramverktyg för beteendedriven utveckling (BDD) för att skriva testfall.
Givet - När - Då närmar sig
- Given: Något givet sammanhang (förutsättningar).
- När: Vissa åtgärder utförs (åtgärder).
- Sedan: Särskilt resultat / konsekvens efter ovanstående steg (Resultat).
Exempelfunktionsfil
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
Exempel på stegdefinitionsfil
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 } }
Gurka är ett testplugin som hjälper till att implementera beteendestyrd utvecklingsstrategi.
Rekommenderad läsning => Topp BDD-verktyg som du borde veta
Fördelar med BDD Framework
Nedan listas de olika fördelarna med BDD.
# 1) Täckning av användarberättelser
Hybrid Framework med BDD är tänkt att kombineras med olika funktioner. Varje resurs i programvaruutvecklingsfasen kan bidra till BDD-ramverket.
På grund av det enkla konceptet med lekmanstext i form av funktionsfil kan intressenterna för tekniska resurser skriva scenarierna på gurkspråk med hjälp av användarberättelserna. Kompatibiliteten för klartext hjälper till att få maximal täckning vid testning.
Funktionsfil som innehåller scenarier är:
- Definierade användarberättelser från verksamheten.
- Kriterier för utvecklarna för att avgöra om specifikationerna uppfyller företagskraven.
- Testscenarier för testteamet.
- Skalomslag för en automatiseringstestare som gör att de kan skriva sin kod separat i stegdefinitionsfiler.
- Förklarade testscenarier för intressenter.
Klassificeringen av stegdefinitionerna hjälper automatiseringstestaren att hålla sin kod orörd vilket därmed hjälper till att underhålla skripten.
# 2) Klarhet i scenarier
Gurkspråk använder vanlig lektext som fokuserar på resultatet av den produkt som testas / utvecklas med BDD.
Eftersom funktionsfilen separerar den tekniska beskrivningen i en annan stegdefinitionsfil för automatiseringstestare, hjälper det smart en icke-teknisk person att lätt förstå det automatiska testet. Eventuella uppdateringar kan implementeras i en liten diskussion.
Gurkas läsbarhetskraft garanterar scenariernas tydlighet för alla användare som i sin tur hjälper till att bygga rätt produkt.
# 3) Automation av testscenarier
Gurkaimplementering i ett BDD-ramverk gör att en automatiseringstestare enkelt kan starta skriptet med rätt tillvägagångssätt. Enkelt språk för gurkscenarier hjälper dem att förstå funktionaliteten på ett bättre sätt.
Gurka är ett språkoberoende plugin eftersom det är kompatibelt med många programmeringsspråk T.ex. Java , Pytonorm , etc.
Läs också => Automationstestning med BDD Tool
# 4) Kodåteranvändning i ramverk
Givet - När - Då tillvägagångssätt ger testarna frihet att använda samma steg som många gånger vi vill ha i funktionsfilen vilket gradvis hjälper till att spara tid för automatiseringstestarna.
Exempel:
Scenario: Scenario 1
Given Användaren navigeras till Googles startsida
När Användaren sökte 'Gurka' i sökmotorn
Sedan Klicka på Sök-knappen
Och Användaren kan se sökresultat för Gurka i webbläsaren
Scenario: Scenario 2
Given Användaren navigeras till Googles startsida
När Användaren sökte 'Selen' i sökmotorn
Sedan Klicka på Sök-knappen
Och Användaren kan se sökresultat för Selen i webbläsaren
I ovanstående två scenarier kan vi dra slutsatsen att ” Given', ' När ”Och” Sedan ”Steg kan återanvändas i det andra scenariot.
# 5) Parameterisering i funktionsfil
En användare kan parametrisera gurka-stegen i funktionsfilen för att få återanvändbarhet i filen.
Till exempel, om en användare arbetar med en bankapplikation där han loggar in på applikationen om och om igen. Sådana steg kan parametreras med en annan uppsättning data och det sparar tid för testaren.
När du skriver scenarierna måste användaren definiera funktionsfilstegen på ett sådant sätt så att användaren enkelt kan använda den gemensamma funktionaliteten.
# 6) Kontinuerlig integration - Lätt att integrera
Gurka stöder också arbetet med Jenkins. Du kan köra gurktestutförandet i Jenkins och också implementera detsamma i Jenkins slavmaskiner. Plugin för gurkarapportering ger också användare en utökad vy för att spåra testscenarier.
Värt att läsa => Kontinuerlig integrationsprocess
Slutsats
Beteendedriven utveckling är ett mycket smart tillvägagångssätt smidig metodik . Det rekommenderas alltid att starta antingen din utveckling eller testning med BDD, eftersom det ger dig en plattform att arbeta självständigt med olika tekniker.
Gurka är ett av de bästa verktygen som hjälper till att implementera beteendedriven utvecklingsstrategi i programvaruprojektet. Detta gör att vi kan arbeta med många tekniker T.ex. Java, Python, Jython, etc.
Gurka används ofta av många organisationer och frilansare, det har också många samhällen där användarna kan diskutera sina frågor och enkelt kan hitta lösningar på sina problem.
Gurkspråk - Gurka som använder enkla engelska ord - minskar kommunikationsgapet mellan tekniska team och intressenter och låter dem arbeta tillsammans på samma nivå.
Vi hoppas att den här artikeln hjälpte dig att förstå grunderna i BDD Framework !!
Rekommenderad läsning
- Hur testarna är involverade i TDD-, BDD- och ATDD-tekniker
- 8 BDD-verktyg (Best Behavior Driven Development) och testramar
- Automationstestning med gurkaverktyg och selen - Selen självstudie # 30
- Agile Methodology: A Beginner's Guide To Agile Method and Scrum
- Specflow Tutorial: The Ultimate Guide to BDD Tool
- Kontinuerlig integrationsprocess: Hur man förbättrar programvarukvalitet och minskar risker
- Gurkselen-handledning: Gurka Java Selen WebDriver-integration
- 15 bästa kontinuerliga integrationsverktyg 2021 (jämfört)