Что такое E2E тестирование?
E2E (end-to-end) тестирование — проверка полного пользовательского сценария на собранной системе: тест открывает браузер, регистрируется, добавляет товар в корзину, оплачивает и убеждается, что заказ появился. Все компоненты при этом работают по-настоящему.
Ценность E2E в том, что он проверяет продукт так же, как им пользуется человек, и ловит проблемы, невидимые на других уровнях: неработающая кнопка, сломанный редирект, конфликт фронтенда с новой версией API.
Плата — скорость и хрупкость. E2E-тесты идут минутами, зависят от окружения и падают из-за мелких изменений вёрстки. Поэтому их держат немного: только ключевые сценарии, приносящие деньги, а остальное покрывают более быстрыми уровнями.
Связанные термины
Selenium — инструмент для автоматизации браузера: он позволяет программно открывать страницы, кликать по элементам, вводить текст и проверять содержимое. На нём пишут автотесты веб-интерфейсов на Java, Python, C# и других языках.
PlaywrightPlaywright — современный инструмент Microsoft для автоматизации браузеров и E2E-тестирования. Он управляет Chromium, Firefox и WebKit одним API и из коробки решает главную боль автотестов — нестабильность из-за таймингов.
Integration TestingИнтеграционное тестирование проверяет, как несколько компонентов работают вместе: приложение и база данных, сервис и внешнее API, два микросервиса между собой. Отдельно каждая часть может быть исправна, а на стыке всё равно возникнет ошибка.
Test AutomationАвтоматизация тестирования — написание программ, которые сами выполняют проверки и сравнивают результат с ожидаемым. Такие тесты запускают при каждом изменении кода, чтобы быстро замечать поломки в уже работающей функциональности.
Regression TestingРегрессионное тестирование — повторная проверка уже работавшей функциональности после изменений в коде. Его цель — убедиться, что новая функция или исправление бага не сломали ничего из того, что раньше работало.