Книга: Гибкое управление проектами и продуктами
Разработка через тестирование и разработка с тестами
Разработка через тестирование и разработка с тестами
Сначала обсудим более традиционную практику – разработку с тестами. При таком подходе программист пишет код, а затем – автоматизированные тесты для него для проверки корректности.
Экстремальное программирование идет дальше и превращает проверку качества в инструмент для создания спецификации и архитектуры. Для этого этап написания тестов переносится в начало цикла разработки.
Цикл разработки в рамках TDD
Такой подход называется разработкой через тестирование или разработкой через тесты (Test Driven Development). Процесс работы разбивается на три этапа:
• красный – пишем неработающий тест;
• зеленый – минимальными усилиями заставляем тест работать;
• рефакторинг – устраняем дублирования и приводим код в порядок.
Для выбора кода, который следует покрыть тестами, можно использовать следующую схему.
Схема для выбора кода
При разработке с тестированием хорошо сразу включить наличие тестов в критерии готовности истории пользователя. Это дисциплинирует разработчиков.
• Простой код – это самый тривиальный код, в котором сложно допустить ошибки и который фактически не требует тестирования. Писать тесты для него необходимо только в минимальном количестве.
• Алгоритмы – это код, реализующий разного рода алгоритмы и бизнес-логику. Он достаточно независим от других частей, и тестировать его необходимо максимально тщательно.
• Связующий код – это код с максимальным количеством зависимостей, что сильно повышает стоимость поддержки модульных тестов для него, поэтому их необходимо писать в минимальных количествах.
• Сложный код – достаточно запутанный код, но для него нужны тесты. Как правило, его можно отрефакторить и сосредоточить в итоге свои усилия на алгоритмах.
В рамках TDD используется следующая практика из экстремального программирования – рефакторинг.
- Глава 20 Заплаты, разработка и сообщество
- Как получить файлы через ICQ?
- Разработка предложения
- Глава 1. Разработка теоретических оснований креативного управления информационным обеспечением туризма
- Глава 9. Разработка товаров: новые товары и проблемы жизненного цикла
- Часть I СМЕРТЬ ЧЕРЕЗ POWERPOINT
- 42. «Разделение доходов» Обоюдный выигрыш через симбиоз
- Продвижение через поисковые подсказки
- 6.4. СИСТЕМЫ ИЗ ПРОГРАММ, ОБМЕНИВАЮЩИХСЯ ДАННЫМИ ЧЕРЕЗ ПОРТЫ
- Глава 16 Катализатор движения Создаем абсолютную мотивацию через абсолютную мотивацию
- Тестирование
- 28.4. Ввод через символьный сокет