🔥 Важное для QA-специалистов! 🔥
В QaRocks ты найдешь туториалы, задачи и полезные книги, которых нет в открытом доступе. Уже более 15.000 подписчиков – будь среди нас! Заходи к нам в телеграм канал QaRocks
Тестовая стратегия (или стратегия тестирования) — это общий план и принципы, на которых строится процесс тестирования. Она помогает задать чёткую структуру, чтобы команда тестировщиков могла работать слаженно и без лишней суеты.
Проще говоря, тестовая стратегия отвечает на вопросы: что тестировать, как тестировать и, что особенно важно, — зачем. В этой статье мы расскажем всё, что нужно знать, чтобы разработать надёжную и продуманную стратегию тестирования.
Содержание:
- Что такое тестовая стратегия?
- Преимущества тестовой стратегии
- Виды тестовых стратегий
- Что включить в тестовую стратегию?
- Пример тестовой стратегии
- План тестирования vs. Стратегия тестирования
Что такое тестовая стратегия?
Тестовая стратегия — это документ высокого уровня, в котором описываются общий подход и основные принципы тестирования программного обеспечения. Она предоставляет структурированную основу, направляющую работу команды тестирования, чтобы обеспечить эффективное и полное проведение проверок и валидацию всех ключевых аспектов продукта.
Преимущества тестовой стратегии
- Задает понятный вектор и приоритеты для всей работы по тестированию.
- Позволяет заранее выявить и снизить критические риски.
- Делает процессы более четкими и слаженными, экономит время и ресурсы.
- Способствует соблюдению отраслевых и нормативных стандартов.
- Улучшает командную работу, объединяя участников проекта вокруг общих целей.
- Помогает грамотно распределять ресурсы.
- Обеспечивает прозрачный мониторинг и отчетность о ходе тестирования.
- Обеспечивает полноценную проверку всех важных функций продукта.
Виды тестовых стратегий
Существует три ключевых типа стратегий тестирования:
1. Статическая и динамическая
- Статическое тестирование предполагает анализ кода и документации без их выполнения, позволяя выявить ошибки на ранних этапах.
- Динамическое тестирование включает запуск программного обеспечения для проверки его поведения в реальных сценариях.
Преимущества:
- Статическое тестирование помогает находить дефекты до того, как они станут дорогостоящими.
- Динамическое тестирование показывает, как приложение ведет себя на практике — то есть для пользователя.
2. Превентивная и реактивная
Данный подход сочетает профилактику дефектов до их появления и реагирование на проблемы, выявленные после релиза.
Преимущества:
- Превентивное тестирование позволяет заранее проработать известные риски и снизить затраты.
- Реактивное тестирование помогает оперативно решать непредвиденные проблемы, особенно в процессе интеграции или при использовании продукта в реальных условиях.
Так как не все дефекты можно предугадать заранее, комбинация обоих подходов позволяет выявлять скрытые и «плавающие» баги.
3. Гибридная стратегия

Смысл гибридного подхода — найти оптимальное соотношение между ручным и автоматизированным тестированием.
Зачем нужен этот баланс? Ручное тестирование отлично подходит для начальных этапов, особенно для проведения исследовательского тестирования и выявления багов. После этого команда решает, стоит ли автоматизировать конкретный кейс. Если да — подключаются автотесты и инструменты, чтобы потом не повторять рутину вручную.
Что включить в тестовую стратегию?
1. Уровни тестирования
Хорошая стратегия начинается с пирамиды тестирования, которая включает три уровня:

- Юнит-тесты (база) — быстрые, автоматизированные, покрывают 70–80% кода. Проверяют логику на уровне отдельных компонентов.
- Интеграционные тесты (средний уровень) — смотрят, как модули взаимодействуют между собой. Покрытие — около 15–20%.
- E2E (end-to-end) (верхушка) — симулируют поведение пользователя, тестируя всю систему. Медленные, сложные, но критично важные для проверки ключевых пользовательских сценариев. Их — не больше 5–10%.
Сбалансированная стратегия делает упор на юнит-тесты для эффективности, добавляя умеренное количество интеграционных и E2E-тестов, чтобы не замедлять разработку, но при этом обеспечить надежность.
2. Цели и охват тестирования
- Поставьте цели — уточните, что именно будет проверяться: функциональные требования (фичи) или нефункциональные характеристики (безопасность, производительность, удобство использования). Цели должны соответствовать требованиям проекта.
- Определите охват действия — задайте границы: что будет тестироваться, а что — нет. Это поможет избежать неконтролируемого расширения задач (scope creep).
Что стоит включить:
- Функциональность, подлежащую тестированию
- Исключенные фичи
- Типы тестирования
- Тестовое окружение
На что стоит обратить особое внимание:
- Часто используемые и критичные функции
- Основные пользовательские сценарии
- Интеграции с внешними сервисами (API, платёжные системы)
- Недавние изменения, где выше риск багов
3. Типы тестирования
Существует множество видов тестирования, каждое из которых служит своей цели. Типы тестирования можно сгруппировать следующим образом:
- По типу тестируемого приложения (AUT — Application Under Test): тесты классифицируются в зависимости от типа тестируемого ПО — веб-приложения, мобильные, десктопные и т. д.
- По уровню архитектуры приложения: тестирование разделяется по уровням типовой трехуровневой архитектуры: пользовательский интерфейс (UI), бэкенд, API и т. д.
- По проверяемым атрибутам: тесты классифицируются в зависимости от фокусировки — визуальное тестирование, функциональное, нагрузочное и др.
- По подходу: виды тестирования по методам проведения: ручное, автоматизированное, с использованием AI-инструментов.
- По степени детализации: группировка по уровню охвата — модульное тестирование, интеграционное, end-to-end и т. п.
- По техникам тестирования: классификация на основе методологии написания и выполнения тестов: black-box, white-box, gray-box и др.
4. Подход к тестированию
Сегодня большинство QA-команд используют Agile-подход. В рамках этой методологии тестирование не выносится в отдельную фазу, а становится неотъемлемой частью всего цикла разработки. Такой подход позволяет проводить проверки постоянно, быстро выявлять баги и тесно работать с разработчиками, что ускоряет релизы и улучшает качество продукта.

Agile-подход поддерживает стратегию сдвига влево (shift-left testing), при которой тестирование переносится на более ранние этапы разработки и тесно интегрируется с процессом разработки.
5. Критерии тестирования
Служат контрольными точками, позволяющими убедиться, что продукт стабилен и пригоден для тестирования перед началом основной работы, а также готов к следующему этапу после завершения тестирования.
Критерии входа (условия, необходимые для начала тестирования):
- Код завершён, допускаются только исправления ошибок
- Пройдены модульные и интеграционные тесты
- Основные функции (вход в систему, навигация и т.д.) работают
- Настроено тестовое окружение
- Все обнаруженные баги задокументированы
- Подготовлены тестовые данные
Критерии выхода (условия, необходимые для завершения тестирования):
- Все тест-кейсы выполнены
- Критические дефекты устранены, остальные — в допустимых пределах
- Основные пользовательские сценарии проверены
- Проведён обзор отчётов по тестированию
- Сборка стабильна и готова к деплойменту
6. Аппаратно-программная конфигурация
Это тестовое окружение, в котором непосредственно проводится тестирование. Оно должно максимально точно воспроизводить продакшн-среду и включать дополнительные инструменты и средства, помогающие тестировщикам выполнять свою работу. Окружение включает два основных компонента:
- Аппаратная часть: серверы, рабочие станции, мобильные устройства, специализированное оборудование (роутеры, коммутаторы, фаерволы и т. д.).
- Программная часть: операционные системы, браузеры, базы данных, API, инструменты тестирования, сторонние сервисы и зависимые программные компоненты.
Для проведения нагрузочного и производительного тестирования требуется также настроить сетевую инфраструктуру, чтобы эмулировать реальные условия: пропускную способность сети, задержки, настройки прокси, фаерволы, VPN и сетевые протоколы.
Пример такой конфигурации ниже:
| Категория | Мобильное тестирование | Веб-тестирование |
| Аппаратное обеспечение | — iPhone 13 Pro (iOS 15) — iPad Air (iOS 14) — Google Pixel 6 (Android 12) — Samsung Galaxy S21 (Android 11) | — Windows 10: Intel Core i7, 16 ГБ ОЗУ, 256 ГБ SSD — macOS Monterey: чип Apple M1, 16 ГБ ОЗУ, 512 ГБ SSD |
| Программное обеспечение | — Google Chrome (все версии) — Mozilla Firefox (все версии) — Safari (все версии) — Edge (все версии) — Opera (все версии) — Brave (все версии) | |
| Конфигурация сети | — Моделирование сред 3G, 4G, 5G и сред с высокой задержкой — Wi-Fi и Ethernet-соединения | |
| База данных | MySQL 8.0 | |
| Интеграция CI/CD | Jenkins или GitLab CI | |
7. Инструменты для тестирования
Если вы используете ручное тестирование, вам понадобится система управления тестированием, чтобы отслеживать результаты выполнения тест-кейсов. Наиболее часто используется Jira — универсальный инструмент для управления проектами, который также помогает отслеживать баги.
А результаты тестов и найденные баги часто фиксируют в гугл-таблицах — например, в такой:

Конечно, по мере масштабирования проекта такой подход становится неэффективным. В какой-то момент целесообразнее внедрить полноценную систему управления тестированием, которая интегрируется с другими действиями: написанием тестов, их выполнением и формированием отчетов.
Такая система должна также поддерживать автоматизацию тестирования. Представьте платформу, где можно писать автотесты, хранить тестовые объекты, данные и артефакты, запускать тесты в нужной среде и получать подробные отчеты по результатам.
Чтобы достичь такого уровня, у тестировщиков есть два варианта:
- Разработать собственный фреймворк автоматизации с нуля
- Использовать готовое решение от вендора
У каждого из вариантов есть плюсы и минусы. Первый — максимально гибкий и настраиваемый, но потребуются хорошие технические знания. Второй — предоставляет функциональность «из коробки», но потребует вложений (временных, финансовых или и тех и других).
8. Результаты тестирования
Итоги тестирования отражают ранее поставленные цели.
Укажите, какие артефакты и документы должны быть созданы в ходе тестирования для отражения его хода и выявленных результатов. Поскольку стратегия тестирования — это документ высокого уровня, не требуется подробно расписывать каждый пункт, достаточно кратко обозначить перечень материалов, которые команда планирует подготовить.
9. Метрики и показатели тестирования
Определите ключевые показатели эффективности (KPI) и метрики успеха проекта. Эти метрики позволят оценить как эффективность и качество процесса тестирования, так и станут общей точкой отсчета и языком коммуникации внутри команды.
Типичные метрики тестирования включают:
- Покрытие тестами (Test Coverage): показывает процент кода, охваченного тестами.
- Плотность дефектов (Defect Density): число дефектов в определённом модуле или единице кода. Обычно измеряется как количество дефектов на тысячу строк кода (KLOC). Чем ниже показатель — тем выше качество.
- Утечка дефектов (Defect Leakage): количество багов, не обнаруженных на предыдущих этапах тестирования и выявленных позднее или после релиза.
- Среднее время до сбоя (MTTF – Mean Time to Failure): среднее время работы системы до момента сбоя.
Позже эти метрики визуализируются в итоговом отчете по тестированию.

10. Риски
Определите потенциальные риски и способы их минимизации. Добавьте запасной план действий, если риск все-таки реализуется.
Обычно тестировщики проводят анализ рисков (вероятность возникновения × потенциальное влияние), чтобы определить приоритеты в их устранении.
Например, после составления плана команда понимает, что сроки крайне сжаты, при этом не хватает технической экспертизы для выполнения задач. Это случай с высокой вероятностью и высоким влиянием. Необходим план действий: пересмотр целей, вложение в обучение команды или полное привлечение внешних специалистов.
Все перечисленные риски и меры должны быть внимательно изучены бизнес-командой, тимлидом QA и тимлидом разработки. На основе этого документа можно разрабатывать детализированные тест-планы для отдельных подпроектов или итераций спринта.
Пример тестовой стратегии
Для наглядности — пример тестовой стратегии:
| Раздел | Содержание |
| 1. Продукт, версия и обзор | — Название продукта: Веб-приложение для электронной коммерции — Редакция: v1.5 — Обзор: Продукт представляет собой онлайн-платформу электронной коммерции, которая позволяет пользователям просматривать товары, добавлять их в корзину и совершать безопасные покупки. Включает адаптивный веб-интерфейс, мобильное приложение и серверную часть для управления запасами и обработки платежей. |
| 2. История продукта | — Предыдущие версии: v1.0, v1.2, v1.3 — История ошибок: В предыдущих версиях наблюдались проблемы с интеграцией платежного шлюза и сохранением товаров в корзине. Эти проблемы были устранены благодаря модульному и интеграционному тестированию, что привело к улучшению общей надежности системы. |
| 3. Функционал для тестирования | — Пользовательские функции: поиск товаров, работа корзины, регистрация пользователей, оформление заказа. — Уровни приложения: фронтенд (React.js), бэкенд (Node.js), база данных (MySQL), интеграции с API. — Мобильное приложение: процесс покупки, push-уведомления. — Сервер: балансировка нагрузки, синхронизация базы данных. |
| 4. Функции, не подлежащие тестированию | — Интеграция сторонней программы лояльности: будет протестирована в отдельном релизе. — Устаревший способ оплаты: больше не поддерживается и исключён из тестирования в данном релизе. |
| 5. Конфигурации, подлежащие тестированию | — Мобильные устройства: iPhone 13 (iOS 15), Google Pixel 6 (Android 12). — Десктоп: Windows 10, macOS Monterey. — Браузеры : Chrome 95, Firefox 92, Safari 15, Edge 95. Исключенные конфигурации: старые версии Android (<9.0) и iOS (<12). |
| 6. Требования к среде тестирования | — Аппаратное обеспечение: реальные мобильные устройства, десктопы (Intel i7, Apple M1). — Сеть: эмуляция сетевых условий (3G, 4G, Wi-Fi). — Программное обеспечение: инструменты тестирования (Selenium, Appium, JMeter). — Серверы: облачные среды на AWS для тестирования масштабируемости. |
| 7. Методология системного тестирования | — Модульное тестирование: проверка основных функций, таких как поиск и добавление в корзину. — Интеграционное тестирование: проверка взаимодействия между корзиной, платежными системами и управлением запасами. — Системное тестирование: полные сквозные сценарии пользователя (просмотр товаров, добавление в корзину, оформление заказа, получение подтверждения). — Тестирование производительности: стресс-тестирование с помощью JMeter, имитирующее до 5000 одновременных пользователей. — Тестирование безопасности: использование OWASP ZAP для выявления уязвимостей. |
| 8. Первоначальные требования к тестированию | — Стратегия тестирования: составлена специалистами по QA и утверждена продуктовой командой. — Настройка тестовой среды: среды должны быть полностью настроены, включая серверы промежуточного (стейджинг) окружения, тестовые данные и имитацию платежных систем. — Тестовые данные: создать фиктивных пользователей и каталоги товаров для комплексного системного тестирования. |
| 9. Критерии начала системного тестирования | — Основная функциональность работает: все ключевые функции (поиск, вход в систему, корзина) должны корректно функционировать. — Пройдено 100% модульных тестов: все юнит-тесты должны быть успешно выполнены без ошибок. — Заморозка кода: все функции реализованы, и код зафиксирован в репозитории. — Известные ошибки задокументированы: все известные дефекты должны быть зарегистрированы в системе отслеживания багов. |
| 10. Критерии завершения системного тестирования | — Все системные тесты выполнены: все запланированные тесты должны быть проведены. — Успешное прохождение критических сценариев: все основные сценарии («счастливый путь») — регистрация пользователя, покупка товара и т.д. — должны быть пройдены. — Успешная сборка: должны быть получены исполняемые сборки для всех поддерживаемых платформ. — Отсутствие критических ошибок: нет серьезных дефектов или блокирующих багов. — Максимальное количество багов: не более 5 серьезных и 10 незначительных ошибок. |
| 11. Результаты тестирования | — План тестирования: подробный план, охватывающий системное, регрессионное и нагрузочное тестирование. — Тест-кейсы: задокументированные тест-кейсы в Jira/TestRail. — Логи выполнения тестов: записи всех проведённых тестов. — Отчеты о дефектах: отчеты из системы отслеживания багов (Jira). — Отчет о покрытии тестами: процент охваченных тестами функций и кода. |
| 12. Метрики и показатели тестирования | — Покрытие тестами: целевой показатель — 95% покрытия по юнит-, интеграционным и системным тестам. — Плотность дефектов: поддерживать плотность дефектов менее 1 дефекта на 1000 строк кода. — Производительность: обеспечить время отклика ключевых операций не более 2 секунд. — Утечка дефектов: не допускать более 2% дефектов, попавших в продуктивную среду. |
| 13. Риски | — Нестабильность платежного шлюза: может вызвать сбои транзакций при высокой нагрузке. — Проблемы кроссбраузерности: возможные несовпадения в работе на старых версиях браузеров. — Высокая нагрузка пользователей: снижение производительности при количестве одновременно активных пользователей более 5000. — Безопасность: риск уязвимостей из-за новых функций аутентификации пользователей. |
| 14. Справочные материалы | — Документация по продукту: внутренняя документация API для разработчиков. — Документация по тестовым инструментам: руководства по настройке Selenium и JMeter. — Внешние источники: рекомендации OWASP по обеспечению безопасности при тестировании. |
При создании документа стратегии тестирования вы можете составить таблицу со всеми перечисленными выше пунктами и провести мозговой штурм с ключевыми заинтересованными сторонами (менеджером проекта, бизнес-аналитиком, лидом QA и техническим лидом разработки), чтобы заполнить необходимую информацию по каждому из пунктов. В качестве отправной точки можно использовать таблицу ниже.
План тестирования vs. Стратегия тестирования
Стратегия тестирования — это более общий документ, который задаёт направление для тестирования, тогда как план тестирования содержит конкретные детали и должен соответствовать стратегии.
Стратегия описывает общие методы и подходы к качеству продукта, учитывая разные типы ПО, потребности организации и политику качества. План тестирования составляется для конкретного проекта, где учитываются цели, участники и риски. В Agile можно создавать общий план для проекта и отдельные планы для каждой итерации.
В таблице ниже приведено подробное сравнение этих двух документов:
| Стратегия тестирования | План тестирования | |
| Цель | Представляет общий подход, задачи и рамки тестирования ПО | Определяет подробные инструкции, процедуры и конкретные тесты, которые необходимо выполнить |
| Фокус | Подход к тестированию, уровни тестирования, типы и методы | Конкретные цели, тест-кейсы, данные для тестирования и ожидаемые итоги |
| Аудитория | Заинтересованные лица, руководители проектов, старшие специалисты по тестированию | Команда тестирования, тест-лиды, тестировщики и заинтересованные участники процесса тестирования |
| Область применения | Весь объём тестирования в рамках проекта | Определённый этап, функциональность или часть ПО |
| Уровень детализации | Меньше деталей, более общий подход | Очень подробный, с указанием сценариев, кейсов, скриптов и данных для тестирования |
| Гибкость | Позволяет быстро адаптироваться к изменениям требований проекта | Довольно жесткий, изменения во время тестирования нежелательны |
| Продолжительность действия | Относительно стабильна на протяжении всего жизненного цикла проекта | Развивается и изменяется в процессе тестирования, с учетом отзывов и корректировок |
Перевод статьи «What is Test Strategy? Guide To Develop Test Strategy (With Sample)».
Пингбэк: Большой учебник по тестированию