13
О ВРЕДЕ ОГУРЦОВ АВТ ОР: CAP TAIN CHAOS

The Dangers of Cucumber

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: The Dangers of Cucumber

О ВРЕ

ДЕ ОГУ

РЦОВ

АВ

ТО

Р:

CA

PT A

I N C

HA

OS

Page 2: The Dangers of Cucumber

ПРЕАМБУЛА

Всем известна бородатая шутка из «Журнала невоспроизводимых результатов» о том, сколь вредны

огурцы: «среди людей, родившихся в 1839 г. и питавшихся впоследствии огурцами, смертность равна 100%», «99,9%

всех людей, умерших от рака, при жизни ели огурцы» и т.д. и т.п.

Так вот, данная презентация вообще не об этом. Какие к черту шутки?! Умирают люди!

Page 3: The Dangers of Cucumber

ЭЙНШТЕЙН И АВТОМАТИЗАЦИЯ

Работая над своей общей теорией фреймворков автоматизации тестирования, Эйнштейн якобы сказал: «Две вещи бесконечны: Вселенная и человеческая глупость; и насчет Вселенной я не уверен».

Page 4: The Dangers of Cucumber

СЛЕДСТВИЕ КАПИТАНА ХАОСА

Мы не знаем, кто в действительности является автором этого, безусловно, справедливого,

наблюдения.

Тем не менее, возьмем на себя смелость сформулировать так называемое следствие

Капитана Хаоса:

ЕСЛИ ВЫ СТРЕМИТЕСЬ К ТОМУ, ЧТОБЫ ВАШИМ ФРЕЙМВОРКОМ МОГЛИ ПОЛЬЗОВАТЬСЯ ДАЖЕ

ДЕБИЛЫ, ИМЕННО ОНИ ИМ И БУДУТ ПОЛЬЗОВАТЬСЯ.

Page 5: The Dangers of Cucumber

ЗНАЙ ВРАГА В ЛИЦО!

Page 6: The Dangers of Cucumber

ИТАК, CUCUMBER

Вся низость и коварство этого инструмента проявляется в том, что на бумаге все выглядит охуенно.

• Бизнес-аналитики, не напрягаясь, описывают желаемые фичи на человеческом языке;

• Счастливые разработчики тут же запускают полученные сценарии и, убедившись, что ничего не работает, пишут тестовый код;

• Покончив с этим, усталые и довольные разработчики добавляют в продуктовый код парочку констант и захардкоданных магических чисел, чтобы тесты стали зелеными;

• Cucumber генерирует аккуратные отчеты во всевозможных форматах, взглянув на которые, начальство тут же повышает всем зарплаты и уезжает на месяц играть в гольф;

• После чего вся команда резвится на залитом солнцем лугу, играя с котятами, щенками и утятами.

Page 7: The Dangers of Cucumber

ГДЕ ПОДВОХ?

Что же происходит в реальности?

• Бизнес-аналитики чхать хотели на какие-то там Cucumber-сценарии. «Мы наняли команду автоматизаторов, вот они пускай и пишут тесты»;

• Матерясь и наступая на все возможные грабли, разработчики и автоматизаторы пишут сценарии и степы к ним, которые потом все равно никто не читает;

• По мере того, как в команде сменяются кадры, общая архитектура тестового фреймворка асимптотически стремится к модели Big ball of mud.

Page 8: The Dangers of Cucumber

ГДЕ ПОДВОХ?

Page 9: The Dangers of Cucumber

К ЧЕМУ ВСЕ ЭТО ВЕДЕТ?

• «Так, напишем с десяток сценариев про нашу фичу. Да это же настоящая живая документация! Ништяк!»

• «Ну вот, автоматические acceptance-тесты у нас есть. Но надо бы нахуячить и всяких там еще других. Зачем выбирать какой-то другой инструмент, ведь есть же Cucumber? Что плохого, если начальство и прочие двоечники смогут читать наши интеграционные тесты? Ничего плохого, погнали!»

• «End-to-end-сценарии? Где-то мы уже слышали это слово «сценарий». Cucumber спешит на помощь! Да и опять же, начальство сможет почитать. Ну, если захочет, конечно…»

И вот у вас уже полноразмерная автоматическая сюита на Cucumber’е, покрывающая решительно все, что только есть в

вашем приложении.

Page 10: The Dangers of Cucumber

ГДЕ ПОДВОХ?

Вся печаль ситуации заключается в том, что Cucumber в принципе не предназначен для тестирования. Он вообще непонятно для чего предназначен: для решения какой-то полумифической проблемы коммуникации, которой в большинстве команд просто нет, либо она успешно решается другими, менее хипстерскими способами.

Не верите мне, так послушайте хотя бы дядю Аслака.

Page 11: The Dangers of Cucumber

ВОНМИ АСЛАКУ

«Не вздумай тестировать с помощью Cucumber», как бы говорит нам Аслак.

Page 12: The Dangers of Cucumber

ЛЕММА КАПИТАНА ХАОСА

Позволим себе скромно сформулировать следующую лемму:

ОГУРЦЫ СЛЕДУЕТ УПОТРЕБЛЯТЬ

ТОЛЬКО В ПИЩУ.ДЛЯ ВСЕГО ОСТАЛЬНОГО ЕСТЬ

СООТВЕТСТВУЮЩИЕ ИНСТРУМЕНТЫ.

Page 13: The Dangers of Cucumber

ВОПРОСЫ?