Огурец (программное обеспечение)


Cucumber — это программный инструмент, поддерживающий разработку на основе поведения (BDD). [7] [8] [9] [10] Центральное место в подходе Cucumber BDD занимает анализатор обычного языка Gherkin . Это позволяет задавать ожидаемое поведение программного обеспечения на логическом языке, понятном клиентам. Таким образом, Cucumber позволяет выполнять документацию по функциям, написанную в виде текста, ориентированного на бизнес. [11] [7] [8] Часто используется для тестирования другого программного обеспечения. [12] Он запускает автоматизированные приемочные тесты, написанные в стиле разработки, управляемой поведением (BDD). [13]

Cucumber изначально был написан на языке программирования Ruby . [7] [14] [8] и первоначально использовался исключительно для тестирования Ruby в качестве дополнения к структуре RSpec BDD. Cucumber теперь поддерживает множество различных языков программирования посредством различных реализаций, включая Java [15] [8] и JavaScript . [16] [17] Порт Cucumber с открытым исходным кодом в .NET называется SpecFlow. [18] [19] [20] Например, Cuke4php и Cuke4Lua — это программные мосты, которые позволяют тестировать PHP .и Lua проектов соответственно. Другие реализации могут просто использовать синтаксический анализатор Gherkin , реализуя остальную часть среды тестирования на целевом языке.

Gherkin — это язык, который Cucumber использует для определения тестовых случаев. Он разработан, чтобы быть нетехническим и удобочитаемым для человека, и в совокупности описывает варианты использования, относящиеся к программной системе. [7] [8] [21] [22] Целью синтаксиса Gherkin является продвижение практики разработки, основанной на поведении, во всей команде разработчиков, включая бизнес-аналитиков и менеджеров. Он направлен на обеспечение соблюдения твердых, недвусмысленных требований, начиная с начальных этапов определения требований бизнес-менеджментом и на других этапах жизненного цикла разработки.

Синтаксис естественного языка Gherkin не только предоставляет сценарий для автоматизированного тестирования, но и обеспечивает простое документирование тестируемого кода. [22] В настоящее время Gherkin поддерживает ключевые слова на десятках языков. [22] [23] [7] [8]

Синтаксис сосредоточен вокруг линейно-ориентированного дизайна , аналогичного Python . Структура файла определяется с помощью пробелов и других управляющих символов. [22] # используется как символ строчного комментария и может быть размещен в любом месте файла. [22] Инструкции — это любая непустая строка без комментариев. Они состоят из распознанного ключевого слова Gherkin, за которым следует строка. [24]

Все файлы Gherkin имеют .featureрасширение файла. Они содержат одно определение функции для тестируемой системы и представляют собой исполняемый тестовый сценарий. [24]