Я лидер WEB разработки
Главная страница → Для будущих лидеров → Мастер-классы → Разработка через тестирование (TDD) в PHP.

Разработка через тестирование (TDD) в PHP.

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

Ведущие

Щеваев Павел Александрович и Юдин Сергей Юрьевич
 
Основные разработчики Limb PHP Framework (http://limb-project.com/);
Программисты компании BIT (http://bit-creative.com/);
Огранизаторы проекта AgileDev (http://agiledev.ru/);
Участники open-source проекта SimpleTest и многих других.

Ведущие имеют опыт разработки через тестирование (TDD) около 5 лет.
Опыт разработки при помощи PHP – более 6 лет.

Отзывы

…Могу добавить про мастер-класс по TDD. Его как раз вели Щеваев и Юдин - это было настоящее "зло", в хорошем смысле этого слова ;) Жалко, что в мой конторе такие методики разработки пока не применимы… (http://bad-pig.livejournal.com/6770.html?thread=13170#t13170 )
 
…Очевидно, первому потоку повезло в 3.14*2.7 раз больше - он получил неоценимый практический опыт в реализации разработки через тестирование. Несмотря на то, что [pachanga] (Павел Щеваев) и [syfisher] (Сергей Юдин) всячески отнекивались, мол, знаем мы много, да вот рассказывать получается плохо, их мастер-класс – это поистине шедевр… (http://phpclub.ru/talk/showthread.php?postid=719366#post719366 )
 
Некоторые вещи[из доклада на конференции] я бы не понял, если бы не посетил мастер-класс syfisher'а (Сергей Юдин) и pachang'и (Павел Щеваев) по экстремальному программированию, который проводился в рамках конференции несколькими днями раньше. Мастер-класс удался на славу, сэкономил мне кучу времени на изучение TDD (разработки на основе тестирования). В ближайшее время планирую внедрить этот подход на практике, предварительно подтянув коллег...(http://djsv.livejournal.com/25383.html )
 
Одним из плюсов наших мастер-классов мы считаем парное проведение, когда ведущие в равной степени владеют материалом, при этом один из них выступает в роли оратора, а другой помогает слушателям на местах в сложных вопросах или если кто-то отстал. Время от времени ведущие меняются местами.

Аудитория

Аудитория наших мастер-классов – это достаточно опытные разработчики, применяющие объектно-ориентированный подход в работе, знакомые с теорией экстремального программирования. Как правило на мастер-классы направляются ведущие разработчики в компаниях, которые планируют внедрять методы экстремального программирования в разработке.
 
Некоторые требования к подготовке аудитории:
1) Знание ООП в PHP
2) Базовые знания работы в Linux-е
3) Знания о шаблонах проектирования (декоратор, итератор, фабрика, фасад и некоторые другие)
4) Желательно знакомство с библиотекой SPL
5) Приветствуется небольшой опыт применения автоматических тестов ранее (не обязательно).
 
Можно даже сказать, что мастер-класс рассчитан на тех людей, которые самостоятельно начали процесс, но застряли, у них не хватило времени на внедрение или же какие-либо проблемы помешали внедрению TDD.
 

Итоги посещения мастер-класса

Слушатели мастер-класса без труда смогут внедрить автоматизированное тестирование в своей работе. На мастер-классе они узнают, какими средствами можно и лучше пользоваться, какие есть альтернативы для тестирования. Мы постараемся указать на всевозможные ошибки и проблемы, которые могут возникнуть при внедрении и как этих проблем избежать. Они будут владеть набором приемов, которые позволят упростить процесс написания и запуска тестов. Мы расскажем, как мы тестируем наши приложения (в основном это стандартные Интернет-приложения с достаточно сложной бизнес-логикой), на какие моменты стоит обратить повышенное внимание.
 
В целом, почти все, кто посетил наши прыдыдущие мастер-классы, остались довольны и признают, что наши занятия сэкономили им много времени.

Программа

  • Краткий экскурс в TDD, гибкие методики. Кратко связь test-first разработки,  рефакторинга и простого дизайна.
  • SimpleTest и PhpUnit3. Достоинства и недостатки.
  • Установка тестовой среды. Первые тесты. Пример создания кода в стиле TDD. Основные принципы TDD на практике.
  • Организация тестовой среды для тестирования больших приложений.
  • Тестирование операций, связанных с базой данных.
  • Мок-объекты. Ручное создание мок-объектов. Автоматическая генерация  мок-объектов. Использование мок-объектов из SimpleTest. Правильное  использование мок-объектов. Внедрение мок-объектов в тестируемый код.
  • Приемочное тестирование. Использование Selenium, Selenium RC и SimpleTest WebTester.
  • Тестирование отправки почты. Использование FakeMail и FakeMailDemon.
  • Оценка покрытия кода тестами (Test Coverage) в PHP
  • Постоянная интеграция (Continuous Integration) в PHP
  • Влияние тестирования на дизайн кода. Принципы ООП,  облегчающие модульное тестирование.
  • Рефакторинг и связь рефакторинга и тестирования. Рекомендации по  написанию тестов, которые легко читать и поддерживать. Рефакторинг тестов. Примеры безопасного рефакторинга.
  • Перевод проектов на реальсы TDD
  • Примеры из реальных приложений.
Содержимое программы также зависит от уровня аудитории. Иногда мы пропускаем самые базовые вещи, если аудитория имеет начальный опыт и даем сразу материал для «продвинутых».

Условия и предварительная регистрация

Продолжительность программы - 2 полных дня.
 
Ближайшая дата проведения - середина октября 2007 г.
 
Ориентировочная стоимость - 18000 рублей.
 
© 1997 - 2008 | PHP Club Team | PHPCENTER | PHPCONF | +7 (495) 585-92-61