Уровни тестирования: юнит, интеграционное, системное и E2E
Тестирование можно разделить на уровни в зависимости от того, какая часть системы проверяется. Это помогает строить надежную и проверяемую архитектуру.
🔹 Юнит-тесты (Unit Testing)
Проверяют работу отдельных функций или компонентов без зависимости от других частей системы.
- Тестируются функции, методы, классы.
- Обычно запускаются быстро и локально.
- Часто пишутся разработчиками.
Пример: проверка функции подсчета итоговой суммы с учётом скидки.
🔹 Интеграционное тестирование
Проверяет, как взаимодействуют части системы между собой.
- Тестируются модули, компоненты, API-вызовы между сервисами.
- Помогает выявить ошибки на границах взаимодействия.
Пример: проверка, что при создании заказа отправляется письмо на почту пользователя.
🔹 Системное тестирование (System Testing)
Проверяет работу всей системы как единого целого.
- Проводится после интеграционного.
- Имитирует поведение реального пользователя.
Пример: создание и оформление заказа через веб-интерфейс.
🔹 E2E-тестирование (End-to-End)
Проверка всего пользовательского пути от начала до конца.
- Часто автоматизируется с помощью инструментов типа Cypress, Playwright или Selenium.
- Обычно затрагивает фронтенд, бэкенд, базу данных и внешние сервисы.
Пример: пользователь заходит на сайт, регистрируется, заказывает товар и получает подтверждение по почте.
🧱 Как уровни сочетаются
Обычно применяют пирамиду тестирования:
- Много юнит-тестов
- Меньше интеграционных
- Ещё меньше E2E (дорогие в поддержке)
📬 Подпишись на наши социальные сети
Уроки, обновления и новые практики — бесплатно и без спама.