Учебники

1. Введение

Что такое огурец?

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

Огурец

В этом уроке по фреймворку Cucumber вы узнаете:

Как BDD работает в Cucumber Automation?

Предположим, вы назначены для создания модуля «Перевод средств» в приложении Net Banking.

Есть несколько способов проверить это

  1. Перевод средств должен осуществляться, если на исходном счете достаточно средств.
  2. Перечисление средств должно быть выполнено, если информация о пункте назначения правильна
  3. Перевод средств должен выполняться, если пароль транзакции / код RSA / аутентификация безопасности для транзакции, введенной пользователем, верны
  4. Перевод средств должен осуществляться, даже если это банковский выходной
  5. Перевод средств должен состояться в будущем, как это установлено владельцем счета

Тестовый сценарий стал более сложным и сложным , как мы считаем , дополнительные функции , такие как суммы перевода X для интервала Y дней / месяцев, передачи по расписанию остановки , когда общая сумма достигает Z, и так далее

Общая тенденция разработчиков — разрабатывать функции и писать тестовый код позже. Как видно из приведенного выше случая, разработка Test Case для этого случая сложна, и разработчик отложит тестирование до выпуска, после чего он проведет быстрое, но неэффективное тестирование.

Чтобы преодолеть эту проблему, BDD (Behavior Driven Development), был задуман. Это делает весь процесс тестирования простым для разработчика

В BDD все, что вы пишете, должно идти в  шаги Given-When-Then . Давайте рассмотрим тот же пример выше в BDD

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
WhenI 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

Разве это не легко писать, читать и понимать? Он охватывает все возможные тестовые примеры для модуля перевода средств и может быть легко изменен, чтобы вместить больше. Кроме того, это больше похоже на написание документации для модуля перевода средств.

Преимущества огурца

  1. Полезно привлечь заинтересованные стороны, которые не могут легко прочитать код
  2. Тестирование огурца фокусируется на опыте конечного пользователя
  3. Стиль написания тестов облегчает повторное использование кода в тестах.
  4. Быстрая и простая настройка и исполнение
  5. Эффективный инструмент для тестирования

Огурец против селена против алма

В этом разделе мы рассмотрим разницу между огурцом, селеном и UFT.

Огурец

HP ALM (QTP)

Селен

  • Это бесплатно
  • QTP стоит дорого
  • Это бесплатно
  • Это инструмент разработки, основанный на поведении
  • Это функциональный инструмент автоматизации
  • Это инструмент тестирования функциональности и производительности (Selenium Grid)
  • Плагин в огурце работает быстрее
  • Плагин медленнее по сравнению с огурцом и селеном
  • Плагины медленнее, чем огурец
  • Cucumber Framework поддерживает другие языки, помимо Ruby, такие как Java, Scala, Groovy и т. Д.
  • QTP поддерживает только VB скрипт
  • Selenium поддерживает Java, .Net и многие другие языки
  • Написание шагов автоматизации — совместная работа тестировщиков и разработчика.
  • В QTP только тестер пишет шаги автоматизации
  • Как и Cucumber Tool, этапы автоматизации написания — это совместная работа тестировщиков и разработчиков.
  • Cucumber поддерживает только веб-среду
  • Поддержка веб, десктоп и любого клиент-серверного приложения
  • Поддерживает только веб-среду