Регрессионное тестирование:
🔈 Как не сломать старое, добавляя новое?
Есть несколько основных стратегий.
✅1. Полный регресс
Что это: Вы проверяете ВСЁ. Абсолютно все функции продукта, как будто он снова на стадии полного тестирования. Когда использовать:
- Крупные релизы или смена мажорной версии (например, с v2.0 на v3.0).
- Когда изменения в коде были глобальными и затронули ядро системы.
- После серьезного рефакторинга архитектуры.
Плюсы: Максимальное покрытие и (теоретически) уверенность, что ничего не упустили. Минусы: Очень дорого, долго и часто избыточно. На практике применяется все реже.
✅2. Выборочный регресс
Что это: Быстрая проверка только самых КРИТИЧЕСКИХ функций, без которых продукт не может работать.
Когда использовать: После каждого небольшого билда, чтобы убедиться, что «система не дымится» (smoke test) и можно приступать к более глубокому тестированию.
Плюсы: Очень быстрый, отсекает катастрофические баги на раннем этапе. Минусы: Не дает никакой гарантии по остальному функционалу.
✅3. Регресс по зонам риска
Что это: Самый интеллектуальный подход. Вы анализируете, какие именно модули и функции были затронуты изменениями, и какие из них наиболее критичны для бизнеса. Фокус — на точках пересечения.
Плюсы: Оптимальное соотношение усилий и результата. Требует глубокого понимания продукта и архитектуры. Минусы: Можно что-то упустить, если анализ рисков проведен неверно.
✅4. Регресс на основе чек-листа
Что это: У вас есть заранее подготовленный (и постоянно обновляемый!) чек-лист основных сценариев, которые должны всегда работать. Вы не покрываете всё, но покрываете главное.
Плюсы: Структурированно, повторяемо, проще для новичков. Минусы: Чек-лист может устаревать, если за ним не следить.
📎Какую стратегию выбрать? Спросите себя:
· Масштаб изменений? (Одно поле / целый модуль) · Критичность изменений? (Затрагивает ли ядро?) · Сколько есть времени? · Насколько зрелая ваша автоматизация?
Чаще всего вы будете комбинировать эти стратегии: перед каждым билдом — смоук-тест, в конце спринта — регресс по зонам риска, а перед крупным релизом — почти полный регресс #знания