Cucumber Keretrendszer: Mi az Cucumber?

โšก Okos รถsszefoglalรณ

Cucumber egy olyan tesztelล‘eszkรถz, amely tรกmogatja a viselkedรฉsvezรฉrelt fejlesztรฉst, lehetล‘vรฉ tรฉve bรกrki szรกmรกra a tesztek olvasรกsรกt, fรผggetlenรผl a technikai ismeretektล‘l. Ez az erล‘forrรกs elmagyarรกzza, hogyan mลฑkรถdik a BDD a megadott-amikor-akkor lรฉpรฉseken keresztรผl, a kรถvetkezล‘k elล‘nyeit: Cucumber, รฉs hogyan viszonyul ehhez a Selenium รฉs a HP ALM.

  • ๐Ÿฅ’ Alapvetล‘ definรญciรณ: Cucumber egy viselkedรฉsvezรฉrelt fejlesztล‘eszkรถz, amely egyszerลฑ nyelvi teszteket รญr, amelyeket a technikai รฉs nem technikai รฉrdekelt felek egyarรกnt megรฉrtenek.
  • ๐Ÿ—ฃ๏ธ BDD Foundation: Az รผzleti elemzล‘k รฉs a termรฉktulajdonosok a fejlesztล‘k kรณdjรกnak megรญrรกsa elล‘tt leรญrjรกk a rendszer viselkedรฉsรฉt, ezรกltal javรญtva a kรถzรถs megรฉrtรฉst.
  • ๐Ÿ“ Adott-amikor-akkor: Minden Cucumber A forgatรณkรถnyv egy olvashatรณ Adott-Mikor-Akkor struktรบrรกt kรถvet, amely รฉlล‘ dokumentรกciรณkรฉnt is szolgรกl.
  • โšก Fล‘bb elล‘nyei: Gyors beรกllรญtรกs, kรณd รบjrafelhasznรกlรกsa, vรฉgfelhasznรกlรณ-kรถzpontรบsรกg รฉs a nem kรณdolรณ รผzleti รฉrdekelt felek egyszerลฑ bevonรกsa.
  • ๐Ÿ‡ง๐Ÿ‡ท Szerszรกm-รถsszehasonlรญtรกs: Cucumber ingyenes รฉs BDD-alapรบ, mรญg a HP ALM fizetล‘s รฉs Selenium funkcionรกlis รฉs teljesรญtmรฉnytesztelรฉst cรฉloz meg.

Cucumber Keretrendszer

Mi a Cucumber?

Cucumber egy tesztelรฉsi eszkรถz, amely tรกmogatja a viselkedรฉsvezรฉrelt fejlesztรฉst (BDD). Olyan mรณdszert kรญnรกl, amellyel bรกrki megรฉrtheti a teszteket, fรผggetlenรผl a technikai ismereteitล‘l. A BDD sorรกn a felhasznรกlรณk (รผzleti elemzล‘k, termรฉktulajdonosok) elล‘szรถr forgatรณkรถnyveket vagy elfogadรกsi teszteket รญrnak, amelyek a rendszer viselkedรฉsรฉt รญrjรกk le az รผgyfรฉl szemszรถgรฉbล‘l, hogy a termรฉktulajdonosok felรผlvizsgรกljรกk รฉs jรณvรกhagyjรกk azokat, mielล‘tt a fejlesztล‘k megรญrnรกk a kรณdjukat. A Cucumber keretrendszer a Ruby programozรกsi nyelv.

Cucumber Keretrendszer
Cucumber Keretrendszer

Hogyan mลฑkรถdik a BDD Cucumber Automatizรกlรกs?

Tegyรผk fel, hogy feladatod egy pรฉnzรกtutalรกsi modul lรฉtrehozรกsa egy netbanki alkalmazรกsban.

Tรถbbfรฉlekรฉppen is tesztelhetล‘ a Cucumber Tesztelรฉsi keretrendszer:

  1. Az รกtutalรกsnak akkor kell megtรถrtรฉnnie, ha elegendล‘ egyenleg van a forrรกsszรกmlรกn.
  2. Az รกtutalรกsnak meg kell tรถrtรฉnnie, ha a cรฉlszรกmla adatai helyesek.
  3. Az รกtutalรกsnak meg kell tรถrtรฉnnie, ha a felhasznรกlรณ รกltal megadott tranzakciรณs jelszรณ / RSA kรณd / biztonsรกgi hitelesรญtรฉs helyes.
  4. Az รกtutalรกst akkor is meg kell tenni, ha munkaszรผneti nap van.
  5. Az รกtutalรกsnak egy kรฉsล‘bbi idล‘pontban kell tรถrtรฉnnie, a szรกmlatulajdonos รกltal meghatรกrozott mรณdon.

Az Teszt forgatรณkรถnyv bonyolultabbรก รฉs รถsszetettebbรฉ vรกlik, mivel tovรกbbi jellemzล‘ket veszรผnk figyelembe, mint pรฉldรกul az X รกtutalรกsi รถsszeg Y nap/hรณnap idล‘tartamra, az รผtemezett รกtutalรกs leรกllรญtรกsa, amikor a teljes รถsszeg elรฉri a Z-t, รฉs รญgy tovรกbb.

A fejlesztล‘k รกltalรกnos tendenciรกja, hogy funkciรณkat fejlesztenek, รฉs tesztkรณdot csak kรฉsล‘bb รญrnak. Amint a fenti esetben is lรกthatรณ, Teszt eset A forgatรณkรถnyv fejlesztรฉse รถsszetett, รฉs a fejlesztล‘ elhalasztja Tesztelรฉs megjelenรฉsig, amikor is gyors, de hatรกstalan tesztelรฉst fognak vรฉgezni.

A problรฉma megoldรกsa รฉrdekรฉben Cucumber BDD (viselkedรฉsvezรฉrelt fejlesztรฉs) megalkottรกk. Ez megkรถnnyรญti a teljes tesztelรฉsi folyamatot a fejlesztล‘ szรกmรกra.

In Cucumber BDD, bรกrmit รญrsz, bele kell menni Adott-Mikor-Akkor lรฉpรฉsek. Tekintsรผk a fenti pรฉldรกt BDD-ben:

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

Nem kรถnnyลฑ megรญrni, elolvasni รฉs megรฉrteni? Lefedi az รถsszes lehetsรฉges tesztesetet a pรฉnzรกtutalรกsi modulhoz, รฉs kรถnnyen mรณdosรญthatรณ, hogy tรถbb mindenhez illeszkedjen. Inkรกbb a pรฉnzรกtutalรกsi modul dokumentรกciรณjรกnak รญrรกsรกra is hasonlรญt.

Elล‘nyei Cucumber szoftver

  1. Hasznos bevonni azokat az รผzleti รฉrdekelt feleket is, akik nem tudjรกk kรถnnyen elolvasni a kรณdot.
  2. Az Cucumber Teszteszkรถz a vรฉgfelhasznรกlรณi รฉlmรฉnyre รถsszpontosรญt.
  3. A tesztek รญrรกsรกnak stรญlusa lehetล‘vรฉ teszi a kรณd kรถnnyebb รบjrafelhasznรกlรกsรกt a tesztekben.
  4. Gyors รฉs egyszerลฑ beรกllรญtรกs รฉs vรฉgrehajtรกs.
  5. Az Cucumber teszteszkรถz hatรฉkony eszkรถz tesztelรฉs.

Cucumber vs Selenium vs ALM

Ebben a rรฉszben megvizsgรกljuk a kรผlรถnbsรฉget Cucumber, Seleniumรฉs az ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber a szoftver ingyenes. QTP drรกga. Ez ingyenes.
Cucumber A szoftver egy viselkedรฉsvezรฉrelt fejlesztล‘eszkรถz. Ez egy funkcionรกlis automatizรกlรกsi eszkรถz. Ez egy funkcionรกlis รฉs teljesรญtmรฉnyorientรกlt (Selenium Grid) teszteszkรถz.
A bล‘vรญtmรฉny a Cucumber A tesztelล‘ eszkรถz gyorsabban mลฑkรถdik. A bล‘vรญtmรฉnyek lassabbak a tรถbbihez kรฉpest Cucumber รฉs a Selenium. A bล‘vรญtmรฉnyek lassabbak, mint a Cucumber.
Cucumber A keretrendszer a Ruby-n kรญvรผl mรกs nyelveket is tรกmogat, mint pรฉldรกul a Java, Scala, GroovyStb QTP csak a VB Scriptet tรกmogatja. Selenium tรกmogatja Java, .Net รฉs sok mรกs nyelven.
Az automatizรกlรกsi lรฉpรฉsek รญrรกsa a tesztelล‘k รฉs a fejlesztล‘k kรถzรถs erล‘feszรญtรฉse. In QTP, csak a tesztelล‘ รญrja az automatizรกlรกsi lรฉpรฉseket. Mint CucumberAz automatizรกlรกsi lรฉpรฉsek รญrรกsa a tesztelล‘k รฉs a fejlesztล‘k kรถzรถs erล‘feszรญtรฉse.
Az Cucumber A tesztelล‘eszkรถz csak a webes kรถrnyezetet tรกmogatja. Tรกmogatja a webes, asztali รฉs bรกrmilyen kliens-szerver alkalmazรกst. Csak a webes kรถrnyezetet tรกmogatja.

Ellenล‘rizze mรฉg:- UFT vs Selenium: A kรผlรถnbsรฉg kรถztรผk Selenium รฉs a HP UFT

GYIK

Igen. A mestersรฉges intelligencia eszkรถzรถk kรถzvetlenรผl az รญrรกsos kรถvetelmรฉnyekbล‘l tudnak Gherkin-forgatรณkรถnyveket รฉs lรฉpรฉsdefinรญciรณkat kรฉszรญteni. A tesztelล‘knek azonban a lรฉtrehozott forgatรณkรถnyvek hasznรกlat elล‘tt ellenล‘rizniรผk kell a pontossรกgot, a peremhelyzeteket รฉs a teljes lefedettsรฉget.

Nem. A mestersรฉges intelligencia felgyorsรญtja a forgatรณkรถnyvรญrรกst รฉs a lรฉpรฉsgenerรกlรกst, de az emberi tesztelล‘k tovรกbbra is meghatรกrozzรกk a vรกrhatรณ viselkedรฉst, validรกljรกk az รผzleti logikรกt, รฉs egyรผttmลฑkรถdnek az รฉrdekelt felekkel, ami tovรกbbra is kรถzponti szerepet jรกtszik a viselkedรฉsvezรฉrelt fejlesztรฉsben.

A Gherkin a sima szรถvegลฑ nyelv Cucumber tesztforgatรณkรถnyvek รญrรกsรกhoz hasznรกl. A Given-When-Then struktรบrรกt kรถveti, รญgy a tesztek olvashatรณak mind az รผzleti รฉrdekelt felek, mind a fejlesztล‘k szรกmรกra, mikรถzben tovรกbbra is vรฉgrehajthatรณk.

Cucumber egy BDD eszkรถz. A felhasznรกlรณ szemszรถgรฉbล‘l leรญrt rendszerviselkedรฉsre รถsszpontosรญt, ellentรฉtben a TDD-vel, amely az egysรฉg szintลฑ kรณdtesztek รญrรกsรกra รถsszpontosรญt, mielล‘tt minden egyes aprรณ funkciรณt megvalรณsรญtana.

Foglald รถssze ezt a bejegyzรฉst a kรถvetkezล‘kรฉppen: