Тестирование веб-проектов в Agile

1,105 views

Published on

Асхат Уразбаев - Доклад на конференции SQA Days-3

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,105
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Тестирование веб-проектов в Agile

  1. 1. Тестирование веб-проектов в Agile<br />АсхатУразбаев, ScrumTrek<br />
  2. 2. Содержание<br />Специфика веб-проектов<br />Коротко об Agile<br />Тестирование в Agile<br />Виды качества<br />Практики тестирования<br />
  3. 3. Специфика веб-проектов<br />Короткий цикл выкладки<br />Деплой на сервера (без обновления клиентских машин)<br />Легкие технологии, относительно простая архитектура<br />Относительно невысокая связанность кода<br />
  4. 4. Специфика тестирования<br />Низкий уровень документирования<br />Тестирование на разных броузерах<br />Testing Environment <> Production Environment <br />
  5. 5. Немного об Agile и Scrum<br />
  6. 6. Итеративная разработка<br />© ScrumTrek, 2008<br />
  7. 7. © ScrumTrek.ru, 2008<br />Скрам<br />
  8. 8. Тестирование в Agile<br />
  9. 9. Цикл тестирования<br />Development<br />Каждый разработчик делает свою фичу<br />
  10. 10. Цикл тестирования<br />Development<br />Если не успевают – не успевают все три!<br />
  11. 11. Цикл тестирования<br />Development<br />Фичи делаются в порядке приоритета<br />Три разработчика делают одну фичу<br />Фичи тестируются сразу<br />
  12. 12. Цикл тестирования<br />Development<br />Не успеваем только низкоприоритетные!<br />
  13. 13. «Все в порядке, сейчас пофиксим!»<br />
  14. 14. Программисты против Тестировщиков<br />Программисты слишком полагаются на тестировщиков<br />Снижается ответственность за код<br />
  15. 15. Структура команды<br />Команда состоит из разработчиков и тестировщиков<br />За качество отвечает вся команда<br />Значит и за объем работ отвечает вся команда<br />
  16. 16. Тестировщик<br />Тестировщик – член команды<br />Участвует в планировании итераций<br />Тесно общается с заказчиками<br />Помогает документировать требованияк коду<br />Частично берет на себя функции аналитика<br />
  17. 17. Цикл регресионноготестирования<br />Development<br />Testing<br />Пронос на Test Environment в конце итерации<br />Создается ветка(branch) «Test»<br />Тестирование <br />Баги исправляются в основной ветке и делается merge в Test (или наоборот)<br />
  18. 18. Цикл регресионноготестирования<br />Development<br />Testing<br />А если баги в Production?<br />
  19. 19. Цикл регресионноготестирования<br />Development<br />Testing<br />Тестирование не прекращается никогда<br />Выберите удобный ритм тестирования<br />Работать в одной ветке<br />
  20. 20. Что такое качество?<br />
  21. 21. Качество с точки зрения заказчика<br />Качеством управляет заказчик!<br />В этой итерации сделайте самую простую версию<br />Будем исходить из 10000 пользователей в день<br />Пока просто текстбокс, AJAX потом добавим<br />
  22. 22. Качество заказчика<br />Заказчик осуществляет приемку каждую итерацию<br />Постоянная обратная связь от рынка<br />
  23. 23. Баги должны приоритезироваться!<br />Разработчики НЕ должны исправлять все баги, найденные тестерами<br />Баги должны быть приоритезированыProduct Owner<br />Реальные ошибки<br />Улучшения – фичи<br />Не баги<br />
  24. 24. Внутреннее качество<br />Качество кода<br />Простота, читаемость<br />Качество архитектуры и дизайна<br />Agile:<br />Внутренним качеством управляет команда!<br />Внутреннее качество должно быть высоким<br />
  25. 25. Затраты на качество продукта<br />Размер <br />продукта<br />Затраты на полное <br />регресионное <br />тестирование<br />Автоматизация тестирования<br />Снизить стоимость изменений<br />Сократить цикл тестирования<br />
  26. 26. Какие препятствия вы можете преодолеть не снижая скорости?<br />
  27. 27. Тестирование<br />Continuous Integration<br />Сборка после каждого коммита, прогон Smoke Unit Tests (=Build Acceptance Tests)<br />Nightly Builds<br />Ночная сборка для всей системы, прогон всех Unit Tests и интеграционных тестов<br />Regression Testing<br />Частое регрессионное ручное тестирование всей системы<br />
  28. 28. Виды автоматизации тестирования<br />Unit Tests<br />Дешевые в создании, быстрые при прогоне<br />Не используют базу данных и сеть<br />Интеграционные тесты<br />Более дорогие в создании, медленнее при прогоне<br />Проходят весь цикл, включая работу с БД и сетью<br />Тесты пользовательского интерфейса<br />Проходят через пользовательский интерфейс<br />Неустойчивые, медленные<br />
  29. 29. Стадии развития проекта<br />
  30. 30. Независимый отдел тестирования<br />Слабая связь разработчиков и тестеров<br />Низкий уровень документирования<br />=><br />Низкое качество и производительность тестирования<br />(например, тестеры находят в основном баги верстки)<br />
  31. 31. СПАСИБО!<br />

×