Жизненный цикл тестирования
Жизненный цикл тестирования
Процесс тестирования как управляемая инженерная деятельность
Тестирование — это строго регламентированный процесс, состоящий из последовательных, взаимосвязанных этапов, каждый из которых имеет чёткие входы, выходы и критерии завершения.
В стандартах, таких как ISO/IEC/IEEE 29119, тестирование рассматривается как жизненный цикл, включающий пять основных фаз:
- планирование и контроль,
- анализ и проектирование,
- реализация и выполнение,
- оценка критериев выхода и отчётность,
- деятельность по завершению тестирования.
Планирование и контроль
На этом этапе формируется стратегия тестирования — документ, определяющий общий подход к обеспечению качества в рамках проекта. Стратегия включает:
- цели и приоритеты тестирования;
- типы и уровни тестирования, которые будут применены;
- выбранные методы (ручные/автоматизированные);
- критерии входа и выхода (entry/exit criteria);
- оценку рисков и распределение ресурсов.
Из стратегии вытекает план тестирования — более детализированный документ, привязанный к конкретному релизу или итерации. Он содержит расписания, ответственных лиц, инструменты, окружения, зависимости и метрики. План тестирования — это живой документ, который корректируется по мере изменения требований или условий проекта.
Контроль осуществляется через регулярный мониторинг прогресса: сколько тест-кейсов выполнено, сколько дефектов открыто/закрыто, соблюдаются ли критерии покрытия, укладываются ли сроки. На основе этих данных принимаются управленческие решения — например, о необходимости расширения покрытия или отсрочке релиза.
Анализ требований и проектирование тестов
Анализ требований, описанный ранее, служит основой для проектирования тестовых условий — абстрактных описаний того, что должно быть протестировано (например, «проверка валидации email-адреса при регистрации»). На основе этих условий создаются тест-кейсы — конкретные сценарии с предусловиями, шагами, входными данными и ожидаемыми результатами.
Проектирование тестов использует формальные техники:
- Эквивалентное разбиение — деление входных данных на классы, в пределах которых система должна вести себя одинаково.
- Анализ граничных значений — фокус на значениях на границах допустимых диапазонов (минимум, максимум, чуть ниже/выше границы).
- Таблицы принятия решений — для моделирования логики с множеством условий и действий.
- Сценарии использования — проверка сквозных пользовательских потоков.
Качественный тест-кейс должен быть однозначным, воспроизводимым, атомарным и независимым от других тестов.
Реализация и выполнение
На этапе реализации тест-кейсы преобразуются в исполняемые артефакты:
- для ручного тестирования — в тест-наборы (test suites) в системах управления тестированием (TestRail, Zephyr, qTest);
- для автоматизированного тестирования — в скрипты на соответствующих языках и фреймворках.
Выполнение тестов проводится в контролируемых окружениях, соответствующих цели проверки (dev, staging, pre-prod). Результаты фиксируются: успешные и проваленные тесты, возникшие дефекты, временные метки, логи. При выявлении несоответствия создаётся отчёт о дефекте, структура которого включает:
- краткое название;
- детальное описание и шаги воспроизведения;
- ожидаемое и фактическое поведение;
- окружение (ОС, браузер, версия ПО);
- скриншоты, логи, видео (при необходимости);
- приоритет и серьёзность (severity vs priority).
Оценка критериев выхода и отчётность
Перед завершением тестирования проводится оценка по заранее определённым критериям выхода, например:
- 100 % выполнение критических тест-кейсов;
- отсутствие дефектов блокирующего уровня;
- покрытие требований — не менее 95 %;
- стабильность регрессионного набора (не более 2 % нестабильных тестов).
На основе собранных данных формируется отчёт о тестировании (test summary report), который содержит:
- обзор проведённых работ;
- метрики (количество тестов, покрытие, плотность дефектов, тренды);
- выявленные риски;
- рекомендации по релизу.
Этот отчёт служит основанием для принятия решения о готовности продукта к выпуску.
Завершение тестирования
После релиза проводится ретроспектива: анализ эффективности тестовой деятельности, выявление узких мест, обновление репозиториев тест-кейсов и автоматизированных сценариев. Все артефакты архивируются для будущих аудитов или повторного использования.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Ключевое слово - обеспечение качества. Цель тестирования не ограничивается обнаружением ошибок; оно служит механизмом обеспечения качества, подтверждения соответствия спецификациям и снижения рисков,… Юнит-тест представляет собой автоматизированную проверку отдельной единицы программного кода. В контексте разработки программных продуктов такой единицей обычно выступает функция, метод класса или… Практическое занятие и реализация интеграционного теста. Практическое занятие и реализация ручного тестирования. Практическое занятие и реализация нагрузочного тестирования. Тестирование разных признаков - доступ к коду, модульное, интеграционное, системное, приёмочное и прочие. Что такое артефакты, каким целям и принципам они служат. Системное тестирование, в чём суть и чем отличается E2E. Использование программных средств для выполнения проверок без вмешательства человека. Порядок тестирования, как правильно проектировать стратегию реализации контроля качества. Тестовый объект — это искусственная реализация зависимости, внедрённая в тестируемую систему с целью обеспечить контроль над её поведением, упростить настройку окружения и повысить изолированность… Locust — это инструмент для нагрузочного тестирования, который устанавливается как обычная библиотека Python. Для корректной работы необходимо наличие среды выполнения Python версии 3.7 или новее.Основы тестирования программного обеспечения
Подготовка среды и создание первого теста
Проверка взаимодействия компонентов
Проверка пользовательского сценария
Проверка надежности под нагрузкой
Классификация видов тестирования
Артефакты качества в проекте
End-to-End и системное тестирование
Автоматизация тестирования
Последовательность этапов тестирования
Объекты и уровни тестирования
Инструменты для ручного и автоматизированного тестирования