;
Павел Новиков
Участники и «заказчики» процесса тестирования
18.10.2021 8040
Другие статьи автора
Agile Life Planning: управление потоком задач
Agile Life Planning: актуализация бэклога личных целей и задач
Почему необходимо классифицировать и разделять цели?
Agile Life Planning: определение задач для достижения целей
Agile Life Planning: Agile для управления личными целями
Последние статьи в блоге
Методология 12 факторов: как успешно разрабатывать облачные приложения
Баги, которые стали фичами
Шаблоны облачного проектирования
Бесплатные мини-курсы ко Дню знаний
5 курсов со скидкой 30%
Индексирование баз данных в PostgreSQL: погружение в тему
Исследование IBS: на одну вакансию в Java-разработке приходится 4 резюме
Книги для системных и бизнес-аналитиков, а также будущих и нынешних архитекторов
Сценарии кибератак с использованием ИИ. Внутренний периметр.
Разработка Java-проекта с ChatGPT: от идеи до реализации
- Каким образом, на каком этапе и с кем взаимодействует команда тестирования в процессе разработки ПО?
- Что различные участники процесса разработки ожидают от команды QA и как этого достичь?
Что такое качество?
Чтобы разобраться со всеми ожиданиями и требованиями, предъявляемыми к команде тестирования и качеству продукта, предлагаю сделать шаг назад и посмотреть на само понятие качества.
Что такое качество? Что мы называем качественным? Что мы ожидаем от качественного продукта? Что отличает качественный продукт от некачественного?
- Качество – это очень субъективная характеристика. У каждого будет свое определение качества, свое описание для качественного продукта.
- Каждый человек может считать тот или иной предмет, продукт, сервис качественным или некачественным исходя из своих потребностей, ценностей и приоритетов. Одна и та же вещь одновременно может быть качественной для одного и некачественной для другого.
Какой из этого можно сделать вывод? Чтобы добиться высоких оценок качества, необходимо понимать, кто и на основании чего эти оценки делает. Следовательно, если мы хотим получить качественный программный продукт, то нам нужно понимать ожидания всех, кто участвует в разработке и эксплуатации ПО. Необходимо уметь работать со всеми участниками и на всех этапах процесса разработки.
Какими бывают ожидания от качества ПО?
Понимание качества ПО отличается у разных участников процесса разработки. То же самое касается ожиданий от команды тестирования процесса QA в целом. Рассмотрим все предъявляемые требования в виде таблицы.
На каких этапах разработки подключаются тестировщики?
Короткий ответ – на всех. Как мы выяснили, команда тестирования взаимодействует со всеми участниками процесса разработки ПО. Если в рамках процесса выделены отдельные этапы и фазы, то тестировщики подключаются в рамках каждой из них.
При этом идея про разбиение процесса на различные этапы не обязательно подразумевает Waterfall. Также и в рамках гибкой разработки можно найти различные виды работ: анализ и проработка пользовательских историй, настройка окружения, отладка ПО, демо и приемка функционала и т.д.
В рамках разработки ПО можно выделить следующие типы активностей, в каждой из которых будет участвовать QA:
Данные виды активностей будут присутствовать и в каскадной, и в итеративной разработке:
- в Waterfall это будут отдельные этапы/фазы разработки;
- в Agile это могут быть различные типы деятельности в рамках одной итерации.
На каждом этапе при работе с каждым типом задач важно использовать свои методы взаимодействия с участниками процесса разработки. Эффективным будет чередование и/или сочетание различных подходов и практик. Это позволит реализовать ожидания стейкхолдеров от качества ПО и от работы команды тестирования.
Рассмотрим по порядку, как может быть построено взаимодействие команды тестирования с остальными участниками процесса.
1. QA в рамках анализа и проработки требований:
• Заказчики и бизнес-аналитики:
– Обсуждение end-to-end-проверок и бизнес-процессов.
• Аналитики и разработчики:
– Ревью чек-листов, подготовленных тестировщиками;
– Разработка тестовой модели и стратегии тестирования;
– Совместная оценка и планирование задач.
• Внешние ИТ-команды:
– Выяснение интеграционных зависимостей между системами;
– Планирование совместного использования среды тестирования.
• Команда поддержки тестовых сред (
– Обсуждение требований к средам тестирования: конфигурация, данные, производительность;
– Планирование работ с тестовой средой: сроки, права доступа.
2. QA в процессе разработки и отладки ПО:
• Заказчики и бизне-аналитики:
– Демонстрация новой функциональности;
– Уточнение актуальности приоритетов по ходу разработки.
• Аналитики и разработчики:
– Обсуждение и формирование вариантов данных для тестирования;
– Ревью/тестирование документации: тех. задания, пользовательские инструкции, help и т.д;
– Анализ ошибок, найденных в процессе отладки ПО.
• Внешние ИТ-команды:
– Получение данных и условий для проверки точек интеграции;
– Настройка и тестирование интеграции с использованием «заглушек».
• Команда поддержки тестовых/продуктивных сред:
– Установка ПО в среде тестирования и настройка интеграции с внешними системами;
– Разработка и проверка инструкций по установке для тестовой среды;
– Планирование подготовки превью среды (доступы, роли, данные) для интеграции и приемки.
3. QA во время проверки интеграции и UAT:
• Заказчики и пользователи:
– Организация приемочного тестирования UAT (User Acceptance Testing);
– Воспроизведение и анализ ошибок, найденных во время UAT;
– Сбор обратной связи по итогам приемочного тестирования.
• Аналитики и разработчики:
– Подготовка данных для end-to-end-тестирования;
– Анализ и устранение ошибок интеграции.
• Внешние ИТ-команды:
– Выполнение совместного end-to-end-тестирования.
• Команда поддержки тестовых/продуктивных сред:
– Установки ПО в превью среде;
– Разработка и проверка инструкций по установке для продуктивной среды;
– Настройка интеграции со связанными системами;
– Проверка быстродействия ПО / функционала в превью среде.
4. QA на этапе подготовки и выпуска релиза:
• Заказчики и пользователи:
– Участие в пилоте (при необходимости).
• Аналитики и разработчики:
– Подготовка инструкций по установке в продуктивную среду.
• Внешние ИТ-команды:
– Участие в end-to-end-тестировании при DryRun.
• Команда поддержки продуктивных сред:
– Проведение DryRun и контрольного Smoke-тестирования в превью среде;
– Поддержка процесса установки во время DryRun и основного релиза.
5. QA в рамках поддержки ПО в продуктивной среде:
• Заказчики и пользователи:
– Получение и анализ фидбэка по итогам релиза и эксплуатации ПО;
– Корректировка пользовательских инструкций.
• Аналитики и разработчики:
– Воспроизведение, анализ и исправление ошибок в рамках выпущенной функциональности;
– Анализ и исправление «технических» инцидентов от поддержки;
– Ретроспектива команды по итогам релиза: внутренняя и внешняя.
• Внешние ИТ-команды:
– Анализ и исправление интеграционных инцидентов;
– Пополнение базы знаний новой информацией по поводу интеграционного взаимодействия систем.
• Поддержка:
– Работа над ошибками, выполнение анализа: процесса установки, производительности после релиза, архитектуры ПО;
– Доработка инструкций по установке для продуктивной среды.
Кто тестирует кроме тестировщиков?
Как известно, тестированием в рамках процесса разработки ПО занимаются не только тестировщики. Описание различных этапов, а также явных и неявных участников процесса тестирования можно посмотреть
Расскажи друзьям:
Как не пропустить самое интересное?
Подписывайтесь на наш ежемесячный дайджест!