👀 Почему регрессия появляется там, где её не ждут
В прошлом посте мы говорили, что регрессия неизбежна. Но она появляется не случайно — её источник почти всегда один: скрытые зависимости внутри продукта.
🔤 Что такое скрытая зависимость:
Это ситуация, когда изменение в одном месте влияет на другое, хотя на первый взгляд между ними нет связи.
Причины простые:
• один и тот же объект используется в разных модулях;
• общие кэши и настройки;
• переиспользуемые UI-компоненты;
• сервисы читают одни и те же данные с разной логикой.
💥 Почему это и рождает регрессию:
Сломать можно не то, что правил разработчик, а то, что зависит от его правки.
Пример:
Фикс в авторизации → изменилась структура токена → отвалился модуль корзины, который тоже его читает.
Визуально модули не связаны. Архитектурно — очень даже.
🔤 Как находить такие зависимости:
Перед регрессией стоит ответить на один вопрос:
какие сущности затронуло изменение?
Дальше — простая последовательность:
1️⃣ Определить сущность: пользователь, заказ, корзина, документ, настройки профиля и т.д.
2️⃣ Проверить, где она ещё используется:
• другие экраны, отчёты, API, фоновые задачи;
3️⃣ Понять, что может поехать рядом:
• валидации;
• статусы;
• пересчёты;
• общее состояние.
4️⃣ Прогнать тесты по этим зонам, а не только по месту правки.
Это и есть работа со скрытыми зависимостями: мы ищем не «что сломали», а что могло пострадать архитектурно.
🐸 Библиотека тестировщика
#теория_на_пальцах
Post #4121
775

- 👍 8
- 🤩 2
- ❤ 1
- 🥰 1