Огурец - Обзор

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

Разработка на основе поведения дает нам возможность создавать тестовые сценарии с точки зрения как разработчика, так и клиента. Итак, вначале разработчики, менеджеры проектов, QA, тестеры приемлемости пользователей и владелец продукта (акционер) собираются вместе и проводят мозговой штурм о том, какие сценарии тестирования следует пройти, чтобы назвать это программное обеспечение / приложение успешным. Таким образом, они придумывают набор тестовых сценариев. Все эти тестовые сценарии написаны на простом английском языке, поэтому они также служат для документации.

пример

Если мы разрабатываем функцию аутентификации пользователя, то ниже может быть несколько ключевых тестовых сценариев, которые необходимо пройти, чтобы назвать это успешным.

  • Пользователь должен иметь возможность войти в систему с правильным именем пользователя и правильным паролем.

  • Пользователь не должен иметь возможность войти в систему с неправильным именем пользователя и правильным паролем.

  • Пользователь не должен иметь возможность войти в систему с правильным именем пользователя и неправильным паролем.

Как это устроено

К тому времени, как код будет готов, готовы и тестовые скрипты. Код должен пройти тестовые сценарии, определенные в BDD. Если этого не произойдет, потребуется рефакторинг кода. Код зависает только после успешного выполнения определенных тестовых сценариев.

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

Так что же делает огурец? Это можно описать следующими шагами -

Cucumber читает код, написанный на простом английском тексте (Language Gherkin - будет представлен позже в этом руководстве) в файле функций (будет представлен позже).

Он находит точное совпадение каждого шага в определении шага (файл кода - подробности предоставлены позже в руководстве).

Выполняемый фрагмент кода может быть различным программным фреймворком, например Selenium, Ruby on Railsи т. д. Не все инструменты платформы BDD поддерживают все инструменты.

Это стало причиной популярности Cucumber по сравнению с другими фреймворками, такими как JBehave, JDave, Easyb, и т.п.

Cucumber поддерживает более десятка различных программных платформ, таких как -

  • Рубин на рельсах
  • Selenium
  • PicoContainer
  • Spring Framework
  • Watir

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

  • Cucumber поддерживает разные языки, такие как Java.net и Ruby.

  • Он действует как мост между деловым и техническим языком. Мы можем добиться этого, создав тестовый пример в виде обычного английского текста.

  • Это позволяет писать тестовый сценарий без знания какого-либо кода, а также позволяет привлекать непрограммистов.

  • В отличие от других инструментов, он служит целям структуры сквозного тестирования.

  • Благодаря простой архитектуре тестового сценария Cucumber обеспечивает возможность повторного использования кода.