Cucumber Rámec: Co je Cucumber?

⚡ Chytré shrnutí

Cucumber je testovací nástroj, který podporuje behaviorálně řízený vývoj a umožňuje komukoli číst testy bez ohledu na technické znalosti. Tento zdroj vysvětluje, jak BDD funguje, a to prostřednictvím kroků „Zadáno-Když-Pak“, výhod… Cucumbera jak se srovnává s Selenium a HP ALM.

  • ???? Základní definice: Cucumber je nástroj pro behaviorálně řízený vývoj, který píše testy v jednoduchém jazyce srozumitelné pro technické i netechnické zainteresované strany.
  • 🗣️ BDD Foundation: Obchodní analytici a vlastníci produktů popisují chování systému ještě předtím, než vývojáři napíší kód, což zlepšuje vzájemné porozumění.
  • ???? Vzhledem k tomu, kdy a kdy: Každý Cucumber Scénář se řídí čitelnou strukturou typu „Dáno-Když-Pak“, která zároveň slouží jako živá dokumentace.
  • Klíčové výhody: Rychlé nastavení, opětovné použití kódu, zaměření na koncového uživatele a snadné zapojení obchodních partnerů, kteří se nevěnují kódování.
  • 🇧🇷 Porovnání nástrojů: Cucumber je zdarma a založen na BDD, zatímco HP ALM je placený a Selenium zaměřuje se na funkční a výkonnostní testování.

Cucumber Rámec

Co je to Cucumber?

Cucumber je testovací nástroj, který podporuje vývoj řízený chováním (BDD). Nabízí způsob, jak psát testy, kterým rozumí kdokoli bez ohledu na jeho technické znalosti. V BDD uživatelé (obchodní analytici, vlastníci produktů) nejprve napíší scénáře nebo akceptační testy, které popisují chování systému z pohledu zákazníka, ke kontrole a schválení vlastníky produktů, než vývojáři napíší svůj kód. Cucumber rámec používá Programovací jazyk Ruby.

Cucumber Rámec
Cucumber Rámec

Jak BDD funguje Cucumber Automatizace?

Představte si, že máte za úkol vytvořit modul pro převod finančních prostředků v aplikaci Net Banking.

Existuje několik způsobů, jak to otestovat v Cucumber Testovací rámec:

  1. Převod finančních prostředků by měl proběhnout, pokud je na zdrojovém účtu dostatečný zůstatek.
  2. Převod finančních prostředků by měl proběhnout, pokud jsou údaje o cílovém účtu správné.
  3. Převod finančních prostředků by měl proběhnout, pokud je heslo transakce / kód RSA / bezpečnostní ověření pro transakci zadané uživatelem správné.
  4. Převod finančních prostředků by měl proběhnout, i když je státní svátek.
  5. Převod finančních prostředků by měl proběhnout v budoucnu, jak stanoví majitel účtu.

Jedno Scénář testu stává se propracovanějším a komplexnějším, když bereme v úvahu další funkce, jako je částka převodu X po dobu Y dnů/měsíců, zastavení plánovaného převodu, když celková částka dosáhne Z, a tak dále.

Obecnou tendencí vývojářů je vyvíjet funkce a testovací kód psát až později. Jak je patrné z výše uvedeného případu, Testovací případ Vývoj pro tento scénář je složitý a vývojář to odloží Testování až do vydání, kdy provedou rychlé, ale neefektivní testování.

Chcete-li tento problém překonat, Cucumber BDD (vývoj řízený chováním) byl vytvořen. To vývojáři usnadňuje celý proces testování.

In Cucumber BDD, do čehokoli napíšete, musí jít Daný-když-pak kroky. Uvažujme stejný příklad výše v 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

Není snadné to psát, číst a rozumět tomu? Zahrnuje to všechny možné testovací případy pro modul převodu finančních prostředků a lze to snadno upravit tak, aby to vyhovovalo více tématům. Je to také spíše jako psaní dokumentace pro modul převodu finančních prostředků.

výhody Cucumber Software a licence

  1. Je užitečné zapojit obchodní zainteresované strany, které neumí snadno číst kód.
  2. Jedno Cucumber Zkušební nástroj zaměřuje se na zkušenost koncového uživatele.
  3. Styl psaní testů umožňuje snadnější opětovné použití kódu v testech.
  4. Rychlé a snadné nastavení a provedení.
  5. Jedno Cucumber testovací nástroj je účinný nástroj pro Testování.

Cucumber vs Selenium vs ALM

V této části budeme studovat rozdíl mezi Cucumber, Seleniuma ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber software je zdarma. QTP je drahý. Je to zdarma.
Cucumber Software je vývojový nástroj řízený chováním. Je to nástroj pro funkční automatizaci. Je to funkční a výkonnostní (Selenium testovací nástroj (mřížka).
Plugin v Cucumber testovací nástroj pracuje rychleji. Pluginy jsou pomalejší ve srovnání s Cucumber a Selenium. Pluginy jsou pomalejší než Cucumber.
Cucumber Framework podporuje i další jazyky kromě Ruby, jako například Java, Scala, Groovy, Etc. QTP podporuje pouze VB skripty. Selenium podporuje Java, .Net a mnoho dalších jazyků.
Psaní kroků automatizace je společným úsilím testerů a vývojářů. In QTP, kroky automatizace píše pouze tester. Like Cucumber, psaní automatizačních kroků je společným úsilím testerů a vývojářů.
Jedno Cucumber Testovací nástroj podporuje pouze webové prostředí. Podporuje webové, desktopové a jakékoli klient-server aplikace. Podporuje pouze webové prostředí.

Zkontrolujte také: - UFT vs Selenium: Rozdíl mezi Selenium a HP UFT

Nejčastější dotazy

Ano. Nástroje umělé inteligence dokáží vytvářet Gherkinovy ​​scénáře a definice kroků přímo z písemných požadavků. Testeři by si však měli před použitím vygenerované scénáře zkontrolovat z hlediska přesnosti, hraničních případů a úplného pokrytí.

Ne. Umělá inteligence zrychluje psaní scénářů a generování kroků, ale lidští testeři stále definují očekávané chování, ověřují obchodní logiku a udržují spolupráci se zúčastněnými stranami, což zůstává klíčové pro behaviorálně řízený vývoj.

Gherkin je jazyk pro psaní prostého textu Cucumber používá se k psaní testovacích scénářů. Dodržuje strukturu „Dané-Když-Pak“, díky čemuž jsou testy čitelné jak pro obchodní partnery, tak pro vývojáře, a přitom jsou stále spustitelné.

Cucumber je nástroj BDD. Zaměřuje se na chování systému popsané z pohledu uživatele, na rozdíl od TDD, které se zaměřuje na psaní testů kódu na úrovni jednotek před implementací každé malé části funkcionality.

Shrňte tento příspěvek takto: