Upload
borgeir-ingvarsson
View
157
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
О ВРЕ
ДЕ ОГУ
РЦОВ
АВ
ТО
Р:
CA
PT A
I N C
HA
OS
ПРЕАМБУЛА
Всем известна бородатая шутка из «Журнала невоспроизводимых результатов» о том, сколь вредны
огурцы: «среди людей, родившихся в 1839 г. и питавшихся впоследствии огурцами, смертность равна 100%», «99,9%
всех людей, умерших от рака, при жизни ели огурцы» и т.д. и т.п.
Так вот, данная презентация вообще не об этом. Какие к черту шутки?! Умирают люди!
ЭЙНШТЕЙН И АВТОМАТИЗАЦИЯ
Работая над своей общей теорией фреймворков автоматизации тестирования, Эйнштейн якобы сказал: «Две вещи бесконечны: Вселенная и человеческая глупость; и насчет Вселенной я не уверен».
СЛЕДСТВИЕ КАПИТАНА ХАОСА
Мы не знаем, кто в действительности является автором этого, безусловно, справедливого,
наблюдения.
Тем не менее, возьмем на себя смелость сформулировать так называемое следствие
Капитана Хаоса:
ЕСЛИ ВЫ СТРЕМИТЕСЬ К ТОМУ, ЧТОБЫ ВАШИМ ФРЕЙМВОРКОМ МОГЛИ ПОЛЬЗОВАТЬСЯ ДАЖЕ
ДЕБИЛЫ, ИМЕННО ОНИ ИМ И БУДУТ ПОЛЬЗОВАТЬСЯ.
ЗНАЙ ВРАГА В ЛИЦО!
ИТАК, CUCUMBER
Вся низость и коварство этого инструмента проявляется в том, что на бумаге все выглядит охуенно.
• Бизнес-аналитики, не напрягаясь, описывают желаемые фичи на человеческом языке;
• Счастливые разработчики тут же запускают полученные сценарии и, убедившись, что ничего не работает, пишут тестовый код;
• Покончив с этим, усталые и довольные разработчики добавляют в продуктовый код парочку констант и захардкоданных магических чисел, чтобы тесты стали зелеными;
• Cucumber генерирует аккуратные отчеты во всевозможных форматах, взглянув на которые, начальство тут же повышает всем зарплаты и уезжает на месяц играть в гольф;
• После чего вся команда резвится на залитом солнцем лугу, играя с котятами, щенками и утятами.
ГДЕ ПОДВОХ?
Что же происходит в реальности?
• Бизнес-аналитики чхать хотели на какие-то там Cucumber-сценарии. «Мы наняли команду автоматизаторов, вот они пускай и пишут тесты»;
• Матерясь и наступая на все возможные грабли, разработчики и автоматизаторы пишут сценарии и степы к ним, которые потом все равно никто не читает;
• По мере того, как в команде сменяются кадры, общая архитектура тестового фреймворка асимптотически стремится к модели Big ball of mud.
ГДЕ ПОДВОХ?
К ЧЕМУ ВСЕ ЭТО ВЕДЕТ?
• «Так, напишем с десяток сценариев про нашу фичу. Да это же настоящая живая документация! Ништяк!»
• «Ну вот, автоматические acceptance-тесты у нас есть. Но надо бы нахуячить и всяких там еще других. Зачем выбирать какой-то другой инструмент, ведь есть же Cucumber? Что плохого, если начальство и прочие двоечники смогут читать наши интеграционные тесты? Ничего плохого, погнали!»
• «End-to-end-сценарии? Где-то мы уже слышали это слово «сценарий». Cucumber спешит на помощь! Да и опять же, начальство сможет почитать. Ну, если захочет, конечно…»
И вот у вас уже полноразмерная автоматическая сюита на Cucumber’е, покрывающая решительно все, что только есть в
вашем приложении.
ГДЕ ПОДВОХ?
Вся печаль ситуации заключается в том, что Cucumber в принципе не предназначен для тестирования. Он вообще непонятно для чего предназначен: для решения какой-то полумифической проблемы коммуникации, которой в большинстве команд просто нет, либо она успешно решается другими, менее хипстерскими способами.
Не верите мне, так послушайте хотя бы дядю Аслака.
ВОНМИ АСЛАКУ
«Не вздумай тестировать с помощью Cucumber», как бы говорит нам Аслак.
ЛЕММА КАПИТАНА ХАОСА
Позволим себе скромно сформулировать следующую лемму:
ОГУРЦЫ СЛЕДУЕТ УПОТРЕБЛЯТЬ
ТОЛЬКО В ПИЩУ.ДЛЯ ВСЕГО ОСТАЛЬНОГО ЕСТЬ
СООТВЕТСТВУЮЩИЕ ИНСТРУМЕНТЫ.
ВОПРОСЫ?