Cucumber Raamistik: mis on Cucumber?

โšก Nutikas kokkuvรตte

Cucumber on testimistรถรถriist, mis toetab kรคitumispรตhist arendust (BDA), vรตimaldades kรตigil teste lugeda olenemata tehnilistest teadmistest. See ressurss selgitab, kuidas BDD toimib antud-kui-siis-sammult sammude kaudu, eeliseid Cucumberja kuidas see vรตrdub Selenium ja HP โ€‹โ€‹ALM.

  • ๐Ÿฅ’ Pรตhidefinitsioon: Cucumber on kรคitumispรตhine arendustรถรถriist, mis kirjutab lihtsas keeles teste, mis on arusaadavad nii tehnilistele kui ka mitte-tehnilistele sidusrรผhmadele.
  • ๐Ÿ—ฃ๏ธ BDD Foundation: ร„rianalรผรผtikud ja tooteomanikud kirjeldavad sรผsteemi kรคitumist enne, kui arendajad koodi kirjutavad, parandades seelรคbi รผhist arusaamist.
  • ๐Ÿ“ Antud-millal-siis: Iga Cucumber stsenaarium jรคrgib loetavat antud-millal-siis struktuuri, mis toimib ka elava dokumentatsioonina.
  • โšก Eeliseid: Kiire seadistamine, koodi taaskasutamine, lรตppkasutajale keskendumine ja mittekodeerivate รคrisidusrรผhmade lihtne kaasamine.
  • ๐Ÿ‡ง๐Ÿ‡ท Tรถรถriistade vรตrdlus: Cucumber on tasuta ja BDD-pรตhine, samas kui HP ALM on tasuline ja Selenium sihtmรคrgiks on funktsionaalne ja jรตudlustestimine.

Cucumber Raamistik

Mis on Cucumber?

Cucumber on testimistรถรถriist, mis toetab kรคitumispรตhist arendust (BDD). See pakub viisi testide kirjutamiseks, millest igaรผks saab aru, olenemata oma tehnilistest teadmistest. BDD-s kirjutavad kasutajad (รคrianalรผรผtikud, tooteomanikud) kรตigepealt stsenaariumid vรตi vastuvรตtutestid, mis kirjeldavad sรผsteemi kรคitumist kliendi vaatenurgast, et tooteomanikud saaksid need enne arendajate koodi kirjutamist รผle vaadata ja heaks kiita. Cucumber raamistik kasutab Ruby programmeerimiskeel.

Cucumber Raamistik
Cucumber Raamistik

Kuidas BDD tรถรถtab Cucumber Automatiseerimine?

Kujutage ette, et teile on mรครคratud luua internetipanga rakenduses rahaรผlekande moodul.

Selle testimiseks on mitu vรตimalust Cucumber Testimise raamistik:

  1. รœlekanne peaks toimuma, kui algsel kontol on piisavalt raha.
  2. Rahaรผlekanne peaks toimuma, kui sihtkonto andmed on รตiged.
  3. Rahaรผlekanne peaks toimuma, kui kasutaja sisestatud tehingu parool / RSA-kood / turvaautentimine on รตige.
  4. Rahaรผlekanne peaks toimuma ka siis, kui on riigipรผha.
  5. Rahaรผlekanne peaks toimuma konto omaniku mรครคratud tulevasel kuupรคeval.

. Testi stsenaarium muutub keerukamaks ja keerukamaks, kui arvestame lisafunktsioone, nagu รผlekande summa X Y pรคeva/kuu jooksul, plaanilise รผlekande peatamine, kui kogusumma ulatub Z-ni jne.

Arendajate รผldine kalduvus on arendada funktsioone ja kirjutada testkood alles hiljem. Nagu รผlaltoodud juhtumist ilmneb, Testjuhtum Selle stsenaariumi jaoks on arendus keeruline ja arendaja lรผkkab selle edasi Testimine kuni vรคljaandmiseni, mille jรคrel nad teevad kiireid, kuid ebaefektiivseid teste.

Selle probleemi lahendamiseks Cucumber BDD (kรคitumisest juhitud arendus) see loodi. See muudab arendaja jaoks kogu testimisprotsessi lihtsaks.

In Cucumber BDD, kรตik, mida sa kirjutad, peab minema Antud-Millal-Siis sammud. Vaatleme sama nรคidet รผlaltoodud BDD-s:

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

Kas seda pole mitte lihtne kirjutada, lugeda ja mรตista? See hรตlmab kรตiki vรตimalikke rahaรผlekande mooduli testjuhtumeid ja seda saab hรตlpsasti muuta, et mahutada rohkem. See on ka pigem rahaรผlekande mooduli dokumentatsiooni kirjutamine.

Eelised Cucumber tarkvara

  1. Kasulik on kaasata รคrihuvilisi, kellel pole koodi kerge lugeda.
  2. . Cucumber Testimisvahend keskendub lรตppkasutaja kogemusele.
  3. Testide kirjutamise stiil vรตimaldab koodi testides hรตlpsamini taaskasutada.
  4. Kiire ja lihtne seadistamine ja teostamine.
  5. . Cucumber testimisvahend on tรตhus tรถรถriist testimine.

Cucumber vs Selenium vs ALM

Selles jaotises uurime erinevust Cucumber, Seleniumja ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber tarkvara on tasuta. QTP on kallis. See on tasuta.
Cucumber Tarkvara on kรคitumispรตhine arendustรถรถriist. See on funktsionaalse automatiseerimise tรถรถriist. See on funktsionaalne ja tulemuslik (Selenium Grid) testimisvahend.
Plugin selles Cucumber Testimisvahend tรถรถtab kiiremini. Pluginad on aeglasemad vรตrreldes Cucumber ja Selenium. Pluginad on aeglasemad kui Cucumber.
Cucumber Raamistik toetab lisaks Rubyle ka teisi keeli, nรคiteks Java, Scala, GroovyJne QTP toetab ainult VB skripti. Selenium toetab Java, .Net ja paljud teised keeled.
Automatiseerimisetappide kirjutamine on testijate ja arendajate รผhine pingutus. In QTP, kirjutab automatiseerimisetappe ainult testija. nagu Cucumber, automatiseerimisetappide kirjutamine on testijate ja arendajate รผhine pingutus.
. Cucumber Testimistรถรถriist toetab ainult veebikeskkonda. Toetab veebi-, tรถรถlaua- ja kรตiki kliendi-serveri rakendusi. Toetab ainult veebikeskkonda.

Kontrollige ka: - UFT vs Selenium: Erinevus Selenium ja HP UFT

KKK

Jah. Tehisintellekti tรถรถriistad saavad Gherkini stsenaariume ja sammudefinitsioone otse kirjalikest nรตuetest koostada. Testijad peaksid aga enne loodud stsenaariumide kasutamist need รผle vaatama tรคpsuse, รครคrmusjuhtude ja tรคieliku katvuse osas.

Ei. Tehisintellekt kiirendab stsenaariumide kirjutamist ja sammude genereerimist, kuid inimtestijad mรครคratlevad ikkagi eeldatava kรคitumise, valideerivad รคriloogikat ja hoiavad sidusrรผhmadega koostรถรถd, mis on kรคitumispรตhise arenduse keskmes.

Gherkin on lihtteksti keel Cucumber kasutab testistsenaariumide kirjutamiseks. See jรคrgib Given-When-Then struktuuri, muutes testid loetavaks nii รคripartneritele kui ka arendajatele, olles samal ajal kรคivitatavad.

Cucumber on BDD tรถรถriist. See keskendub sรผsteemi kรคitumise kirjeldamisele kasutaja vaatenurgast, erinevalt TDD-st, mis keskendub รผhiku tasemel kooditestide kirjutamisele enne iga vรคikese funktsionaalsuse rakendamist.

Vรตta see postitus kokku jรคrgmiselt: