Prog Academy
RU UA
QA и тестирование

Что такое автоматизация тестирования?

Автоматизация тестирования — написание программ, которые сами выполняют проверки и сравнивают результат с ожидаемым. Такие тесты запускают при каждом изменении кода, чтобы быстро замечать поломки в уже работающей функциональности.

Автоматизация окупается на повторяемых проверках: регрессия перед релизом, вход в систему, оформление заказа, расчёты. Один и тот же сценарий, который вручную занимает полчаса, автотест выполняет за секунды и без потери внимания.

Она не заменяет тестировщика. Автотест находит только то расхождение, которое в него заложили, и требует поддержки: интерфейс изменился — тест нужно править. Поэтому автоматизируют стабильные и критичные сценарии, а не всё подряд.

Инструменты подбирают под уровень: Selenium и Playwright для веб-интерфейса, JUnit или TestNG для модульных тестов, отдельные библиотеки для проверки API.

Связанные термины

Selenium

Selenium — инструмент для автоматизации браузера: он позволяет программно открывать страницы, кликать по элементам, вводить текст и проверять содержимое. На нём пишут автотесты веб-интерфейсов на Java, Python, C# и других языках.

Playwright

Playwright — современный инструмент Microsoft для автоматизации браузеров и E2E-тестирования. Он управляет Chromium, Firefox и WebKit одним API и из коробки решает главную боль автотестов — нестабильность из-за таймингов.

E2E Testing

E2E (end-to-end) тестирование — проверка полного пользовательского сценария на собранной системе: тест открывает браузер, регистрируется, добавляет товар в корзину, оплачивает и убеждается, что заказ появился. Все компоненты при этом работают по-настоящему.

Regression Testing

Регрессионное тестирование — повторная проверка уже работавшей функциональности после изменений в коде. Его цель — убедиться, что новая функция или исправление бага не сломали ничего из того, что раньше работало.

CI/CD

CI/CD — автоматический конвейер, через который проходит каждое изменение кода: сборка, запуск тестов и доставка готовой версии на серверы. Разработчик отправляет код в репозиторий, а всё остальное происходит без ручных действий.

Manual Testing

Ручное тестирование — проверка продукта человеком без запуска автотестов: тестировщик сам проходит сценарии, изучает поведение интерфейса и фиксирует расхождения с ожидаемым результатом.