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.

  • 🥒 Kärndefinition: Cucumber är ett beteendedriven utvecklingsverktyg som skriver tester i lättförståeliga språk som är förståeliga för både tekniska och icke-tekniska intressenter.
  • 🗣️ BDD Foundation: Affärsanalytiker och produktägare beskriver systembeteende innan utvecklare skriver kod, vilket förbättrar den gemensamma förståelsen.
  • 📝 Givet-När-Sedan: Var Cucumber Scenariot följer en läsbar Givet-När-Sedan-struktur som även fungerar som levande dokumentation.
  • Viktiga fördelar: Snabb installation, återanvändning av kod, fokus på slutanvändaren och enkelt involverande av affärsintressenter som inte är kodande.
  • ⚖️ Verktygsjämförelse: Cucumber är gratis och BDD-baserat, medan HP ALM är betald och Selenium inriktar sig på funktionell och prestandatestning.

Cucumber Ramverk

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.

Cucumber Ramverk
Cucumber Ramverk

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:

  1. Fondöverföring bör ske om det finns tillräckligt saldo på källkontot.
  2. Pengöverföring bör ske om uppgifterna på destinationskontot är korrekta.
  3. Pengöverföring ska ske om transaktionslösenordet / RSA-koden / säkerhetsautentiseringen för transaktionen som angetts av användaren är korrekt.
  4. Överföring av medel ska ske även om det är en helgdag.
  5. Ö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

  1. Det är bra att involvera affärsintressenter som inte har lätt för att läsa kod.
  2. Ocuco-landskapet Cucumber Testverktyg fokuserar på slutanvändarupplevelsen.
  3. Stilen på att skriva tester möjliggör enklare återanvändning av kod i testerna.
  4. Snabb och enkel installation och utförande.
  5. 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

Vanliga frågor

Ja. AI-verktyg kan utarbeta Ghurkin-scenarier och stegdefinitioner direkt från skriftliga krav. Testare bör dock granska de genererade scenarierna för noggrannhet, kantfall och fullständig täckning innan de används.

Nej. AI snabbar upp scenarioskrivning och steggenerering, men mänskliga testare definierar fortfarande förväntat beteende, validerar affärslogik och upprätthåller samarbete med intressenter, vilket fortfarande är centralt för beteendedriven utveckling.

Gherkin är ett språk för klartext Cucumber använder för att skriva testscenarier. Den följer Givet-När-Sedan-strukturen, vilket gör tester läsbara för både affärsintressenter och utvecklare samtidigt som de fortfarande är körbara.

Cucumber är ett BDD-verktyg. Det fokuserar på systembeteende beskrivet ur användarens perspektiv, till skillnad från TDD, som fokuserar på att skriva kodtester på enhetsnivå innan varje liten del av funktionaliteten implementeras.

Sammanfatta detta inlägg med: