🤖 Академия QA-автоматизации
← Основы QA-автоматизации: курс для начинающих
Этап 6. Сборка знаний и первый учебный проект

Как составить тест-план: определяем объём, цели и стратегию тестирования проекта


Зачем это нужно?

Представьте, что вы собираетесь в длительное путешествие. Можно, конечно, просто сесть в машину и ехать куда глаза глядят — но скорее всего вы заранее составите маршрут: куда едете, что возьмёте с собой, сколько времени займёт поездка и что делать, если что-то пойдёт не так.

Тест-план — это именно такой «маршрут» для тестирования. Это документ, в котором команда договаривается заранее: что будем проверять, зачем, как, кто это делает и когда считаем работу законченной.

Без тест-плана тестировщики рискуют проверить одно и то же по несколько раз, пропустить важные части приложения или не успеть закончить работу в срок. С тест-планом — работа становится предсказуемой и управляемой.

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


Теория

Что такое тест-план?

Тест-план (от англ. test plan — план тестирования) — это документ, который описывает всё, что нужно знать команде перед началом тестирования. Он отвечает на шесть ключевых вопросов:

Вопрос Что описывает
Что? Какое приложение или функцию тестируем
Зачем? Какова цель тестирования
Сколько? Какой объём работы нужно охватить
Как? Какие виды и методы тестирования используем
Кто? Кто отвечает за какие задачи
Когда? Сроки и критерии завершения

💡 Аналогия для понимания. Тест-план — как техническое задание для строителя. Прежде чем начать строить дом, нужно понять: что строим (дом или гараж?), из каких материалов, сколько комнат, кто за что отвечает и к какому сроку. Без этого строители будут делать каждый своё.


Из каких разделов состоит тест-план?

Тест-план не имеет единого жёсткого стандарта — каждая компания может оформлять его по-своему. Но есть классические разделы, которые встречаются почти везде. Рассмотрим каждый из них.


1. Введение и краткое описание проекта

Здесь вы объясняете, что за приложение тестируется и зачем вообще нужно тестирование в данном случае.

Что написать:

  • Название приложения
  • Что оно делает (2–3 предложения для человека, который видит его впервые)
  • Версия приложения (если есть)

Пример:

Тестируется учебное веб-приложение «To-Do List» (список задач). Приложение позволяет пользователю добавлять, редактировать, отмечать выполненными и удалять задачи. Версия: 1.0 (учебная).


2. Цели тестирования

Цель тестирования — это конкретный результат, который вы хотите получить после проверки. Цели должны быть чёткими и измеримыми.

Плохая цель: «Убедиться, что всё работает»
Хорошая цель: «Проверить, что пользователь может создать, отредактировать и удалить задачу без ошибок»

Типичные цели тестирования:

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

3. Объём тестирования

Объём тестирования (англ. scope — «охват») — это список того, что будем и что не будем проверять. Это очень важный раздел, потому что ресурсы всегда ограничены: время, люди, деньги.

Объём делится на две части:

«В области тестирования» (In scope) — что проверяем:

Функция добавления задачи, функция удаления задачи, отображение списка задач, работа на браузере Google Chrome.

«Вне области тестирования» (Out of scope) — что не проверяем и почему:

Мобильная версия приложения (не реализована в данной версии). Работа в браузере Internet Explorer (устаревший, компания его не поддерживает).

💡 Почему важно явно указывать, что НЕ проверяем? Чтобы потом не было претензий: «А почему вы не протестировали это?» Если это написано в тест-плане и все с ним согласились — ответственность распределена честно.


4. Виды тестирования

Вид тестирования — это угол зрения, под которым мы смотрим на приложение. Разные виды помогают найти разные проблемы.

Вот самые распространённые виды, которые стоит упомянуть даже в учебном тест-плане:

Вид тестирования Что проверяем Простой пример
Функциональное тестирование Работают ли функции так, как задумано Кнопка «Добавить» добавляет задачу
Тестирование граничных значений Что происходит на «краях» допустимого диапазона Что будет, если ввести задачу из 1000 символов
Тестирование негативных сценариев Как приложение реагирует на неправильные действия Попытка добавить пустую задачу
Тестирование интерфейса (UI) Правильно ли отображаются элементы на экране Кнопки на месте, текст читаем
Регрессионное тестирование После изменений ничего не сломалось После правки кнопки «Сохранить» — работает ли «Удалить»

💡 Регрессия — от лат. regressio («возвращение назад»). Регрессионное тестирование проверяет, что исправление одной проблемы не вернуло старые или не создало новые. Как ремонт в квартире: починили кран на кухне — не потёк ли при этом в ванной?


5. Стратегия тестирования

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

Ручное тестирование — тестировщик сам кликает, вводит данные и смотрит на результат. Как дегустатор на кухне ресторана.

Автоматизированное тестирование — компьютерная программа выполняет проверки вместо человека по заранее написанному сценарию. Как робот-сборщик на заводе.

Что описать в стратегии:

  • Какие тесты будут ручными, а какие — автоматизированными
  • В каком браузере и на какой операционной системе будем тестировать (тестовое окружение)
  • В каком порядке будем тестировать (сначала — основные функции, потом — граничные случаи)

Пример описания стратегии:

Основные функциональные проверки выполняются вручную. Проверка добавления задачи автоматизируется с помощью Playwright. Тестирование проводится в браузере Google Chrome версии 124 на операционной системе Windows 11.


6. Критерии входа и выхода

Это раздел, который часто забывают новички, но он очень важен.

Критерии входа (англ. entry criteria) — условия, при которых тестирование можно начинать.

Примеры:

  • Приложение развёрнуто и доступно по ссылке
  • Тест-кейсы написаны и согласованы
  • Тестовая среда настроена

Критерии выхода (англ. exit criteria) — условия, при которых тестирование считается завершённым.

Примеры:

  • Выполнены все запланированные тест-кейсы
  • Все критические баги исправлены и повторно проверены
  • Не найдено новых критических дефектов за последние 48 часов

💡 Аналогия. Критерий входа — это как осмотр машины перед поездкой (все ли шины накачены? достаточно ли бензина?). Критерий выхода — как финишная черта на гонке: когда её пересекаешь, соревнование закончено.


7. Риски и план действий при рисках

Риск — это то, что может помешать тестированию или снизить его качество.

Примеры рисков и реакции на них:

Риск Последствие Что делаем
Разработчик не успевает сдать приложение вовремя Меньше времени на тестирование Сообщаем менеджеру и сокращаем объём тест-кейсов
Тестировщик заболел Часть тестов не выполнена Перераспределяем задачи внутри команды
Тестовая среда недоступна Нельзя запустить тесты Договариваемся о резервной среде заранее

8. Ответственные и роли

Даже в маленькой команде (или учебном проекте) полезно записать, кто за что отвечает.

Пример:

Задача Ответственный
Написать тест-кейсы Мария (QA-инженер)
Провести ручное тестирование Мария (QA-инженер)
Запустить автоматизированные тесты Алексей (QA Automation)
Утвердить тест-план Ирина (тест-менеджер)

Как объём, цели и стратегия связаны между собой?

Представьте треугольник:

        ЦЕЛИ
       /     \
ОБЪЁМ —————— СТРАТЕГИЯ
  • Цели говорят нам, зачем мы тестируем (что хотим доказать или найти).
  • Объём говорит, что именно мы проверяем (и что оставляем за скобками).
  • Стратегия говорит, как мы это делаем (инструменты, порядок, методы).

Если цели размыты — непонятно, когда можно остановиться.
Если объём не определён — тестирование расползается и занимает вечность.
Если нет стратегии — каждый делает по-своему и результаты несравнимы.


Пример: тест-план для учебного приложения «To-Do List»

Ниже — готовый тест-план для учебного проекта. Он намеренно сделан коротким и понятным, чтобы вы могли использовать его как шаблон.

# Тест-план: приложение «To-Do List» v1.0

## 1. Введение
Тестируется учебное веб-приложение «To-Do List» — список дел.
Пользователь может добавлять, редактировать, отмечать выполненными
и удалять задачи. Приложение доступно по адресу: http://localhost:3000

## 2. Цели тестирования
- Убедиться, что пользователь может добавить новую задачу.
- Убедиться, что пользователь может удалить задачу.
- Убедиться, что нельзя добавить пустую задачу.
- Убедиться, что список задач корректно отображается.

## 3. Объём тестирования

### В области тестирования (In scope):
- Добавление задачи
- Удаление задачи
- Отметка задачи как выполненной
- Отображение списка задач
- Негативный сценарий: попытка добавить пустую задачу

### Вне области тестирования (Out of scope):
- Мобильная версия (не реализована)
- Тестирование производительности (вне рамок учебного проекта)
- Браузеры, кроме Google Chrome

## 4. Виды тестирования
- Функциональное тестирование
- Негативное тестирование
- Тестирование граничных значений
- Тестирование пользовательского интерфейса (UI)

## 5. Стратегия тестирования
- Ручное тестирование: все функциональные и негативные сценарии.
- Автоматизированное тестирование (Playwright): сценарий добавления
  задачи.
- Окружение: Google Chrome 124, Windows 11, разрешение 1920×1080.
- Порядок: сначала позитивные сценарии, затем негативные,
  затем граничные значения.

## 6. Критерии входа
- Приложение запущено и доступно по локальному адресу.
- Тест-кейсы написаны.

## 7. Критерии выхода
- Выполнены все тест-кейсы из плана.
- Все найденные баги задокументированы.
- Критических багов (блокирующих основные функции) не осталось.

## 8. Риски
| Риск                            | Действие                              |
|---------------------------------|---------------------------------------|
| Приложение не запускается       | Сообщить куратору, устранить причину  |
| Недостаточно времени            | Сократить объём до ключевых функций   |

## 9. Ответственные
- Написание тест-кейсов: учащийся (я)
- Проведение ручного тестирования: учащийся (я)
- Запуск автотестов: учащийся (я)

💡 Обратите внимание: это учебный тест-план. В реальных проектах он может быть длиннее (10–30 страниц), содержать ссылки на требования, список тест-кейсов и многое другое. Но структура остаётся той же.


Практика

Упражнение 1. Найдите ошибки в целях тестирования

Прочитайте список целей и определите, какие из них написаны правильно, а какие — нет. Для «плохих» целей напишите исправленную версию.

  1. «Проверить, что приложение работает нормально»
  2. «Убедиться, что пользователь может зарегистрироваться, введя корректный email и пароль»
  3. «Всё должно быть хорошо»
  4. «Проверить, что при попытке войти с неверным паролем появляется сообщение об ошибке»
  5. «Протестировать сайт»

Подсказка: хорошая цель конкретна — из неё понятно, какое действие совершает пользователь и какой результат ожидается.


Упражнение 2. Заполните раздел «Объём тестирования»

Вы тестируете учебное приложение — форму регистрации пользователя. В форме есть поля: «Имя», «Email», «Пароль», «Повторите пароль» и кнопка «Зарегистрироваться».

Заполните таблицу:

Категория Ваш список
В области тестирования (In scope) ?
Вне области тестирования (Out of scope) ?

Придумайте минимум по 3 пункта в каждой категории.

Подсказка для «Out of scope»: подумайте, что вы не можете проверить — например, как форма выглядит на старых телефонах, если у вас нет старого телефона.


Упражнение 3. Напишите мини-тест-план

Возьмите любое простое приложение или сайт, которым вы пользуетесь каждый день (например, калькулятор на телефоне, форма поиска в браузере или любой учебный сайт). Напишите тест-план по шаблону из этого урока.

Ваш тест-план должен содержать:

  • Введение (2–3 предложения)
  • Минимум 3 конкретные цели тестирования
  • Объём (In scope / Out of scope)
  • Хотя бы 2 вида тестирования
  • Стратегию (ручное или автоматизированное, в каком браузере/устройстве)
  • Критерии входа и выхода

Совет: не нужно писать идеально. Главное — пройти через все разделы и понять, о чём думать перед началом тестирования.


Упражнение 4 (повышенная сложность). Определите риски

Для тест-плана из Упражнения 3 придумайте 3 реальных риска, которые могут помешать тестированию. Для каждого риска опишите последствие и ваш план действий.

Используйте формат:

Риск Последствие Что делаю
? ? ?

Пример начала: Риск: «Сайт может быть недоступен в день тестирования». Последствие: «Не смогу выполнить ни один тест-кейс». Что делаю: «Планирую запасной день для тестирования».


Ключевые выводы

  • Тест-план — это документ-договорённость: что, зачем, как, кто и когда тестирует.
  • Хороший тест-план отвечает на шесть вопросов: что, зачем, сколько, как, кто, когда.
  • Цели должны быть конкретными и измеримыми — не «всё должно работать», а «пользователь может добавить задачу и увидеть её в списке».
  • Объём защищает команду от бесконечного расширения работы — важно явно написать, что проверять не будем.
  • Стратегия описывает инструменты и порядок — это помогает работать согласованно.
  • Критерии входа и выхода дают чёткий ответ на вопросы «когда начинаем?» и «когда заканчиваем?».
  • Риски лучше обдумать заранее, чем столкнуться с ними неожиданно.
  • Тест-план — живой документ: его можно и нужно обновлять, если что-то меняется в проекте.

Что дальше? В следующем уроке мы возьмём этот тест-план и начнём наполнять его тест-кейсами — конкретными пошаговыми сценариями проверки каждой функции нашего учебного приложения.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.