Cucumber Каркас: Що є Cucumber?

⚡ Розумний підсумок

Cucumber – це інструмент тестування, що підтримує розробку на основі поведінки (BDD), що дозволяє будь-кому читати тести незалежно від технічних знань. Цей ресурс пояснює, як працює BDD за допомогою кроків «Дано-Коли-Потім», переваги… Cucumber, і як це порівнюється з Selenium та HP ALM.

  • 🥒 Основне визначення: Cucumber — це інструмент поведінково-орієнтованої розробки, який пише тести простою мовою, зрозумілі як технічним, так і нетехнічним зацікавленим сторонам.
  • 🗣️ DB Foundation: Бізнес-аналітики та власники продуктів описують поведінку системи ще до того, як розробники напишуть код, покращуючи спільне розуміння.
  • ???? Дано-Коли-Тоді: Кожен Cucumber Сценарій дотримується зручної для читання структури «Дано-Коли-Тоді», яка також слугує живою документацією.
  • ⚡ Основні переваги: Швидке налаштування, повторне використання коду, орієнтація на кінцевого користувача та легке залучення бізнес-зацікавлених осіб, які не займаються кодуванням.
  • 🇧🇷 Порівняння інструментів: Cucumber є безкоштовним та базується на BDD, тоді як HP ALM є платним та Selenium цільове функціональне та експлуатаційне тестування.

Cucumber Рамки

Що таке Cucumber?

Cucumber – це інструмент тестування, який підтримує розробку на основі поведінки (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, та ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber програмне забезпечення є безкоштовним. QTP є дорогим. Це безкоштовно.
Cucumber Програмне забезпечення – це інструмент розробки, орієнтований на поведінку. Це інструмент функціональної автоматизації. Це функціональний та продуктивний (Selenium інструмент тестування сітки).
Плагін у Cucumber інструмент тестування працює швидше. Плагіни повільніші порівняно з Cucumber та Selenium. Плагіни повільніші, ніж Cucumber.
Cucumber Фреймворк підтримує й інші мови програмування, окрім Ruby, наприклад Java, Scala, Groovy, І т.д. QTP підтримує лише VB Script. Selenium опори Java, .Net та багато інших мов.
Написання кроків автоматизації – це спільна робота тестувальників та розробників. In QTP, кроки автоматизації пише лише тестер. Люблю Cucumber, написання кроків автоматизації – це спільна робота тестувальників та розробників.
Команда Cucumber Інструмент тестування підтримує лише веб-середовище. Підтримує веб-, настільні та будь-які клієнт-серверні програми. Підтримує лише веб-середовище.

Також перевірте: - UFT vs Selenium: Різниця між Selenium та HP UFT

Поширені запитання

Так. Інструменти штучного інтелекту можуть створювати сценарії Геркіна та визначення кроків безпосередньо з письмових вимог. Однак тестувальники повинні перевірити згенеровані сценарії на точність, граничні випадки та повне покриття, перш ніж використовувати їх.

Ні. Штучний інтелект пришвидшує написання сценаріїв та генерацію кроків, але тестувальники-люди все ще визначають очікувану поведінку, перевіряють бізнес-логіку та підтримують співпрацю із зацікавленими сторонами, що залишається центральним для поведінково-орієнтованої розробки.

Gherkin — це мова простого тексту Cucumber використовується для написання тестових сценаріїв. Він дотримується структури «Дано-Коли-Потім», що робить тести читабельними як для зацікавлених сторін бізнесу, так і для розробників, водночас залишаючись виконуваними.

Cucumber — це інструмент BDD. Він зосереджений на описі поведінки системи з точки зору користувача, на відміну від TDD, який зосереджений на написанні тестів коду на рівні модулів перед реалізацією кожного невеликого фрагмента функціональності.

Підсумуйте цей пост за допомогою: