Почему улучшение процесса тестирования важно
Хороших тестировщиков недостаточно, если они работают в рамках сломанного процесса. Талантливый QA-инженер не может компенсировать отсутствие тест-планов, неопределённые критерии входа или культуру, где тестирование — последнее дело. Для стабильной поставки качественного ПО организациям нужен зрелый процесс тестирования — определённый, измеряемый и постоянно совершенствуемый.
Фреймворки улучшения процесса тестирования предоставляют дорожную карту для этого пути к зрелости. Наиболее признанные — TMMi и TPI Next. Этот урок охватывает TMMi; следующий — TPI Next.
Что такое TMMi?
TMMi (Test Maturity Model integration) — это структурированный фреймворк для оценки и улучшения процесса тестирования ПО в организации. Разработанный TMMi Foundation, он основан на тех же принципах, что и CMMi, но фокусируется специфически на тестировании.
TMMi определяет пять уровней зрелости, каждый из которых строится на предыдущем. Организация продвигается от хаотичного ad hoc тестирования (Уровень 1) к состоянию непрерывной оптимизации (Уровень 5).
Пять уровней зрелости
Уровень 1: Initial
Характеристики:
- Тестирование хаотично и ad hoc
- Формального процесса тестирования не существует
- Тестирование полностью зависит от индивидуальных навыков и героизма
- Качество непредсказуемо
- Тестирование часто пропускается под давлением сроков
- Нет различия между отладкой и тестированием
Как это выглядит на практике: Разработчики тестируют свой собственный код, когда есть время. Нет тест-плана, нет тест-кейсов, нет системного подхода. Некоторые релизы проходят хорошо, потому что опытный человек нашёл баги; другие проваливаются, потому что этот человек был в отпуске.
Большинство организаций начинают здесь. Цель — осознать это состояние и начать путь наверх.
Уровень 2: Managed
Ключевые области процесса:
- Политика и стратегия тестирования — Установление организационных руководств
- Планирование тестирования — Создание и поддержка тест-плана для каждого проекта
- Мониторинг и контроль — Отслеживание прогресса относительно плана
- Проектирование и выполнение тестов — Систематическое проектирование тест-кейсов
- Тестовое окружение — Управление тестовыми окружениями как контролируемым ресурсом
Характеристики:
- Тестирование — планируемая деятельность в рамках каждого проекта
- Тест-планы существуют и соблюдаются
- Собираются базовые метрики
- Тестирование отделено от разработки
- Результаты по-прежнему специфичны для проекта, а не для организации
Что меняется по сравнению с Уровнем 1: Тестирование становится признанной, управляемой деятельностью. Есть планы, отслеживается прогресс, тестирование не пропускается из-за дедлайнов. Однако каждый проект может определять свой подход по-разному.
Уровень 3: Defined
Ключевые области процесса:
- Организация тестирования — Создание команды тестирования с определёнными ролями и карьерными путями
- Программа обучения — Систематическое обучение специалистов по тестированию
- Жизненный цикл и интеграция — Интеграция тестирования в SDLC на всех фазах
- Нефункциональное тестирование — Систематический подход к производительности, безопасности, юзабилити
- Экспертные ревью — Артефакты тестирования проверяются коллегами
Характеристики:
- Стандартизированный процесс тестирования на уровне организации
- Тестирование начинается рано (ревью требований, ревью дизайна)
- Нефункциональное тестирование формализовано
- У специалистов есть определённые карьерные пути и обучение
- Лучшие практики распространяются между проектами
Что меняется по сравнению с Уровнем 2: Фокус смещается с проектного уровня на организационный. Вместо того чтобы каждый проект определял свой процесс, есть стандартный организационный процесс.
Уровень 4: Measured
Ключевые области процесса:
- Измерение тестирования — Комплексная программа измерений для процессов тестирования
- Оценка качества продукта — Количественные методы оценки качества
- Продвинутые экспертные ревью — Статистически управляемые процессы ревью
Характеристики:
- Количественное измерение эффективности процесса тестирования
- Применяется статистический контроль процессов
- Качество продукта прогнозируется на основе данных процесса
- Установлены базовые линии производительности процесса
- Решения на основе данных заменяют интуицию
Что меняется по сравнению с Уровнем 3: Организация переходит от качественного к количественному управлению. Вместо «наше тестирование хорошее» организация может сказать «наш DRE составляет 96.2%, что на 1.3% выше базовой линии, с трендом defect density 2.1 на KLOC.»
Уровень 5: Optimization
Ключевые области процесса:
- Предотвращение дефектов — Систематический анализ и предотвращение корневых причин
- Оптимизация процесса тестирования — Непрерывное улучшение через инновации
- Контроль качества — Статистический контроль качества по всей организации
Характеристики:
- Непрерывное совершенствование встроено в культуру
- Анализ корневых причин предотвращает повторяющиеся дефекты
- Новые технологии и методы оцениваются и внедряются системно
- Процесс проактивно адаптируется к организационным изменениям
Что меняется по сравнению с Уровнем 4: Фокус смещается с измерения на оптимизацию. Предотвращение дефектов заменяет обнаружение как основную стратегию качества.
Сводная таблица ключевых областей процесса
| Уровень | Название | Ключевые области | Фокус |
|---|---|---|---|
| 1 | Initial | Не определены | Ad hoc |
| 2 | Managed | Политика, планирование, мониторинг, дизайн, окружение | Контроль на уровне проекта |
| 3 | Defined | Организация, обучение, жизненный цикл, НФ-тестирование, ревью | Организационные стандарты |
| 4 | Measured | Измерение, оценка качества, продвинутые ревью | Количественное управление |
| 5 | Optimization | Предотвращение, оптимизация, контроль качества | Непрерывное улучшение |
Как оценить текущий уровень
Формальная оценка TMMi требует сертифицированных оценщиков, но можно провести неформальную самооценку:
Вы, вероятно, на Уровне 1, если:
- Формальных тест-планов не существует
- Тестирование зависит от индивидуального героизма
- Качество сильно варьируется между релизами
Вы, вероятно, на Уровне 2, если:
- Тест-планы существуют для большинства проектов
- Прогресс тестирования отслеживается
- Собираются базовые метрики дефектов
- Но каждый проект тестирует по-своему
Вы, вероятно, на Уровне 3, если:
- Есть процесс тестирования на уровне организации
- Тестирование начинается до написания кода
- НФ-тестирование планируется и выполняется систематически
- Специалисты по тестированию регулярно проходят обучение
Вы, вероятно, на Уровне 4, если:
- Используете статистические методы для управления процессом
- Существуют базовые линии производительности
- Качество продукта прогнозируется количественно
Вы, вероятно, на Уровне 5, если:
- Предотвращение дефектов — основная практика
- Процесс тестирования непрерывно оптимизируется
- Инновации систематически оцениваются
Преимущества и вызовы внедрения TMMi
Преимущества:
- Предсказуемое качество
- Снижение стоимости качества
- Конкурентное преимущество
- Структурированное улучшение
- Признание в индустрии
Вызовы:
- Инвестиции времени (18-24 месяца между уровнями)
- Культурное сопротивление
- Накладные расходы на документацию
- Не является гарантией качества
- Стоимость формальной сертификации
TMMi vs CMMi
| Аспект | TMMi | CMMi |
|---|---|---|
| Фокус | Процессы тестирования | Общая инженерия ПО |
| Уровней | 5 | 5 |
| Аудитория | Команды тестирования, QA-менеджеры | Вся организация разработки |
| Взаимосвязь | Дополняет CMMi | Широкая модель процессов |
TMMi и CMMi дополняют друг друга. Организация на CMMi Уровня 3 может быть на TMMi Уровня 1, если тестированию не уделялось специфического внимания.
Упражнение: оцените гипотетическую организацию
Сценарий: DataFlow Inc. — средняя компания по разработке ПО (200 разработчиков, 30 тестировщиков), создающая платформы обработки финансовых данных. Прочитайте описание и оцените их уровень TMMi.
Текущее состояние DataFlow Inc.:
- У каждого проекта есть тест-план с объёмом, графиком и распределением ресурсов
- Прогресс тестирования отчитывается еженедельно через простой дашборд
- Тестировщики используют систематические техники (граничные значения, эквивалентное разбиение)
- Есть общее тестовое окружение, управляемое командой DevOps
- Каждая проектная команда определяет свой подход; нет общеорганизационного стандарта
- Нефункциональное тестирование проводится ad hoc
- Нет формальной программы обучения тестировщиков
- Метрики собираются, но статистически не анализируются
- При критическом дефекте в продакшне его исправляют, но анализ корневых причин не проводится
Задания:
- На каком уровне TMMi находится DataFlow Inc.? Обоснуйте ответ.
- Какие 3 приоритетных действия по улучшению нужны для достижения следующего уровня?
- Какие сроки и ресурсы потребуются?
Подсказка
Сравните практики DataFlow с ключевыми областями процесса каждого уровня:
- Есть ли управление тестированием на уровне проекта? (Уровень 2)
- Есть ли стандартизация на уровне организации? (Уровень 3)
- Используется ли количественное управление? (Уровень 4)
Сфокусируйтесь на том, что ЕСТЬ и чего НЕ ХВАТАЕТ относительно каждого уровня.
Решение
Оценка: TMMi Уровень 2 (Managed)
Почему Уровень 2, а не Уровень 3:
DataFlow соответствует критериям Уровня 2:
- Планирование тестирования существует для каждого проекта
- Прогресс мониторится
- Используются систематические техники проектирования тестов
- Тестовое окружение управляется
- Есть неявная политика тестирования
DataFlow НЕ соответствует критериям Уровня 3:
- Нет стандартизированного процесса на уровне организации
- Нет формальной программы обучения
- НФ-тестирование ad hoc, не систематическое
- Нет экспертных ревью артефактов тестирования
- Нет определённых ролей и карьерных путей на организационном уровне
Топ-3 действия для перехода к Уровню 3
Установить организационный процесс тестирования
- Создать стандартный процесс с шаблонами и руководствами
- Сформировать группу процесса тестирования (TPG)
- Допустить адаптации для проектов, сохраняя ключевые стандарты
- Срок: 3-4 месяца на определение, 6 месяцев на внедрение
Формализовать нефункциональное тестирование
- Определить стандарты нагрузочного тестирования
- Сделать security testing обязательным
- Создать шаблоны плана НФ-тестирования
- Срок: 2-3 месяца на определение, непрерывное внедрение
Создать программу обучения
- Оценить текущий уровень навыков 30 тестировщиков
- Разработать учебный план
- Внедрить онбординг для новых тестировщиков
- Срок: 2 месяца на разработку, 12 месяцев на первый цикл
Ожидаемые сроки и ресурсы
- Срок достижения Уровня 3: 18-24 месяца
- Необходимые ресурсы:
- 1 лидер TPG на полную ставку
- 2-3 участника TPG на частичную ставку
- Бюджет на обучение: ~$500-1000 на тестировщика в год
- Инвестиции в инструменты для НФ-тестирования
- Поддержка руководства в внедрении нового процесса
Ключевые выводы
- TMMi предоставляет структурированную 5-уровневую модель зрелости специально для процессов тестирования
- Большинство организаций находятся на Уровне 1 (Initial) или Уровне 2 (Managed)
- Переход на один уровень обычно занимает 18-24 месяца целенаправленных усилий
- TMMi дополняет CMMi — они охватывают разные аспекты разработки ПО
- Цель не обязательно Уровень 5 — правильный уровень зависит от потребностей бизнеса