Cucumber Ramme: Hvad er Cucumber Testværktøj?

Hvad er Cucumber?

Cucumber er et testværktøj, der understøtter Behavior Driven Development (BDD). Det tilbyder en måde at skrive test på, som alle kan forstå, uanset deres tekniske viden. I BDD skriver brugere (forretningsanalytikere, produktejere) først scenarier eller accepttest, der beskriver systemets adfærd fra kundens perspektiv, til gennemgang og sign-off af produktejere, før udviklere skriver deres koder. Cucumber rammebrug Ruby programmeringssprog.

Cucumber Framework
Cucumber Framework

Sådan fungerer BDD i Cucumber Automatisering?

Overvej, at du er blevet tildelt til at oprette pengeoverførselsmodul i en Net Banking-applikation.

Der er flere måder at teste det på Cucumber Testramme

  1. Pengeoverførsel bør finde sted, hvis der er nok saldo på kildekontoen
  2. Pengeoverførsel bør finde sted, hvis destinations-a/c-oplysningerne er korrekte
  3. Pengeoverførsel bør finde sted, hvis transaktionsadgangskode / rsa-kode / sikkerhedsgodkendelse for transaktionen indtastet af brugeren er korrekt
  4. Pengeoverførsel bør finde sted, selvom det er en helligdag
  5. Pengeoverførsel bør finde sted på en fremtidig dato som fastsat af kontohaveren

Testscenarie blive mere kompliceret og kompleks, da vi overvejer yderligere funktioner som overførselsbeløb X i et interval Y dage/måneder , stop tidsplanoverførsel, når det samlede beløb når Z , og så videre

Den generelle tendens hos udviklere er at udvikle funktioner og skrive testkode senere. Som det fremgår af ovenstående tilfælde, Test sag udvikling for denne sag er kompleks, og udvikleren vil udsætte Test indtil frigivelse, hvorefter han vil lave hurtige, men ineffektive tests.

For at overvinde dette problem, Cucumber BDD (Behavior Driven Development), blev undfanget. Det gør hele testprocessen let for en udvikler

In Cucumber BDD, hvad end du skriver skal gå ind Givet-Hvornår-Så trin. Lad os overveje det samme eksempel ovenfor i BDD

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
WhenI shall transfer with enough balance in my source account
Or I shall transfer on a Bank Holiday
Or I shall transfer on a future date
And destination a/c details are correct
And transaction password/RSA code/security authentication for the transaction is correct
And press or click send button
Then amount must be transferred
And the event will be logged in log file

Er det ikke nemt at skrive og læse og forstå? Det dækker alle mulige testcases for pengeoverførselsmodulet og kan nemt ændres, så det kan rumme flere. Det er også mere som at skrive dokumentation til fondsoverførselsmodulet.

Fordele ved Cucumber Software

  1. Det er nyttigt at involvere forretningsinteressenter, som ikke nemt kan læse kode
  2. Cucumber Testværktøj fokuserer på slutbrugeroplevelsen
  3. Skrivestilen giver mulighed for lettere genbrug af kode i testene
  4. Hurtig og nem opsætning og udførelse
  5. Cucumber testværktøj er et effektivt værktøj til test

Cucumber vs Selenium vs ALM

I dette afsnit vil vi studere forskellen mellem Cucumber, Selenium og ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber software er gratis QTP er dyrt Det er gratis
Cucumber software er et adfærdsdrevet udviklingsværktøj Det er et funktionelt automatiseringsværktøj Det er en funktionel og ydeevne ( Selenium Grid) testværktøj
Plugin ind Cucumber testværktøj fungerer hurtigere Plugin er langsommere sammenlignet med Cucumber og Selenium Plugins er langsommere end agurk
Cucumber Framework understøtter også andre sprog ud over Ruby-lignende Java, Scala, Groovy etc. QTP understøtter kun VB script Selenium understøtninger Java, .Net og mange andre sprog
At skrive automatiseringstrin er en fælles indsats af testere og udviklere In QTP kun testeren skriver automatiseringstrin lignende Cucumber Værktøj, skriveautomatiseringstrin er fælles indsats af testere og udviklere
Cucumber testværktøj understøtter kun webmiljø Understøtter web, desktop og enhver klientserverapplikation Understøtter kun webmiljø

Tjek også:- UFT vs Selenium: Forskel mellem Selenium og HP UFT

Opsummer dette indlæg med: