Cucumber Ram: Vad är Cucumber?
⚡ Smart sammanfattning
Cucumber är ett testverktyg som stöder beteendedriven utveckling, vilket gör det möjligt för vem som helst att läsa tester oavsett teknisk kunskap. Denna resurs förklarar hur beteendedriven utveckling fungerar genom stegen Givet-När-Sedan, fördelarna med Cucumber, och hur det jämförs med Selenium och HP ALM.

Vad är Cucumber?
Cucumber är ett testverktyg som stöder beteendedriven utveckling (BDD). Det erbjuder ett sätt att skriva tester som vem som helst kan förstå, oavsett teknisk kunskap. I BDD skriver användare (affärsanalytiker, produktägare) först scenarier eller acceptanstester som beskriver systemets beteende ur kundens perspektiv, för granskning och godkännande av produktägarna innan utvecklarna skriver sin kod. Cucumber ramverket använder Ruby programmeringsspråk.

Hur BDD fungerar i Cucumber Automatisering?
Anta att du har fått i uppdrag att skapa en modul för överföring av medel i en nätbanksapplikation.
Det finns flera sätt att testa det i Cucumber Testramverk:
- Fondöverföring bör ske om det finns tillräckligt saldo på källkontot.
- Pengöverföring bör ske om uppgifterna på destinationskontot är korrekta.
- Pengöverföring ska ske om transaktionslösenordet / RSA-koden / säkerhetsautentiseringen för transaktionen som angetts av användaren är korrekt.
- Överföring av medel ska ske även om det är en helgdag.
- Överföringen ska ske på ett framtida datum som bestäms av kontoinnehavaren.
Ocuco-landskapet Testscenario blir mer detaljerad och komplex när vi beaktar ytterligare funktioner som överföringsbelopp X under ett intervall på Y dagar/månader, stoppa den schemalagda överföringen när det totala beloppet når Z, och så vidare.
Utvecklare har en generell tendens att utveckla funktioner och skriva testkod senare. Som framgår av fallet ovan, Testfall utvecklingen för detta scenario är komplex, och utvecklaren kommer att skjuta upp Testning fram till lanseringen, då de kommer att göra snabba men ineffektiva tester.
För att övervinna detta problem, Cucumber BDD (Behavior Driven Development) utformades. Det gör hela testprocessen enkel för en utvecklare.
In Cucumber BDD, vad du än skriver måste gå in på Givet-När-Då steg. Låt oss betrakta samma exempel ovan i BDD:
Given that a fund transfer module in net banking application has been developed And I am accessing it with proper authentication
When I 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
Är det inte lätt att skriva, läsa och förstå? Det täcker alla möjliga testfall för fondöverföringsmodulen och kan enkelt modifieras för att hantera fler. Det är också mer som att skriva dokumentation för fondöverföringsmodulen.
Fördelar med Cucumber Mjukvara
- Det är bra att involvera affärsintressenter som inte har lätt för att läsa kod.
- Ocuco-landskapet Cucumber Testverktyg fokuserar på slutanvändarupplevelsen.
- Stilen på att skriva tester möjliggör enklare återanvändning av kod i testerna.
- Snabb och enkel installation och utförande.
- Ocuco-landskapet Cucumber testverktyg är ett effektivt verktyg för testning.
Cucumber vs Selenium mot ALM
I det här avsnittet kommer vi att studera skillnaden mellan Cucumber, Seleniumoch ALM.
| Cucumber | HP ALM (QTP) | Selenium |
|---|---|---|
| Cucumber programvaran är gratis. | QTP är dyr. | Det är gratis. |
| Cucumber Programvara är ett beteendedrivet utvecklingsverktyg. | Det är ett funktionellt automatiseringsverktyg. | Det är en funktionell och prestandamässig (Selenium Grid) testverktyg. |
| Plugin-programmet i Cucumber testverktyget fungerar snabbare. | Plugins är långsammare jämfört med Cucumber och Selenium. | Plugins är långsammare än Cucumber. |
| Cucumber Framework stöder även andra språk utöver Ruby, som Java, Scala, GroovyEtc. | QTP stöder endast VB-skript. | Selenium stöder Java, .Net och många andra språk. |
| Att skriva automatiseringssteg är ett gemensamt arbete mellan testare och utvecklare. | In QTP, bara testaren skriver automatiseringssteg. | Tycka om Cucumber, att skriva automatiseringssteg är ett gemensamt arbete mellan testare och utvecklare. |
| Ocuco-landskapet Cucumber Testverktyget stöder endast webbmiljön. | Stöder webb-, skrivbords- och alla klient-server-applikationer. | Stöder endast webbmiljön. |
Kontrollera också: - UFT vs Selenium: Skillnad mellan Selenium och HP UFT
