Функциональное Тестирование — это процесс контроля качества (QA), целью которого является проверка того, что программное обеспечение работает в соответствии с функциональными требованиями.
Ключевая Цель
Основная цель — валидация (проверка) бизнес-логики приложения. Функциональное тестирование проверяет, что каждая функциональность (фича) продукта работает правильно, как это описано в техническом задании (ТЗ) или пользовательских историях (User Stories).

Что конкретно проверяется
Функциональное тестирование фокусируется на “позитивных” и “негативных” сценариях.
Позитивные Сценарии (Happy Path)
Проверка того, что система корректно работает при ожидаемом поведении пользователя и с корректными данными.
Пример
Тестирование формы входа.
Действие: Пользователь вводит правильный, существующий логин и правильный пароль.
Ожидаемый результат: Система успешно аутентифицирует пользователя и перенаправляет его в личный кабинет.
Негативные Сценарии
Проверка того, что система корректно обрабатывает неожиданное поведение и некорректные данные. Система не должна “сломаться”.
Пример
Тестирование той же формы входа
- Действие 1: Ввести правильный логин и неправильный пароль.
Ожидаемый результат 1: Система показывает понятное сообщение об ошибке (“Неверный логин или пароль”), не пускает пользователя и не падает.
- Действие 2: Оставить поле “логин” пустым и нажать “Войти”.
Ожидаемый результат 2: Система показывает ошибку валидации (“Поле ‘логин’ не может быть пустым”).
Корнер кейсы
Проверка граничных значений — маловероятных или экстремальных сценариев.
Пример
Тестирование поля для загрузки аватара.
- Ограничение: Максимальный размер файла — 5 МБ.
- Действие: Попытаться загрузить файл размером 5.1 МБ (негативный) и файл размером 4.9 МБ (позитивный).
Участники
QA-инженеры (Тестировщики), как вручную (Manual QA), так и с помощью автотестов (QA Automation).
Артефакты Тестирования:
-
Тест-кейс (Test Case): Самый важный документ. Это детальная пошаговая инструкция для проверки одной конкретной функции.
-
Структура:
-
ID: Уникальный номер.
-
Название: Что проверяем (например, “Вход с корректными данными”).
-
Предусловия: Что должно быть сделано до начала (например, “Пользователь зарегистрирован”).
-
Шаги: “1. Открыть /login”, “2. Ввести ‘user@test.com’…”, “3. Нажать ‘Войти’“.
-
Ожидаемый результат: “Пользователь перенаправлен на /dashboard”.
-
-
-
Баг-репорт (Bug Report): Документ, который создается, если фактический результат не совпадает с ожидаемым результатом. Это отчет об ошибке для разработчиков.
Этап в ЖЦ
Функциональное тестирование проводится на тестовой среде (Test Environment), где находится “сборка” (build) — версия приложения, готовая к проверке.
Оно происходит после того, как бэкенд и фронтенд разработаны и интегрированы (соединены вместе, если необходимо), но до релиза (выпуска) продукта для конечных пользователей.
Заключение
Что дальше?
➡️ Разберём что такое дизайн ревью и зачем оно нужно