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