Я попробую объяснить, в чём дело с “привычной картиной мира”. Если память мне не изменяет, проблему соответствия языка реальности обдумывал ещё Аристотель. То, что за столько столетий человечество на самом деле не продвинулось в универсальных языках, должно было бы наводить энтузиастов BDD на некоторые мысли.
Вы вот пишете:
[quote=“egovako, post:30, topic:7081”]
Тут основная роль - грамотно построить грамматику языка таким образом, чтобы минимизировать количество шагов и сделать их как можно более универсальными. Разница очень простая. Грамотно параметризованный степ в GWT - не нуждается в новом коде.
Если подходить математически - каждый новый сценарий, использующий данный степ без геркина - порождает 1 новую строку кода. С геркиным - только 1 новую строку при “инициализации”, последующее использование - бесплатно. [/quote]
Это, если я не ошибаюсь, говорится что BDD подходит если на проекте можно разработать некий “универсальный язык”, хорошо описывающий проект. Если. В Вашем случае продукт оказался таковым что такой язык получился, нашлось кому его грамотно разработать и старый добрый и всеми любимый code reuse получался хорошим даже несмотря на Геркин.
Но вот я выше описываю совсем другой случай. Где универсального языка, описывающего SUT, скорее не может быть, ввиду большой вариабельности компонентов, составляющих эту самую SUT и их неоднозначного поведения (ибо оно крайне кастомизировано и в разных настройках и инсталляциях продукта user flows) могут быть очень разными.
В этом случае Gherkin reuse становися крайне проблематичным, и получается что вместо reuse на тех, кто хочет описывать всё стандартными степами падает задача непосильной сложности — они пытаются уложить в стандартный язык очень сложную систему реального мира.
Отсюда можно вывести и правило применимости (и нужности) BDD: если SUT хорошо сводима к некоему универсальному формальному языку и возможности step reuse просматриваются совершенно неиллюзорно, тогда в этом есть профит
Но вот если система очень разносторонняя и кастомизируемая, и разрабатывать хороший и правильный и универсальный язык, описывающий поведение системы, особо некому —
тогда браться за Gherkin это сизифов труд.
А теперь давайте прикинем, каких систем в мире больше —
хорошо формализуемых в не очень объёмный язык с большими возможностями повторного использования или может каких-то других.
В моей практике больше систем которые плохо формализуются под reuse, и сушить голову над языками некогда, а в случае сложных систем это вообще непосильная задача со скорее отрицательным КПД (ввиду сложных перспектив повторного использования).
Вот потому я и присоединяюсь к тезису, что хороший профит от BDD скорее исключение, а не правило.
“Простыню” он написал, хе