Почему улучшение процесса тестирования важно

Хороших тестировщиков недостаточно, если они работают в рамках сломанного процесса. Талантливый QA-инженер не может компенсировать отсутствие тест-планов, неопределённые критерии входа или культуру, где тестирование — последнее дело. Для стабильной поставки качественного ПО организациям нужен зрелый процесс тестирования — определённый, измеряемый и постоянно совершенствуемый.

Фреймворки улучшения процесса тестирования предоставляют дорожную карту для этого пути к зрелости. Наиболее признанные — TMMi и TPI Next. Этот урок охватывает TMMi; следующий — TPI Next.

Что такое TMMi?

TMMi (Test Maturity Model integration) — это структурированный фреймворк для оценки и улучшения процесса тестирования ПО в организации. Разработанный TMMi Foundation, он основан на тех же принципах, что и CMMi, но фокусируется специфически на тестировании.

TMMi определяет пять уровней зрелости, каждый из которых строится на предыдущем. Организация продвигается от хаотичного ad hoc тестирования (Уровень 1) к состоянию непрерывной оптимизации (Уровень 5).

graph BT L1[Уровень 1: Initial] --> L2[Уровень 2: Managed] L2 --> L3[Уровень 3: Defined] L3 --> L4[Уровень 4: Measured] L4 --> L5[Уровень 5: Optimization] style L1 fill:#ff6b6b style L2 fill:#ffa94d style L3 fill:#ffd43b style L4 fill:#69db7c style L5 fill:#4dabf7

Пять уровней зрелости

Уровень 1: Initial

Характеристики:

  • Тестирование хаотично и ad hoc
  • Формального процесса тестирования не существует
  • Тестирование полностью зависит от индивидуальных навыков и героизма
  • Качество непредсказуемо
  • Тестирование часто пропускается под давлением сроков
  • Нет различия между отладкой и тестированием

Как это выглядит на практике: Разработчики тестируют свой собственный код, когда есть время. Нет тест-плана, нет тест-кейсов, нет системного подхода. Некоторые релизы проходят хорошо, потому что опытный человек нашёл баги; другие проваливаются, потому что этот человек был в отпуске.

Большинство организаций начинают здесь. Цель — осознать это состояние и начать путь наверх.

Уровень 2: Managed

Ключевые области процесса:

  1. Политика и стратегия тестирования — Установление организационных руководств
  2. Планирование тестирования — Создание и поддержка тест-плана для каждого проекта
  3. Мониторинг и контроль — Отслеживание прогресса относительно плана
  4. Проектирование и выполнение тестов — Систематическое проектирование тест-кейсов
  5. Тестовое окружение — Управление тестовыми окружениями как контролируемым ресурсом

Характеристики:

  • Тестирование — планируемая деятельность в рамках каждого проекта
  • Тест-планы существуют и соблюдаются
  • Собираются базовые метрики
  • Тестирование отделено от разработки
  • Результаты по-прежнему специфичны для проекта, а не для организации

Что меняется по сравнению с Уровнем 1: Тестирование становится признанной, управляемой деятельностью. Есть планы, отслеживается прогресс, тестирование не пропускается из-за дедлайнов. Однако каждый проект может определять свой подход по-разному.

Уровень 3: Defined

Ключевые области процесса:

  1. Организация тестирования — Создание команды тестирования с определёнными ролями и карьерными путями
  2. Программа обучения — Систематическое обучение специалистов по тестированию
  3. Жизненный цикл и интеграция — Интеграция тестирования в SDLC на всех фазах
  4. Нефункциональное тестирование — Систематический подход к производительности, безопасности, юзабилити
  5. Экспертные ревью — Артефакты тестирования проверяются коллегами

Характеристики:

  • Стандартизированный процесс тестирования на уровне организации
  • Тестирование начинается рано (ревью требований, ревью дизайна)
  • Нефункциональное тестирование формализовано
  • У специалистов есть определённые карьерные пути и обучение
  • Лучшие практики распространяются между проектами

Что меняется по сравнению с Уровнем 2: Фокус смещается с проектного уровня на организационный. Вместо того чтобы каждый проект определял свой процесс, есть стандартный организационный процесс.

Уровень 4: Measured

Ключевые области процесса:

  1. Измерение тестирования — Комплексная программа измерений для процессов тестирования
  2. Оценка качества продукта — Количественные методы оценки качества
  3. Продвинутые экспертные ревью — Статистически управляемые процессы ревью

Характеристики:

  • Количественное измерение эффективности процесса тестирования
  • Применяется статистический контроль процессов
  • Качество продукта прогнозируется на основе данных процесса
  • Установлены базовые линии производительности процесса
  • Решения на основе данных заменяют интуицию

Что меняется по сравнению с Уровнем 3: Организация переходит от качественного к количественному управлению. Вместо «наше тестирование хорошее» организация может сказать «наш DRE составляет 96.2%, что на 1.3% выше базовой линии, с трендом defect density 2.1 на KLOC.»

Уровень 5: Optimization

Ключевые области процесса:

  1. Предотвращение дефектов — Систематический анализ и предотвращение корневых причин
  2. Оптимизация процесса тестирования — Непрерывное улучшение через инновации
  3. Контроль качества — Статистический контроль качества по всей организации

Характеристики:

  • Непрерывное совершенствование встроено в культуру
  • Анализ корневых причин предотвращает повторяющиеся дефекты
  • Новые технологии и методы оцениваются и внедряются системно
  • Процесс проактивно адаптируется к организационным изменениям

Что меняется по сравнению с Уровнем 4: Фокус смещается с измерения на оптимизацию. Предотвращение дефектов заменяет обнаружение как основную стратегию качества.

Сводная таблица ключевых областей процесса

УровеньНазваниеКлючевые областиФокус
1InitialНе определеныAd hoc
2ManagedПолитика, планирование, мониторинг, дизайн, окружениеКонтроль на уровне проекта
3DefinedОрганизация, обучение, жизненный цикл, НФ-тестирование, ревьюОрганизационные стандарты
4MeasuredИзмерение, оценка качества, продвинутые ревьюКоличественное управление
5OptimizationПредотвращение, оптимизация, контроль качестваНепрерывное улучшение

Как оценить текущий уровень

Формальная оценка TMMi требует сертифицированных оценщиков, но можно провести неформальную самооценку:

Вы, вероятно, на Уровне 1, если:

  • Формальных тест-планов не существует
  • Тестирование зависит от индивидуального героизма
  • Качество сильно варьируется между релизами

Вы, вероятно, на Уровне 2, если:

  • Тест-планы существуют для большинства проектов
  • Прогресс тестирования отслеживается
  • Собираются базовые метрики дефектов
  • Но каждый проект тестирует по-своему

Вы, вероятно, на Уровне 3, если:

  • Есть процесс тестирования на уровне организации
  • Тестирование начинается до написания кода
  • НФ-тестирование планируется и выполняется систематически
  • Специалисты по тестированию регулярно проходят обучение

Вы, вероятно, на Уровне 4, если:

  • Используете статистические методы для управления процессом
  • Существуют базовые линии производительности
  • Качество продукта прогнозируется количественно

Вы, вероятно, на Уровне 5, если:

  • Предотвращение дефектов — основная практика
  • Процесс тестирования непрерывно оптимизируется
  • Инновации систематически оцениваются

Преимущества и вызовы внедрения TMMi

Преимущества:

  1. Предсказуемое качество
  2. Снижение стоимости качества
  3. Конкурентное преимущество
  4. Структурированное улучшение
  5. Признание в индустрии

Вызовы:

  1. Инвестиции времени (18-24 месяца между уровнями)
  2. Культурное сопротивление
  3. Накладные расходы на документацию
  4. Не является гарантией качества
  5. Стоимость формальной сертификации

TMMi vs CMMi

АспектTMMiCMMi
ФокусПроцессы тестированияОбщая инженерия ПО
Уровней55
АудиторияКоманды тестирования, QA-менеджерыВся организация разработки
ВзаимосвязьДополняет CMMiШирокая модель процессов

TMMi и CMMi дополняют друг друга. Организация на CMMi Уровня 3 может быть на TMMi Уровня 1, если тестированию не уделялось специфического внимания.

Упражнение: оцените гипотетическую организацию

Сценарий: DataFlow Inc. — средняя компания по разработке ПО (200 разработчиков, 30 тестировщиков), создающая платформы обработки финансовых данных. Прочитайте описание и оцените их уровень TMMi.

Текущее состояние DataFlow Inc.:

  • У каждого проекта есть тест-план с объёмом, графиком и распределением ресурсов
  • Прогресс тестирования отчитывается еженедельно через простой дашборд
  • Тестировщики используют систематические техники (граничные значения, эквивалентное разбиение)
  • Есть общее тестовое окружение, управляемое командой DevOps
  • Каждая проектная команда определяет свой подход; нет общеорганизационного стандарта
  • Нефункциональное тестирование проводится ad hoc
  • Нет формальной программы обучения тестировщиков
  • Метрики собираются, но статистически не анализируются
  • При критическом дефекте в продакшне его исправляют, но анализ корневых причин не проводится

Задания:

  1. На каком уровне TMMi находится DataFlow Inc.? Обоснуйте ответ.
  2. Какие 3 приоритетных действия по улучшению нужны для достижения следующего уровня?
  3. Какие сроки и ресурсы потребуются?
Подсказка

Сравните практики DataFlow с ключевыми областями процесса каждого уровня:

  • Есть ли управление тестированием на уровне проекта? (Уровень 2)
  • Есть ли стандартизация на уровне организации? (Уровень 3)
  • Используется ли количественное управление? (Уровень 4)

Сфокусируйтесь на том, что ЕСТЬ и чего НЕ ХВАТАЕТ относительно каждого уровня.

Решение

Оценка: TMMi Уровень 2 (Managed)

Почему Уровень 2, а не Уровень 3:

DataFlow соответствует критериям Уровня 2:

  • Планирование тестирования существует для каждого проекта
  • Прогресс мониторится
  • Используются систематические техники проектирования тестов
  • Тестовое окружение управляется
  • Есть неявная политика тестирования

DataFlow НЕ соответствует критериям Уровня 3:

  • Нет стандартизированного процесса на уровне организации
  • Нет формальной программы обучения
  • НФ-тестирование ad hoc, не систематическое
  • Нет экспертных ревью артефактов тестирования
  • Нет определённых ролей и карьерных путей на организационном уровне

Топ-3 действия для перехода к Уровню 3

  1. Установить организационный процесс тестирования

    • Создать стандартный процесс с шаблонами и руководствами
    • Сформировать группу процесса тестирования (TPG)
    • Допустить адаптации для проектов, сохраняя ключевые стандарты
    • Срок: 3-4 месяца на определение, 6 месяцев на внедрение
  2. Формализовать нефункциональное тестирование

    • Определить стандарты нагрузочного тестирования
    • Сделать security testing обязательным
    • Создать шаблоны плана НФ-тестирования
    • Срок: 2-3 месяца на определение, непрерывное внедрение
  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 — правильный уровень зависит от потребностей бизнеса