Я лидер WEB разработки
Главная страница → Для будущих лидеров → Архив мастер-классов → Экстремальное программирование в PHP

Экстремальное программирование в PHP

22.05.2006

Разработка через тестирование(TDD) и гибкие методики разработки ПО с использованием PHP. Практика создания модульных и приемочных тестов для web-приложений, использование SimpleTest и Selenium, практики ООП, облегчающие тестирование и способствующие формированию хорошей архитектуры приложений, использование мок-объектов и многое другое.


Ведущие мастер класса: Щеваев Павел Александрович и Юдин Сергей Юрьевич,
Основные разработчики LIMB CMF (http://limb-project.com), программисты компании BIT (http://bit-creative.com),
активные участники open-source проектов WACT, SimpleTest, FakeMail и некоторых других, огранизаторы проекта AgileDev (http://agiledev.ru).
Обладают опытом разработки через тестирование (TDD) более 3 лет, опытом веб-разработок с применением ООП - более 5 лет.

План

Продолжительность
2 дня, 3 часа (всего более 15 часов).

Целевая аудитория:
Профессиональные PHP-разработчики. Необходимо знание ООП, шаблонов проектирования, основ рефакторинга. Желательно иметь представление о гибких методиках разработки (например, об экстремальном программировании XP).

Начало – в 10:00 каждого дня, регистрация. Каждый час-полтора или по мере необходимости делается небольшой перерыв (кофе-брейк) на 5-10 минут.

Первый день (22 мая):

10:00 Регистрация, раздача материалов, настройка оборудования
10:30 Начало. Теоретическая часть. Краткий экскурс в TDD, гибкие методики. Связь test-first разработки, рефакторинга и простого дизайна.
11:00 SimpleTest и PhpUnit2. Достоинства и недостатки. Установка тестовой среды. Первые тесты. Пример создания кода в стиле TDD. Основные принципы TDD на практике.
13:00 Организация тестовой среды для тестирования больших приложений.
13:30 Тестирование операций, связанных с базой данных.
14:00 Обед.
15:00 Запахи тестового кода. Рекомендации по написанию тестов, которые легко читать и поддерживать. Рефакторинг тестов. Рефакторинг рабочего кода. Связь рефакторинга и тестирования. Примеры безопасного рефакторинга.
17:45 Раздача заданий. Коллективная проверка – на следующий день.
Второй день (23 мая):
10:15 Роль изоляции в тестировании. Использование мок-объектов и заглушек.. Ручное создание мок-объектов. Автоматическая генерация мок-объектов. Использование мок-объектов из SimpleTest. Правильное использование мок-объектов. Внедрение мок-объектов в тестируемый код. Влияние тестирования на дизайн кода. Top-down разработка. Принципы ООП, облегчающие модульное тестирование и способствующие формированию качественной архитектуры.
14:00 Обед.
15:00 Приемочное тестирование. Использование Selenium и SimpleTest WebTester.
16:30 Тестирование отправки почты. Использование FakeMail и FakeMailDemon.
16:45 Средства оценки покрытия кода тестами. Использование Spike PHP Coverage.
17:00 Проверка заданий с предыдущего дня. Раздача новых заданий.
Третий день (24 мая):
10:00 Перевод проектов на рельсы TDD. Работа с legacy-кодом. Некоторые приемы, позволяющие провести изоляцию для облегчения модульного тестирования.
12:00 Внедрение TDD в команду «традиционных» программистов. Рекомендации по дальнейшему совершенствованию навыков: список книг, проекты, темы.
12:15 Проверка заданий, вручение сертификатов.
© 1997 - 2008 | PHP Club Team | PHPCENTER | PHPCONF | +7 (495) 585-92-61