Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile: разработка + тестирование

Agile: разработка + тестирование

Александр Бындю

September 29, 2010
Tweet

More Decks by Александр Бындю

Other Decks in Technology

Transcript

  1. www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Планирование итерации 
 Заказчик

    + разработчики + тестировщики 1 2 3 5 8 Я как… Залогиненый пользователь Могу… Выйти из личного кабинета, нажав ссылку «Выйти» При этом… •Попадаю на главную страницу •Выход из системы заносится в лог Я как… Залогиненый пользователь Могу… Выйти из личного кабинета, нажав ссылку «Выйти» При этом… •Попадаю на главную страницу •Выход из системы заносится в лог Я как… Залогиненый пользователь Могу… Выйти из личного кабинета, нажав ссылку «Выйти» При этом… •Попадаю на главную страницу •Выход из системы заносится в лог 3 1 2 2 1 1 Управление
  2. www.dotnetconf.ru Что помогает программистам? • Принципы проектирования SOLID • Рефакторинг

    • Test-Driven Development • Коммуникация –Стендапы –Парное программирование –Общее владение кодом • Постоянный рост над собой Разработка
  3. www.dotnetconf.ru Принципы проектирования Single Responsibility Principle Open/Close Principle Liskov Substitusion

    Principle Interface Segregation Principle Dependency Inversion Principle Разработка
  4. www.dotnetconf.ru Постоянный рефакторинг 1. улучшение того, что только что написал

    2. улучшение системы в следствии внесения новой функциональности Разработка Рефакторинг возможен только при наличии модульных тестов
  5. www.dotnetconf.ru Test-Driven Development ―Рефакторинг ―Документация к коду ―Проектирование ―Покрытие тестами

    Разработка 1. Пишем тест 2. Пишем код, чтобы тест скомпилировался 3. Запускаем тест – он не проходит 4. Реализуем функциональность пока тест не пройдет 5. Делаем рефакторинг
  6. www.dotnetconf.ru Что помогает тестировщикам? • Раннее обнаружение ошибок • Фиксация

    ошибки в интеграционных тестах • Автоматизация запуска всего набора тестов • Аудит на живых серверах Разаботка Тестирование
  7. www.dotnetconf.ru А если возникают ошибки? 1. Восстанавливаем ошибку с помощью

    интеграционного теста Тестирование 3. Интеграционный тест проходит, а значит такая ошибка больше не повторится 2. Если нет сложности в исправлении, то проблему решает сам тестировщик, иначе переходит программисту
  8. www.dotnetconf.ru Аудит • Специальный сервис отслеживает запуск консольных приложений •

    Ошибки подробно логируются на живых серверах в момент возникновения Тестирование
  9. www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Ретроспектива – 
 оценка

    результата итерации ―Какие есть проблемы? ―Что можно улучшить? Управление
  10. www.dotnetconf.ru Динамика изменений (% в месяц) 30 10 5 1

    50 70 50 30 10 90 Культура (% анархия против порядка) бюджет проекта серьезные средства жизнь человека жизни многих комфорт Критичность (потери из-за дефектов) 80 70 50 30 90 Квалификация % новичков / % матёрых 20 30 50 70 10 Размер (кол-во участников) 10 30 50 3 100 Можем себе позволить Осваивание бюджета Частный бизнес Заинтересованность руководства в эффективности Работаю и ладно