Cucumber Фреймворк: что такое Cucumber?

⚡ Умное резюме

Cucumber Это инструмент тестирования, поддерживающий разработку, управляемую поведением (Behavior Driven Development), позволяющий любому пользователю читать тесты независимо от технических знаний. В этом ресурсе объясняется, как работает BDD на шагах Given-When-Then, а также преимущества BDD. Cucumberи как это соотносится с Selenium и HP ALM.

  • ???? Основное определение: Cucumber Это инструмент разработки, основанный на поведенческом подходе (Behavior Driven Development), который позволяет писать тесты на простом языке, понятные как техническим, так и нетехническим специалистам.
  • 🗣️ BDD Foundation: Бизнес-аналитики и владельцы продуктов описывают поведение системы до того, как разработчики напишут код, что улучшает взаимопонимание.
  • ???? Дано-Когда-Тогда: Каждая Cucumber Сценарий имеет удобочитаемую структуру "Дано-Когда-Тогда", которая одновременно служит "живой документацией".
  • ⚡ Основные преимущества: Быстрая настройка, повторное использование кода, ориентация на конечного пользователя и простое вовлечение не имеющих навыков программирования бизнес-заинтересованных сторон.
  • ️ Сравнение инструментов: Cucumber HP ALM является бесплатным и основан на BDD, в то время как HP ALM — платным. Selenium Цели тестирования: функциональное тестирование и тестирование производительности.

Cucumber Рамки

Что такое Cucumber?

Cucumber Это инструмент тестирования, поддерживающий разработку, управляемую поведением (BDD). Он предлагает способ написания тестов, понятных любому, независимо от его технических знаний. В BDD пользователи (бизнес-аналитики, владельцы продукта) сначала пишут сценарии или приемочные тесты, описывающие поведение системы с точки зрения клиента, для проверки и утверждения владельцами продукта, прежде чем разработчики начнут писать свой код. Cucumber фреймворк использует Язык программирования Ruby.

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

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

Предположим, вам поручено создать модуль для перевода средств в приложении интернет-банкинга.

Существует несколько способов это проверить. 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 против АЛМ

В этом разделе мы изучим разницу между Cucumber, Seleniumи ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber Программное обеспечение бесплатное. QTP дорогой. Это бесплатно.
Cucumber Программное обеспечение — это инструмент разработки, основанный на поведенческом подходе. Это инструмент функциональной автоматизации. Это функциональный и производительный (Selenium Инструмент тестирования Grid).
Плагин в Cucumber Инструмент тестирования работает быстрее. Плагины работают медленнее по сравнению с другими подобными программами. Cucumber и Selenium. Плагины работают медленнее, чем Cucumber.
Cucumber Фреймворк поддерживает и другие языки, помимо Ruby, например: Java, Скала, Groovy, и т.д. QTP Поддерживается только VB Script. Selenium поддерживает Java, .Net и многие другие языки.
Разработка шагов автоматизации — это совместная работа тестировщиков и разработчиков. In QTPТолько тестировщик пишет шаги автоматизации. Подобно CucumberНаписание шагов автоматизации — это совместная работа тестировщиков и разработчиков.
Cucumber Инструмент тестирования поддерживает только веб-среду. Поддерживает веб-приложения, приложения для настольных компьютеров и любые клиент-серверные приложения. Поддерживается только веб-среда.

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

Часто задаваемые вопросы (FAQ)

Да. Инструменты искусственного интеллекта могут создавать сценарии Gherkin и определять шаги непосредственно на основе письменных требований. Однако тестировщикам следует проверить сгенерированные сценарии на точность, наличие граничных случаев и полноту покрытия, прежде чем использовать их.

Нет. Искусственный интеллект ускоряет написание сценариев и генерацию шагов, но тестировщики-люди по-прежнему определяют ожидаемое поведение, проверяют бизнес-логику и поддерживают сотрудничество с заинтересованными сторонами, что остается центральным элементом разработки, основанной на поведении (Behavior Driven Development).

Gherkin — это язык простого текста. Cucumber Используется для написания тестовых сценариев. Она следует структуре Given-When-Then, что делает тесты понятными как для бизнес-заинтересованных сторон, так и для разработчиков, и при этом позволяет их выполнять.

Cucumber Это инструмент BDD (разработка через тестирование). Он фокусируется на описании поведения системы с точки зрения пользователя, в отличие от TDD, который сосредоточен на написании модульных тестов перед реализацией каждого небольшого фрагмента функциональности.

Подведем итог этой публикации следующим образом: