Организация процесса тестирования в Agile команде с помощью квадрантов тестирования.
Матрица квадрантов тестирования Q1 – Группа технологических тестов, направленных на поддержку команды разработки. Q2 – Бизнес ориентированные тесты направленные на поддержку команды разработки. Q3 – Бизнес ориентированные тесты, направленные не проверку соответствия продукта требованиям и ожиданиям. Q4 – Технологически-ориентированные тесты, направленные на проверку соответствия продукта требованиям и ожиданиям.
Квадрант 1
Компоненты первого квадранта Unit tests –Разрабатываются до написания кода –Тестируется небольшой кусок кода –Дают уверенность, что код работает так как надо Компонентные тесты –Проверяют взаимодействие между классами и компонентами –Позволяют создавать хорошую архитектуру приложения
Выгода от использования тестов Наличие данных тестов облегчает жизнь тестировщика Повышается внутреннее качество проекта Создание архитектуры которую легко поддерживать Увеличение скорости разработки Наличие «страховочной сетки» тестов Обеспечение быстрой обратной связи
Компоненты второго квадранта Определение требований Функциональные тесты Примеры Прототипы
Выгода от использования тестов второго квадранта Получение четко сформулированных требований Получение достаточного количества требований для начала разработки Определение критериев окончания разработки Помогают заказчику определиться с тем, чего он хочет Покрытие приложения функциональными тестами Автоматизация регрессионного тестирования
Квадрант 3
Компоненты третьего квадранта Демонстрации –Позволяют провести парное тестирование с клиентом –Возможность продемонстрировать функционал в состоянии неполной готовности Исследовательское тестирование Тестирование Usability Тестирование удобства использования Тестирование навигации Тестирование API-интерфейса Тестирование документации
Выгода от использования тестов Обеспечивают обратную связь для тестов из первых квадрантов Оценка продукта Реалистичное использование проекта Проведение более глубоких тестов Возможность оценить потребности конечных пользователей и «подогнать» продукт под них
Квадрант 4
Компоненты четвертого квадранта Нефункциональные тесты Performance, Load and Stress тесты Тестирование инсталляции Тестирование надежности Тестирование безопасности –Роли и группы доступа –XSS & SQL инъекции Управление памятью Миграция данных
Выгода от использования тестов В процессе тестирования может выясниться, что нефункциональные требования имеют более высокий приоритет нежели функциональные Позволяют выпустить полностью законченный продукт
Ключевые факторы успеха Используйте цельно-командный подход к разработке Помните, что ваша цель это качество, а не скорость Автоматизируйте регрессионное тестирование Обеспечьте непрерывную обратную связь Заложите фундамент для базовых практик Agile: –Обеспечьте непрерывную интеграцию –Обеспечьте достаточное количество тестовых сред –Управляйте техническим долгом –Обеспечьте инкрементный подход к работе Сотрудничайте с заказчиками Оценивайте проект со всех сторон в процессе разработки
Вопросы????