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

5,426 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,426
On SlideShare
0
From Embeds
0
Number of Embeds
3,590
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. Agileразработка + тестирование<br />Александр Бындю<br />Компания «Главснаб», технический директор<br />
  2. 2. Темпы разработки<br />Функциональность<br />Время<br />
  3. 3. Планирование итерацииЗаказчик + разработчики + тестировщики<br />Я как…<br />Залогиненый пользователь<br />Могу…<br />Выйти из личного кабинета, нажав ссылку «Выйти»<br />При этом…<br /><ul><li>Попадаю на главную страницу
  4. 4. Выход из системы заносится в лог</li></ul>3<br />Я как…<br />Залогиненый пользователь<br />Могу…<br />Выйти из личного кабинета, нажав ссылку «Выйти»<br />При этом…<br /><ul><li>Попадаю на главную страницу
  5. 5. Выход из системы заносится в лог</li></ul>Я как…<br />Залогиненый пользователь<br />Могу…<br />Выйти из личного кабинета, нажав ссылку «Выйти»<br />При этом…<br /><ul><li>Попадаю на главную страницу
  6. 6. Выход из системы заносится в лог</li></ul>2<br />1<br />Управление<br />2<br />1<br />1<br />2<br />3<br />8<br />1<br />5<br />
  7. 7. Ценность планирования – создание измеримого плана<br />Управление<br />
  8. 8. Управление<br />Визуализация результата<br />
  9. 9. Делаем ответвление<br />
  10. 10. Заливка новой версии<br />Как выпустить релиз?<br />
  11. 11. Что помогает программистам?<br />Принципы проектирования SOLID<br />Рефакторинг<br />Test-Driven Development<br />Коммуникация<br />Стендапы<br />Парное программирование<br />Общее владение кодом<br />Постоянный рост над собой<br />Разработка<br />
  12. 12. Принципы проектирования<br />Single Responsibility Principle<br />Open/Close Principle<br />LiskovSubstitusion Principle<br />Interface Segregation Principle<br />Dependency Inversion Principle<br />Разработка<br />
  13. 13. Постоянный рефакторинг<br />улучшение того, что только что написал<br />улучшение системы в следствии внесения новой функциональности<br />Разработка<br />Рефакторинг возможен только при наличии модульных тестов<br />
  14. 14. Главное правило рефакторинга<br />Лучшее – <br />враг хорошего<br />Разработка<br />
  15. 15. Рефакторинг и технические долги<br />Разработка<br />
  16. 16. Test-Driven Development<br />Пишем тест<br />Пишем код, чтобы тест скомпилировался<br />Запускаем тест – он не проходит<br />Реализуем функциональность пока тест не пройдет<br />Делаем рефакторинг<br />Разработка<br /><ul><li>Рефакторинг
  17. 17. Документация к коду
  18. 18. Проектирование
  19. 19. Покрытие тестами</li></li></ul><li>Что помогает тестировщикам?<br />Раннее обнаружение ошибок<br />Фиксация ошибки в интеграционных тестах<br />Автоматизация запуска всего набора тестов<br />Аудит на живых серверах<br />Тестирование<br />Разаботка<br />
  20. 20. Раннее обнаружение ошибок<br />Стоимость обнаружения<br />Тестирование<br />Планирование<br />Разработка<br />Тестирование<br />Выпуск<br />Время<br />
  21. 21. А если возникают ошибки?<br />1. Восстанавливаем ошибку с помощью интеграционного теста<br />Тестирование<br />2. Если нет сложности в исправлении, то проблему решает сам тестировщик, иначе переходит программисту<br />3. Интеграционный тест проходит, а значит такая ошибка больше не повторится<br />
  22. 22. Автоматизация запуска всего набора тестов<br />Запуск каждую ночь или «по щелчку»<br />Тестирование<br />
  23. 23. Аудит<br />Специальный сервис отслеживает запуск консольных приложений<br />Ошибки подробно логируются на живых серверах в момент возникновения<br />Тестирование<br />
  24. 24. Ретроспектива – оценка результата итерации<br />Управление<br /><ul><li>Какие есть проблемы?
  25. 25. Что можно улучшить?</li></li></ul><li>Куда девать незаконченные карточки?<br />Управление<br />
  26. 26. Темпы разработки<br />Функциональность<br />Время<br />
  27. 27. Границы применимости<br />
  28. 28. Квалификация<br />% новичков / % матёрых<br />Критичность<br />(потери из-за дефектов)<br />70<br />30<br />50<br />50<br />жизни многих<br />Динамика изменений<br />(% в месяц)<br />30<br />жизнь человека<br />70<br />серьезные средства<br />20<br />80<br />1<br />бюджет проекта<br />5<br />10<br />90<br />10<br />комфорт<br />30<br />Размер<br />(кол-во участников)<br />50<br />3<br />10<br />30<br />90<br />50<br />Частный бизнес<br />100<br />70<br />Работаю и ладно<br />50<br />30<br />Можем себе позволить<br />10<br />Осваивание бюджета<br />Культура<br />(% анархия против порядка)<br />Заинтересованность руководства<br />в эффективности<br />
  29. 29. Обратная связь<br />alexander.byndyu@gmail.com<br />http://blog.byndyu.ru<br />alexanderbyndyu<br />

×