Cucumber Kehys: Mikä on Cucumber?

⚡ Älykäs yhteenveto

Cucumber on testaustyökalu, joka tukee käyttäytymislähtöistä kehitystä (BDR), jonka avulla kuka tahansa voi lukea testejä teknisestä tietämyksestä riippumatta. Tämä resurssi selittää, miten BDD toimii Given-When-Then-vaiheiden avulla, sekä sen edut. Cucumberja miten se vertautuu Selenium ja HP ​​ALM.

  • 🥒 Ydinmääritelmä: Cucumber on käyttäytymislähtöinen kehitystyökalu, joka kirjoittaa selkokielisiä testejä, jotka ovat ymmärrettäviä sekä teknisille että ei-teknisille sidosryhmille.
  • 🗣️ BDD Foundation: Liiketoiminta-analyytikot ja tuoteomistajat kuvaavat järjestelmän toimintaa ennen kuin kehittäjät kirjoittavat koodia, mikä parantaa yhteistä ymmärrystä.
  • 📝 Annettu-Kun-Sitten: Joka Cucumber Skenaario noudattaa luettavaan muotoon perustuvaa Given-When-Then-rakennetta, joka toimii myös elävänä dokumentaationa.
  • ⚡ Tärkeimmät edut: Nopea käyttöönotto, koodin uudelleenkäyttö, loppukäyttäjäkeskeisyys ja helppo muiden kuin koodaavien liiketoimintasidosryhmien osallistuminen.
  • 🇧🇷 Työkalujen vertailu: Cucumber on ilmainen ja BDD-pohjainen, kun taas HP ALM on maksullinen ja Selenium kohdistuu toiminnalliseen ja suorituskykyyn liittyvään testaukseen.

Cucumber Puitteet

Mikä on Cucumber?

Cucumber on testaustyökalu, joka tukee käyttäytymislähtöistä kehitystä (BDD). Se tarjoaa tavan kirjoittaa testejä, jotka kuka tahansa ymmärtää teknisestä tietämyksestään riippumatta. BDD:ssä käyttäjät (liiketoiminta-analyytikot, tuoteomistajat) kirjoittavat ensin skenaarioita tai hyväksymistestejä, jotka kuvaavat järjestelmän toimintaa asiakkaan näkökulmasta. Tuoteomistajat tarkistavat ja hyväksyvät ne ennen kuin kehittäjät kirjoittavat koodinsa. Cucumber viitekehys käyttää Ruby ohjelmointikieli.

Cucumber Puitteet
Cucumber Puitteet

Kuinka BDD toimii Cucumber Automaatio?

Oletetaan, että sinulle on annettu tehtäväksi luoda varainsiirtomoduuli verkkopankkisovelluksessa.

Sen testaamiseen on useita tapoja Cucumber Testauskehys:

  1. Rahansiirto tulisi tehdä, jos lähdetilillä on riittävästi katetta.
  2. Rahansiirron pitäisi tapahtua, jos kohdetilin tiedot ovat oikein.
  3. Rahansiirron pitäisi tapahtua, jos käyttäjän syöttämä tapahtuman salasana / RSA-koodi / turvatodennus on oikein.
  4. Rahansiirron tulisi tapahtua, vaikka olisi pankkipyhä.
  5. Rahansiirron tulisi tapahtua tilinomistajan asettamana myöhempänä ajankohtana.

Testiskenaario tulee monimutkaisemmaksi ja monimutkaisemmaksi, kun otamme huomioon lisäominaisuuksia, kuten siirtosumman X Y päivän/kuukauden ajalta, suunnitellun siirron pysäyttämisen, kun kokonaissumma saavuttaa Z:n, ja niin edelleen.

Kehittäjien yleinen taipumus on kehittää ominaisuuksia ja kirjoittaa testikoodia vasta myöhemmin. Kuten yllä olevasta tapauksesta käy ilmi, Testitapaus Tämän skenaarion kehittäminen on monimutkaista, ja kehittäjä lykkää Testaus julkaisuun asti, jolloin he tekevät nopeita mutta tehottomia testejä.

Tämän ongelman voittamiseksi Cucumber BDD (Behavior Driven Development) oli suunniteltu. Se tekee koko testausprosessista helpon kehittäjälle.

In Cucumber BDD, mitä tahansa kirjoitat, on mentävä Annettu-Kun-Sitten vaiheet. Tarkastellaan samaa esimerkkiä yllä BDD:ssä:

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

Eikö sitä ole helppo kirjoittaa, lukea ja ymmärtää? Se kattaa kaikki mahdolliset testitapaukset varainsiirtomoduulille ja sitä voidaan helposti muokata useampien tarpeiden mukaan. Se on myös enemmän kuin varainsiirtomoduulin dokumentaation kirjoittamista.

Edut Cucumber Tuotteemme

  1. On hyödyllistä ottaa mukaan liiketoiminnan sidosryhmiä, jotka eivät osaa helposti lukea koodia.
  2. Cucumber Testaustyökalu keskittyy loppukäyttäjän kokemukseen.
  3. Testien kirjoitustyyli mahdollistaa koodin helpomman uudelleenkäytön testeissä.
  4. Nopea ja helppo asennus ja toteutus.
  5. Cucumber testityökalu on tehokas työkalu testaus.

Cucumber vs Selenium vs ALM

Tässä osiossa tutkimme eroa Cucumber, Seleniumja ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber ohjelmisto on ilmainen. QTP on kallis. Se on ilmainen.
Cucumber Ohjelmisto on käyttäytymiseen perustuva kehitystyökalu. Se on toiminnallinen automaatiotyökalu. Se on toiminnallinen ja suorituskykyinen (Selenium Grid) -testaustyökalu.
Laajennus kohdassa Cucumber testaustyökalu toimii nopeammin. Liitännäiset ovat hitaampia verrattuna Cucumber ja Selenium. Liitännäiset ovat hitaampia kuin Cucumber.
Cucumber Framework tukee Rubyn lisäksi myös muita kieliä, kuten Java, Scala, Groovy, Jne QTP tukee vain VB-skriptejä. Selenium tukee Java, .Net ja monet muut kielet.
Automaatiovaiheiden kirjoittaminen on testaajien ja kehittäjien yhteistyötä. In QTP, vain testaaja kirjoittaa automaatiovaiheet. Pitää Cucumber, automaatiovaiheiden kirjoittaminen on testaajien ja kehittäjien yhteistyötä.
Cucumber Testaustyökalu tukee vain verkkoympäristöä. Tukee verkko-, työpöytä- ja kaikkia asiakas-palvelinsovelluksia. Tukee vain verkkoympäristöä.

Tarkista myös: - UFT vs Selenium: Ero Selenium ja HP UFT

UKK

Kyllä. Tekoälytyökalut voivat laatia Gherkin-skenaarioita ja vaihemääritelmiä suoraan kirjallisista vaatimuksista. Testaajien tulisi kuitenkin tarkistaa luodut skenaariot tarkkuuden, reunatapausten ja täydellisen kattavuuden varmistamiseksi ennen niiden käyttöä.

Ei. Tekoäly nopeuttaa skenaarioiden kirjoittamista ja vaiheiden luomista, mutta ihmistestaajat määrittelevät silti odotetun käyttäytymisen, validoivat liiketoimintalogiikan ja ylläpitävät yhteistyötä sidosryhmien kanssa, mikä on edelleen keskeistä käyttäytymislähtöisessä kehityksessä.

Gherkin on selkokieli Cucumber käytetään testiskenaarioiden kirjoittamiseen. Se noudattaa Given-When-Then-rakennetta, mikä tekee testeistä luettavia sekä liiketoiminnan sidosryhmille että kehittäjille, mutta ne ovat silti suoritettavissa.

Cucumber on BDD-työkalu. Se keskittyy käyttäjän näkökulmasta kuvattuun järjestelmän toimintaan, toisin kuin TDD, joka keskittyy yksikkötason kooditestien kirjoittamiseen ennen kunkin pienen toiminnallisuuden toteuttamista.

Tiivistä tämä viesti seuraavasti: