Учебники

Behavior Driven Development — Инструменты

Команды разработчиков часто ошибочно полагают, что BDD — это инструментальная структура. На самом деле, BDD — это подход к разработке, а не инструментальная структура. Однако, как и в случае других подходов к разработке, существуют также инструменты для BDD.

Несколько инструментов BDD используются для разных платформ и языков программирования. Они —

  • Огурец (Рубиновый каркас)

  • SpecFlow (.NET Framework)

  • Поведение (фреймворк Python)

  • JBehave (фреймворк Java)

  • JBehave Web (фреймворк Java с интеграцией Selenium)

  • Салат (рамки Python)

  • Concordion (фреймворк Java)

  • Behat (фреймворк PHP)

  • Kahlan (фреймворк PHP)

  • DaSpec (фреймворк JavaScript)

  • Жасмин (фреймворк JavaScript)

  • Cucumber-js (фреймворк JavaScript)

  • Squish GUI Tester (инструмент тестирования BDD GUI для JavaScript, Python, Perl, Ruby и Tcl)

  • Спок (Groovy рамки)

  • Yadda (поддержка языка Gherkin для таких платформ, как Jasmine (фреймворк JavaScript))

Огурец (Рубиновый каркас)

SpecFlow (.NET Framework)

Поведение (фреймворк Python)

JBehave (фреймворк Java)

JBehave Web (фреймворк Java с интеграцией Selenium)

Салат (рамки Python)

Concordion (фреймворк Java)

Behat (фреймворк PHP)

Kahlan (фреймворк PHP)

DaSpec (фреймворк JavaScript)

Жасмин (фреймворк JavaScript)

Cucumber-js (фреймворк JavaScript)

Squish GUI Tester (инструмент тестирования BDD GUI для JavaScript, Python, Perl, Ruby и Tcl)

Спок (Groovy рамки)

Yadda (поддержка языка Gherkin для таких платформ, как Jasmine (фреймворк JavaScript))

Огурец

Cucumber — это бесплатный инструмент для исполняемых спецификаций, используемый во всем мире. Cucumber позволяет командам разработчиков программного обеспечения описывать, как программное обеспечение должно вести себя в виде простого текста. Текст написан на понятном для бизнеса, предметно-ориентированном языке и служит в качестве документации, автоматизированных тестов и помощи в разработке, все в одном формате. Вы можете использовать более сорока различных разговорных языков (английский, китайский и т. Д.) С огурцом.

Огурец — Основные характеристики

Ключевые особенности огурца следующие:

  • Огурец можно использовать для Исполняемых спецификаций, Автоматизации испытаний и Живая документация.

  • Cucumber работает с Ruby, Java, NET, Flex или веб-приложениями, написанными на любом языке.

  • Cucumber поддерживает более сжатые тесты в таблицах — аналогично тому, что делает FIT.

  • Cucumber произвел революцию в жизненном цикле разработки программного обеспечения, объединив требования, автоматизированное тестирование и документацию в единое целое: исполняемые спецификации в виде простого текста, которые подтверждают правильность программного обеспечения.

Огурец можно использовать для Исполняемых спецификаций, Автоматизации испытаний и Живая документация.

Cucumber работает с Ruby, Java, NET, Flex или веб-приложениями, написанными на любом языке.

Cucumber поддерживает более сжатые тесты в таблицах — аналогично тому, что делает FIT.

Cucumber произвел революцию в жизненном цикле разработки программного обеспечения, объединив требования, автоматизированное тестирование и документацию в единое целое: исполняемые спецификации в виде простого текста, которые подтверждают правильность программного обеспечения.

SpecFlow

SpecFlow — это инструмент BDD для платформы .NET. SpecFlow — проект с открытым исходным кодом. Исходный код размещен на GitHub.

SpecFlow использует синтаксис Gherkin для функций. Огурец формат был введен огурцом и также используется другими инструментами. Язык Gherkin поддерживается как проект на GitHub — https://github.com/cucumber/gherkin

Вести себя

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

  • Behave работает с тремя типами файлов, которые хранятся в каталоге, называемом «функции» —

    • файлы функций с вашими сценариями поведения в нем.

    • Каталог «steps» с реализациями шагов Python для сценариев.

    • При желании некоторые элементы управления средой (код для запуска до и после шагов, сценарии, функции или весь матч стрельбы).

  • Функции поведения написаны с использованием Gherkin (с некоторыми изменениями) и называются «name.feature».

  • Теги, прикрепленные к объекту и сценарию, доступны в функциях среды через переданный им объект «объект» или «сценарий». На этих объектах есть атрибут, называемый «тегами», который представляет собой список прикрепленных имен тегов в том порядке, в котором они находятся в файле функций.

  • Изменения к стандарту корнишон —

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

Behave работает с тремя типами файлов, которые хранятся в каталоге, называемом «функции» —

файлы функций с вашими сценариями поведения в нем.

Каталог «steps» с реализациями шагов Python для сценариев.

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

Функции поведения написаны с использованием Gherkin (с некоторыми изменениями) и называются «name.feature».

Теги, прикрепленные к объекту и сценарию, доступны в функциях среды через переданный им объект «объект» или «сценарий». На этих объектах есть атрибут, называемый «тегами», который представляет собой список прикрепленных имен тегов в том порядке, в котором они находятся в файле функций.

Изменения к стандарту корнишон —

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

Салат

Салат — это очень простой инструмент BDD на основе огурца. Он может выполнять функциональные описания в виде простого текста как автоматизированные тесты для проектов Python. Салат цели наиболее распространенных задач на BDD.

Concordion

Concordion — это инструмент с открытым исходным кодом для автоматизации спецификации на примере для Java Framework.

Хотя основные функции просты, API-интерфейс инфраструктуры Powerful позволяет добавлять функциональные возможности, такие как использование электронных таблиц Excel в качестве спецификаций, добавление снимков экрана к выводу, отображение информации журнала и т. Д.

Concordion позволяет вам писать спецификации на обычном языке с использованием абзацев, таблиц и правильной пунктуации, а структурированный язык с использованием Given / When / Then не требуется.

Concordion был портирован на другие языки, включая —

C # (Concordion.NET)

Python (PyConcordion)

Рубин (Руби-Конкордеон)