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