Cucumber Рамка: какво е Cucumber?

⚡ Умно обобщение

Cucumber е инструмент за тестване, който поддържа поведенческо ориентирано разработване (BDD), позволявайки на всеки да чете тестове, независимо от техническите си познания. Този ресурс обяснява как работи BDD чрез стъпките „Дадено-Когато-Тогава“, предимствата на... Cucumberи как се сравнява с Selenium и HP ALM.

  • ???? Основна дефиниция: Cucumber е инструмент за разработка, ориентирана към поведението, който пише тестове на разбираем език, разбираеми както за технически, така и за нетехнически заинтересовани страни.
  • 🗣️ БДД Foundation: Бизнес анализаторите и собствениците на продукти описват поведението на системата, преди разработчиците да напишат код, подобрявайки споделеното разбиране.
  • 📝 Дадено-Когато-Тогава: Всяко Cucumber Сценарият следва четлива структура „Дадено-Когато-Тогава“, която служи и като „жива“ документация.
  • ⚡ Ключови предимства в колактив аквасорс: Бърза настройка, повторна употреба на код, фокус върху крайния потребител и лесно включване на бизнес заинтересовани страни, които не програмират.
  • ️ Сравнение на инструменти: Cucumber е безплатен и базиран на BDD, докато HP ALM е платен и Selenium насочени към функционално тестване и тестване на производителността.

Cucumber Рамка

Какво е Cucumber?

Cucumber е инструмент за тестване, който поддържа Behavior-Driven Development (BDD). Той предлага начин за писане на тестове, които всеки може да разбере, независимо от техническите си познания. В BDD потребителите (бизнес анализатори, собственици на продукти) първо пишат сценарии или тестове за приемане, които описват поведението на системата от гледна точка на клиента, за преглед и одобрение от собствениците на продукти, преди разработчиците да напишат своя код. Cucumber рамката използва Език за програмиране Ruby.

Cucumber Рамка
Cucumber Рамка

Как работи BDD в Cucumber Автоматизация?

Да предположим, че ви е възложена задачата да създадете модул за превод на средства в приложение за Net Banking.

Има няколко начина да го тествате в Cucumber Тестова рамка:

  1. Преводът на средства трябва да се осъществи, ако има достатъчно салдо в сметката източник.
  2. Преводът на средства трябва да се осъществи, ако данните за сметката на получателя са верни.
  3. Преводът на средства трябва да се осъществи, ако паролата за транзакцията / RSA кодът / удостоверяването за сигурност, въведени от потребителя, са правилни.
  4. Преводът на средства трябва да се извърши дори ако е официален празник.
  5. Преводът на средства трябва да се извърши на бъдеща дата, определена от титуляра на сметката.

- Сценарий на теста става по-сложно и комплексно, тъй като разглеждаме допълнителни функции, като например сума на превода X за интервал от Y дни/месеца, спиране на планирания превод, когато общата сума достигне Z и т.н.

Общата тенденция на разработчиците е да разработват функции и да пишат тестов код по-късно. Както е видно от горния случай, Тестов случай Разработката за този сценарий е сложна и разработчикът ще отложи Тестване до пускането му на пазара, след което ще направят бързи, но неефективни тестове.

За да преодолеете този проблем, Cucumber BDD (поведенческо развитие) беше замислен. Това улеснява целия процес на тестване за разработчика.

In Cucumber BDD, каквото и да пишеш, трябва да влезе Даден-кога-тогава стъпки. Нека разгледаме същия пример по-горе в 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

Не е ли лесно за писане, четене и разбиране? Обхваща всички възможни тестови случаи за модула за прехвърляне на средства и може лесно да бъде модифицирано, за да се включат повече. Също така е по-скоро като писане на документация за модула за прехвърляне на средства.

Предимства на Cucumber Софтуер

  1. Полезно е да се включат заинтересовани страни от бизнеса, които не могат лесно да четат код.
  2. - Cucumber Инструмент за тестване фокусира се върху потребителското изживяване.
  3. Стилът на писане на тестове позволява по-лесно повторно използване на код в самите тестове.
  4. Бърза и лесна настройка и изпълнение.
  5. - Cucumber инструментът за тестване е ефективен инструмент за тестване.

Cucumber vs Selenium срещу ALM

В този раздел ще проучим разликата между Cucumber, Seleniumи АЛМ.

Cucumber HP ALM (QTP) Selenium
Cucumber софтуерът е безплатен. QTP скъпо е. Безплатно е.
Cucumber Софтуерът е инструмент за разработка, ориентиран към поведението. Това е инструмент за функционална автоматизация. Това е функционално и производително (Selenium инструмент за тестване на мрежа (мрежа).
Плъгинът в Cucumber инструментът за тестване работи по-бързо. Плъгините са по-бавни в сравнение с Cucumber намлява Selenium. Плъгините са по-бавни от Cucumber.
Cucumber Фреймворкът поддържа и други езици освен Ruby, като например Java, Скала, GroovyИ др QTP поддържа само VB скриптове. Selenium поддържа Java, .Net и много други езици.
Писането на стъпки за автоматизация е съвместно усилие на тестери и разработчици. In QTP, само тестерът пише стъпките за автоматизация. като Cucumber, писането на стъпки за автоматизация е съвместно усилие на тестери и разработчици.
- Cucumber Инструментът за тестване поддържа само уеб среда. Поддържа уеб, десктоп и всякакви клиент-сървър приложения. Поддържа само уеб среда.

Също така проверете: - UFT vs Selenium: Разлика между Selenium намлява HP UFT

Въпроси и Отговори

Да. Инструментите с изкуствен интелект могат да изготвят сценарии на Gherkin и дефиниции на стъпки директно от писмени изисквания. Тестерите обаче трябва да прегледат генерираните сценарии за точност, гранични случаи и пълно покритие, преди да ги използват.

Не. Изкуственият интелект ускорява писането на сценарии и генерирането на стъпки, но човешките тестери все още определят очакваното поведение, валидират бизнес логиката и поддържат сътрудничество със заинтересованите страни, което остава ключово за поведенческо-ориентираното развитие.

Gherkin е езикът за обикновен текст Cucumber използва за писане на тестови сценарии. Следва структурата „Дадено-Когато-Тогава“, което прави тестовете четливи както за бизнес заинтересованите страни, така и за разработчиците, като същевременно остават изпълними.

Cucumber е инструмент за BDD. Той се фокусира върху системното поведение, описано от гледна точка на потребителя, за разлика от TDD, който се фокусира върху писането на тестове на ниво модул, преди да се имплементира всяка малка част от функционалността.

Обобщете тази публикация с: