История изменений
Исправление slackwarrior, (текущая версия) :
BDD — это прежде всего методология. Она в головах, а не в конструкциях :) Конструкции обычно отражают видение тараканов в голове автора. Это почти проективные тесты скорее авторов, как они понимают методологию (чаще всего «ритуально воспроизводя бестпрактисы»). Именно поэтому большинство «фреймворков»: а)перегружены абстрактной фигней, которая нужна 3.5 человекам из секты «истинных адептов правильных тестов» б) ограничены представлениями авторов о полезности конструкций для. 90 процентов людей использует некоторое «компактное подмножество». Особенно радуют конструкции с пересекающимся функционалом «для почти того же» (или соответствующие тому же самому в языках программирования).
А большинство любых тестов — это исходная диспозиция «дано», с предусловиями, и проверка сходимости постусловий :)
Например, когда автотестированием еще почти нигде не пахло, автоматизировали тестирование ПО для бирж на основе публично доступных исторических данных, тестерам предлагалась «оверинжиниреная» система автотестирования с конфигурацией на XML, в которой большую часть теста занимала простыня с конфигурацией... которая во многих тестах пересекается и не должна вообще копипаститься бы. Но авторы системы на это ложили болт, т.к. «они так видят», «тесты должны быть изолированы!» (поэтому восход солнца в каждом вручную), и смысловая часть теста терялась в простыне конфигурации. Долго ли коротко ли, этого монстра заменили на «пулемет» в виде эмулятора биржи для обстрела сервера сообщениями, на встроенном жабоскрипте с наколенной «библиотекой», сводящей тест к трем строчкам — сообщение, запрос, ответ. А не «сферический в вакууме манямирок» с фейками всего подряд. И даже тестеры, которые воротили нос от «работы программистов» и херачили проверки вручную по эксельке, поменяли мнение и нашли новую систему полезной.
DSL тестов же в большинстве случаев довольно тривиальный — в противном случае, когда он пытается быть слишком «обобщенным», он превращается в... еще один странный язык программирования, непротиворечивость(или хотя бы безбажность) и пользу которого как бэ могут оценить лишь «истинные адепты» (по сути каличные программисты на нем), которые, как специалисты подобные флюсу, чаще всего не слышали про теорему о неполноте и что строго что-то доказать в рамках самой системы они не могут примерно ничего (потому что теорем в процессе работы не доказывают, и доказательное программирование с формальной верификацией (с использованием хотя бы Coq) для них вообще что-то на непонятном) :)
Исходная версия slackwarrior, :
BDD — это прежде всего методология. Она в головах, а не в конструкциях :) Конструкции обычно отражают видение тараканов в голове автора. Это почти проективные тесты скорее авторов, как они понимают методологию (чаще всего «ритуально воспроизводя бестпрактисы»). Именно поэтому большинство «фреймворков»: а)перегружены абстрактной фигней, которая нужна 3.5 человекам из секты «истинных адептов правильных тестов» б) ограничены представлениями авторов о полезности конструкций для. 90 процентов людей использует некоторое «компактное подмножество». Особенно радуют конструкции с пересекающимся функционалом «для почти того же» (или соответствующие тому же самому в языках программирования).
А большинство любых тестов — это исходная диспозиция «дано», с предусловиями, и проверка сходимости постусловий :)
Например, когда автотестированием еще почти нигде не пахло, автоматизировали тестирование ПО для бирж на основе публично доступных исторических данных, тестерам предлагалась «оверинжиниреная» система автотестирования с конфигурацией на XML, в которой большую часть теста занимала простыня с конфигурацией... которая во многих тестах пересекается и не должна вообще копипаститься бы. Но авторы системы на это ложили болт, т.к. «они так видят», «тесты должны быть изолированы!» (поэтому восход солнца в каждом вручную), и смысловая часть теста терялась в простыне конфигурации. Долго ли коротко ли, этого монстра заменили на «пулемет» в виде эмулятора биржи для обстрела сервера сообщениями, на встроенном жабоскрипте с наколенной «библиотекой», сводящей тест к трем строчкам — сообщение, запрос, ответ. А не «сферический в вакууме манямирок» с фейками всего подряд. И даже тестеры, которые воротили нос от «работы программистов» и херачили проверки вручную по эксельке, поменяли мнение и нашли новую систему полезной.
DSL тестов же в большинстве случаев довольно тривиальный — в противном случае, когда он пытается быть слишком «обобщенным», он превращается в... еще один странный язык программирования, непротиворечивость(или хотя бы безбажность) и пользу которого как бэ могут оценить лишь «истинные адепты» (по сути каличные программисты на нем), которые, как специалисты подобные флюсу, чаще всего не слышали про теорему о неполноте и что строго что-то доказать в рамках самой системы они не могут примерно ничего (потому что теорем в процессе работы не доказывают, и доказательное программирование с использованием хотя бы Coq для них вообще что-то на непонятном) :)