Хотите драйва? Вам в tdd!

27
Хотите драйва? Вам в TDD! Сергей Калинец http://tdd4.net @skalinets

Upload: serhiy-kalinets

Post on 04-Jul-2015

893 views

Category:

Documents


5 download

DESCRIPTION

Доклад с которым я выступал на майском .net субботнике Ciklum в Киеве

TRANSCRIPT

Page 1: Хотите драйва? Вам в TDD!

Хотите драйва? Вам в TDD!

Сергей Калинецhttp://tdd4.net

@skalinets

Page 2: Хотите драйва? Вам в TDD!

Обо мне

• > 10 лет в разработке

• > 6 лет в .Net

• Фанат TDD

Page 3: Хотите драйва? Вам в TDD!
Page 4: Хотите драйва? Вам в TDD!
Page 5: Хотите драйва? Вам в TDD!

Счастье это..

Когда утром хочется на работу,

а вечером хочется домой

Page 6: Хотите драйва? Вам в TDD!

Культ пятницы

Page 7: Хотите драйва? Вам в TDD!

Драйв Не драйв

Page 8: Хотите драйва? Вам в TDD!
Page 9: Хотите драйва? Вам в TDD!

Что печалит

• Внешние ограничения

• G-Код

• Лишний код

• Начальный тупняк

• Медленная обратная связь

• Отладка

Page 10: Хотите драйва? Вам в TDD!

Пути спасения

• Другой проект

• Другая компания

• Другой подход

Page 11: Хотите драйва? Вам в TDD!

TDD работает

• Для всех основных языков

• Для всех методологий

• С любым (почти) менеджментом

Page 12: Хотите драйва? Вам в TDD!

TDD способствует

• Ускорению разработки

• Улучшению кода

• Изучению новых фишек

– Dependency Injection

– Unit Test Framework

– Test Doubles Framework

– Design Patterns

– Continuous Integration

Page 13: Хотите драйва? Вам в TDD!

Ускорение

• Быстрая обратная связь

• Меньше отладчика

• Ad-hoc тесты

• «Список покупок»

Page 14: Хотите драйва? Вам в TDD!

Уверенность

• Система постоянно в порядке

• Ощущение движения вперед

• Безболезненное улучшение кода

Page 15: Хотите драйва? Вам в TDD!

Типы тестов

• Unit tests

• Integration tests

• Ad-hoc tests

Page 16: Хотите драйва? Вам в TDD!

Red Green Refactor

• Пишем тест на несуществующее поведение

• Запускаем – он падает

• Пишем нужное поведение

• Запускаем тест – зеленый

• Рефакторим поведение, очищая код

• Запускаем тест – зеленый

• Комитим наши изменения.

Page 17: Хотите драйва? Вам в TDD!

Принципы

• Сначала тест – потом код!!!

• Минимум кода в тесте

• Проверяемый метод содержит кода ровно столько, чтобы тест проходил

Page 18: Хотите драйва? Вам в TDD!

Integration Tests

• Тестируют части системы

• Могут взаимодействовать с внешним миром

Page 19: Хотите драйва? Вам в TDD!
Page 20: Хотите драйва? Вам в TDD!
Page 21: Хотите драйва? Вам в TDD!

А где QAs?

Page 22: Хотите драйва? Вам в TDD!

Препятствия

• Отрицание

• Неправильное понимание

• Неприятие командой

• Неприятие менеджментом

Page 23: Хотите драйва? Вам в TDD!
Page 24: Хотите драйва? Вам в TDD!

Ошибки внедрения

• Тесты после кода

• Тестируем старый код

• Отсутствие опыта

Page 25: Хотите драйва? Вам в TDD!

Больше драйва?

• Парное программирование

• Agile Modeling

• Continuous deployment

Page 26: Хотите драйва? Вам в TDD!

Заключение

• Не используете TDD – попробуйте

• Не получается – спрашивайте

• Получается – делитесь опытом

Page 27: Хотите драйва? Вам в TDD!

Спасибо!

• Сергей Калинец

• http://tdd4.net

• Skype: sergiikalinets

[email protected]

• Twitter: @skalinets