Юлия Пучнина - Внедрение tdd на большом-пребольшом...
TRANSCRIPT
Как украинцы ТDD внедрялиЮлия Пучнина, Datatile
Юлия
probably-kira
Yulia Puchnina
yulia.puchnina
Что такое TDD
- для кого-то провал
- для кого-то история успеха
- для кого-то новая игрушка
- для кого-то попытка все
исправить
TDD как метод разработки
- код работает стабильно
- эти тесты заменяют
спецификацию
- процесс рефакторинга
упрощается в разы
Заявленые преимущества
… говорили они, Карл!
Преимущества
- Время на разработку увеличивается на 40%*
...но кого это волнует
* согласно британским ученым
Известные недостатки
Давным-давно, в далекой галактике, кто-то решил попробовать TDD у себя на проекте
- Очень высокий порог вхождения
Проблема #1
- Очень высокий порог вхождения
- Очень непривычная модель
разработки
Проблема #2
- Очень высокий порог вхождения
- Очень непривычная модель
разработки
- Действительно отнимает кучу
времени
Проблема #3
- Очень высокий порог вхождения
- Очень непривычная модель
разработки
- Действительно отнимает кучу
времени
- НЕВЕРОЯТНО НУДНО
Проблема #4
- Очень высокий порог вхождения
- Очень непривычная модель
разработки
- Действительно отнимает кучу
времени
- НЕВЕРОЯТНО НУДНО
Проблема #4
- код действительно работает
стабильно
- эти тесты действительно
заменяют спецификацию
На самом деле, есть и плюсы
- уровень разработчика растет
- если вам нечем больше занять
команду, TDD для вас
На самом деле, есть и плюсы
Почему внедрение TDD
у нас в проекте
кажется мне
провальным?
- нулевое business-value
Причины просты
- нулевое business-value
- разработчик довольно быстро
охладел
Причины просты
- нулевое business-value
- разработчик довольно быстро
охладел
- аджайл ради аджайла
Причины просты
- нулевое business-value
- разработчик довольно быстро
охладел
- аджайл ради аджайла
Причины просты
Kent Beck “Test Driven Development: By Example”
Roy Osherove “The Art of Unit Testing”
Martin Fowler “Refactoring”
Joshua Kerievsky “Refactoring to Patterns”
Michael Feathers “Working Effectively with Legacy Code”
Все еще хотите попробовать?
Всем спасибо! Вопросы?