bdd framework
BDD (Behavior Driven Development) Framework Tutorial: Udforsk funktioner og fordele ved BDD Framework med agurkerammeeksempler
BDD-ramme, dvs. Behavior Driven Development, er en softwareudviklingsmetode, der giver testeren / forretningsanalytikeren mulighed for at oprette testsager på simpelt tekstsprog (engelsk).
Det enkle sprog, der bruges i scenarierne, hjælper selv ikke-tekniske teammedlemmer med at forstå, hvad der foregår i softwareprojektet. Dette hjælper og forbedrer kommunikationen mellem tekniske og ikke-tekniske teams, ledere og interessenter.
Hvad du lærer:
- Hvad er BDD Behavior Driven Development?
- Agurk - Et BDD-rammeværktøj
- Fordele ved BDD Framework
- Konklusion
Hvad er BDD Behavior Driven Development?
BDD transpirerer fra TDD, dvs. Test Driven Development, der giver brugerne mulighed for at arbejde med flere testdata med mindst mulig indgriben i softwarekoden og derved bidrager til at øge genanvendeligheden af koden, hvilket er en tidsbesparende mekanisme i softwareudvikling / testautomatisering .
Ved at arve TDD har BDD også alle disse funktioner sammen med fordelene.
sql scenariobaserede spørgsmål og svar
- Testscenarier skrives separat i en anden fil, navngivet som Feature-fil.
- Test skrives ved at fokusere brugerhistorier og systemadfærd på et lægmandssprog.
- Koden skal skrives forskelligt i trindefinitionsfilen, dvs. Java, Python.
Foreslået læsning => Hvordan er testere involveret i TBB / BDD-tilgang
Hvorfor bruge BDD Framework?
Før BDD-rammen brugte alle TDD. TDD fungerer fint i softwareudvikling, forudsat at interessenterne er fortrolige med den anvendte ramme, og deres tekniske viden er tilstrækkelig. Dette er dog ikke altid tilfældet.
BDD giver en sti, der fungerer som en bro for at overvinde kløften mellem de tekniske og de ikke-tekniske hold, fordi testsagerne ofte er skrevet i simpel tekst, dvs. engelsk. Den største fordel ved BDD er den lave jargon og klarere tilgang, som er lettere at forstå.
Hvordan implementeres BDD-tilgangen?
Testscenarier skal skrives på almindeligt sprog med en detaljeret beskrivelse af testen, hvordan man tester applikationen og applikationsadfærd, som alle kan forstå.
I denne vejledning vil vi fokusere på Agurk - et softwareværktøj til BDD og vil lære at praktisk implementere det ved hjælp af dets sprog, dvs. agurk.
Agurk - Et BDD-rammeværktøj
Agurk er et rammeværktøj til opførsel drevet udvikling (BDD) til at skrive testsager.
Givet - Hvornår - Så nærmer du dig
- Givet: Noget givet sammenhæng (forudsætninger).
- Hvornår: Nogle handlinger udføres (handlinger).
- Derefter: Særligt resultat / konsekvens efter ovenstående trin (Resultater).
Eksempel på funktionsfil
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å trindefinitionsfil
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 test-plugin, der hjælper med implementeringen af den adfærdsdrevne udviklingsmetode.
Anbefalet læsning => Top BDD-værktøjer, som du bør vide
Fordele ved BDD Framework
Nedenfor er de forskellige fordele ved BDD.
# 1) Dækning af brugerhistorier
Hybrid Framework med BDD er beregnet til at blive kombineret med forskellige funktioner. Hver ressource i softwareudviklingsfasen kan bidrage til BDD-rammen.
På grund af dets lette koncept med lægmandstekst i form af funktionsfil tillader interessenterne for tekniske ressourcer at skrive scenarierne på agurkesprog ved hjælp af brugerhistorierne. Kompatibiliteten af almindelig tekst hjælper med at opnå maksimal dækning ved testning.
Funktionsfil, der indeholder scenarier, er:
- Definerede brugerhistorier fra virksomheden.
- Kriterier for udviklerne for at afgøre, om specifikationerne opfylder forretningskravene.
- Testscenarier for testteamet.
- Skaledæksel til en automatiseringstester, der giver dem mulighed for separat at skrive deres kode i trindefinitionsfiler.
- Forklarede testscenarier for interessenter.
Klassificeringen af trindefinitionerne hjælper automatiseringstesteren med at holde sin kode uberørt, hvilket derved hjælper med vedligeholdelsen af scripts.
# 2) Klarhed af scenarier
Agurksprog bruger almindelig lægmandstekst, der er fokuseret på resultatet af det produkt, der testes / udvikles ved hjælp af BDD.
Da funktionsfilen adskiller den tekniske beskrivelse i en anden trindefinitionsfil til automatiseringstestere, hjælper den smart en ikke-teknisk person med let at forstå den automatiserede test. Eventuelle opdateringer kan implementeres i en lille diskussion.
Agurkens læsbarhedskraft garanterer scenariernes klarhed for hver bruger, hvilket igen hjælper med at opbygge det rigtige produkt.
# 3) Automatisering af testscenarier
Agurkimplementering i en BDD-ramme gør det muligt for en automatiseringstester let at starte scriptingen med den rigtige tilgang. Nemt sprog i agurkscenarier hjælper dem med at forstå funktionaliteten på en bedre måde.
Agurk er et sproguafhængigt plugin, da det er kompatibelt med mange programmeringssprog For eksempel. Java , Python , etc.
Læs også => Automatiseringstest ved hjælp af BDD-værktøj
# 4) Genbrug af kode i Framework
Givet - Hvornår - Så giver tilgang testere frihed til at bruge de samme trin som mange gange vi ønsker i funktionsfilen, som gradvist hjælper med at spare tid for automatiseringstestere.
Eksempel:
Scenarie: Scenarie 1
Givet Brugeren navigeres til Google Startside
Hvornår Bruger søgte “Agurk” i søgemaskinen
Derefter Klik på søgeknappen
Og Brugeren kan se søgeresultaterne til agurk i webbrowseren
Scenarie: Scenarie 2
Givet Brugeren navigeres til Google Startside
Hvornår Bruger søgte “Selen” i søgemaskinen
Derefter Klik på søgeknappen
Og Brugeren kan se søgeresultaterne til Selen i webbrowseren
I ovenstående to scenarier kan vi konkludere, at “ Givet ”, ' Hvornår ”Og“ Derefter ”Trin kan genbruges i det andet scenario.
# 5) Parameterisering i Feature File
En bruger kan parametrere agurketrinene i funktionsfilen for at opnå genanvendelighed i filen.
For eksempel, hvis en bruger arbejder på en bankapplikation, hvor han logger ind på applikationen igen og igen. En sådan slags trin kunne parametriseres med et andet datasæt, og det sparer tid for testeren.
Mens man skriver scenarierne, skal brugeren definere trinene i funktionsfilen på en sådan måde, så brugeren let kan bruge den fælles funktionalitet.
# 6) Kontinuerlig integration - Let at integrere
Agurk understøtter også arbejde med Jenkins. Du kan køre agurketestudførelsen i Jenkins og også implementere det samme i Jenkins slave-maskiner. Agurkrapporterings-pluginet giver også brugerne en udvidet visning til at spore testscenarier.
Værd at læse => Kontinuerlig integrationsproces
Konklusion
Behavior Driven Development er en meget smart tilgang i agil metode . Det anbefales altid at starte enten din udvikling eller test ved hjælp af BDD, da brug af det giver dig en platform til at arbejde uafhængigt med forskellige teknologier.
Agurk er et af de bedste værktøjer, der hjælper med at implementere Behavior Driven Development-tilgangen i softwareprojektet. Dette giver os mulighed for at arbejde med mange teknologier For eksempel. Java, Python, Jython osv.
Agurk bruges i vid udstrækning af mange organisationer og freelancere, det har også mange samfund, hvor brugerne kan diskutere deres problemer og let kan finde løsninger på deres problemer.
Agurksprog - Agurk, der bruger enkle, enkle engelske ord - reducerer kommunikationsgabet mellem tekniske teams og interessenter og giver dem mulighed for at arbejde sammen på samme niveau.
Vi håber, at denne artikel hjalp dig med at forstå det grundlæggende i BDD Framework !!
Anbefalet læsning
- Hvordan testere er involveret i TDD, BDD & ATDD teknikker
- 8 BDD-værktøjer og testrammer til bedste opførselsdrevne udvikling
- Automatiseringstest ved hjælp af agurkværktøj og selen - Selen-tutorial # 30
- Agile Methodology: En begyndervejledning til Agile Method og Scrum
- Specflow Tutorial: Den ultimative guide til BDD-værktøj
- Kontinuerlig integrationsproces: Sådan forbedres softwarekvaliteten og reducerer risikoen
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- 15 bedste kontinuerlige integrationsværktøjer i 2021 (sammenlignet)