Cucumber Okvir: Što je Cucumber?

⚡ Pametni sažetak

Cucumber je alat za testiranje koji podržava razvoj vođen ponašanjem, omogućujući svima da čitaju testove bez obzira na tehničko znanje. Ovaj resurs objašnjava kako BDD funkcionira kroz korake Dano-Kada-Zatim, prednosti Cucumberi kako se to uspoređuje s Selenium i HP ALM.

  • ???? Osnovna definicija: Cucumber je alat za razvoj vođen ponašanjem koji piše testove jednostavnim jezikom razumljive tehničkim i netehničkim dionicima.
  • 🗣️ BDD Foundation: Poslovni analitičari i vlasnici proizvoda opisuju ponašanje sustava prije nego što programeri napišu kod, poboljšavajući zajedničko razumijevanje.
  • 📝 Dano-Kada-Tada: Svaki Cucumber Scenarij slijedi čitljivu strukturu Dano-Kada-Zatim koja služi i kao živa dokumentacija.
  • Ključne prednosti: Brzo postavljanje, ponovna upotreba koda, fokus na krajnjeg korisnika i jednostavno uključivanje poslovnih dionika koji nisu programeri.
  • ⚖️ Usporedba alata: Cucumber je besplatan i baziran na BDD-u, dok je HP ALM plaćen i Selenium usmjereno na funkcionalno i performansno testiranje.

Cucumber Okvir

Što je Cucumber?

Cucumber je alat za testiranje koji podržava razvoj vođen ponašanjem (BDD). Nudi način pisanja testova koje svatko može razumjeti, bez obzira na tehničko znanje. U BDD-u, korisnici (poslovni analitičari, vlasnici proizvoda) prvo pišu scenarije ili testove prihvatljivosti koji opisuju ponašanje sustava iz perspektive kupca, za pregled i odobrenje od strane vlasnika proizvoda prije nego što programeri napišu svoj kod. Cucumber okvir koristi Ruby programski jezik.

Cucumber Okvir
Cucumber Okvir

Kako BDD radi u Cucumber Automatizacija?

Zamislite da vam je zadatak stvoriti modul za prijenos sredstava u aplikaciji Net Banking.

Postoji više načina da se to testira u Cucumber Okvir za testiranje:

  1. Prijenos sredstava trebao bi se izvršiti ako na izvornom računu postoji dovoljan saldo.
  2. Prijenos sredstava trebao bi se izvršiti ako su podaci o odredišnom računu točni.
  3. Prijenos sredstava trebao bi se izvršiti ako je lozinka transakcije / RSA kod / sigurnosna autentifikacija za transakciju koju je unio korisnik ispravna.
  4. Prijenos sredstava trebao bi se izvršiti čak i ako je državni praznik.
  5. Prijenos sredstava trebao bi se izvršiti na budući datum koji odredi vlasnik računa.

The Testni scenarij postaje složenije i složenije kada uzmemo u obzir dodatne značajke poput iznosa prijenosa X za interval od Y dana/mjeseci, zaustavljanja planiranog prijenosa kada ukupni iznos dosegne Z i tako dalje.

Opća tendencija programera je razvijati značajke, a testni kod pisati kasnije. Kao što je vidljivo u gornjem slučaju, Testni slučaj Razvoj za ovaj scenarij je složen i programer će odgoditi Ispitivanje do puštanja u promet, kada će provesti brzo, ali neučinkovito testiranje.

Da biste prevladali ovaj problem, Cucumber BDD (Razvoj vođen ponašanjem) je zamišljen. Cijeli proces testiranja olakšava programeru.

In Cucumber BDD, što god da napišeš mora ući S obzirom-Kada-Tada korake. Razmotrimo isti gornji primjer u BDD-u:

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

Nije li lako pisati, čitati i razumjeti? Pokriva sve moguće testne slučajeve za modul prijenosa sredstava i može se lako modificirati kako bi se prilagodio većem broju. Također je više poput pisanja dokumentacije za modul prijenosa sredstava.

Prednosti Cucumber Softver

  1. Korisno je uključiti poslovne dionike koji ne mogu lako čitati kod.
  2. The Cucumber Alat za ispitivanje fokusira se na iskustvo krajnjeg korisnika.
  3. Stil pisanja testova omogućuje lakšu ponovnu upotrebu koda u testovima.
  4. Brzo i jednostavno postavljanje i izvođenje.
  5. The Cucumber alat za testiranje je učinkovit alat za testiranje.

Cucumber vs Selenium protiv ALM-a

U ovom odjeljku ćemo proučiti razliku između Cucumber, Seleniumi ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber softver je besplatan. QTP je skupo. Besplatno je.
Cucumber softver je alat za razvoj vođen ponašanjem. To je alat za funkcionalnu automatizaciju. To je funkcionalno i performansno (Selenium alat za testiranje mreže).
Dodatak u Cucumber alat za testiranje radi brže. Dodaci su sporiji u usporedbi s Cucumber i Selenium. Dodaci su sporiji od Cucumber.
Cucumber Framework podržava i druge jezike osim Rubyja, kao što je Java, Scala, Groovy, Itd QTP podržava samo VB skriptu. Selenium podržava Java, .Net i mnogi drugi jezici.
Pisanje koraka automatizacije zajednički je napor testera i programera. In QTP, samo tester piše korake automatizacije. Like Cucumber, pisanje koraka automatizacije zajednički je napor testera i programera.
The Cucumber Alat za testiranje podržava samo web okruženje. Podržava web, desktop i bilo koju klijent-poslužiteljsku aplikaciju. Podržava samo web okruženje.

Također provjerite: - UFT vs Selenium: Razlika između Selenium i HP UFT

Pitanja i odgovori

Da. Alati umjetne inteligencije mogu izraditi Gherkinove scenarije i definicije koraka izravno iz pisanih zahtjeva. Međutim, testeri bi trebali pregledati generirane scenarije radi točnosti, rubnih slučajeva i potpune pokrivenosti prije nego što ih koriste.

Ne. Umjetna inteligencija ubrzava pisanje scenarija i generiranje koraka, ali ljudski testeri i dalje definiraju očekivano ponašanje, potvrđuju poslovnu logiku i održavaju suradnju sa zainteresiranim stranama, što ostaje ključno za razvoj vođen ponašanjem.

Gherkin je jezik običnog teksta Cucumber koristi se za pisanje testnih scenarija. Slijedi strukturu Dano-Kada-Zatim, što testove čini čitljivima i poslovnim dionicima i programerima, a istovremeno ih je moguće izvršiti.

Cucumber je BDD alat. Fokusira se na ponašanje sustava opisano iz korisničke perspektive, za razliku od TDD-a, koji se usredotočuje na pisanje testova koda na razini jedinica prije implementacije svakog malog dijela funkcionalnosti.

Sažmite ovu objavu uz: