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

Что такое модульное тестирование (unit-тесты)?

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

Unit-тесты — самый быстрый и дешёвый уровень проверки. Они выполняются за миллисекунды, запускаются сотнями при каждой сборке и точно указывают место поломки: упавший тест сразу называет конкретную функцию.

Пишет их обычно сам разработчик. Помимо защиты от ошибок, они дают свободу рефакторинга: код можно переписывать, зная, что нарушение поведения будет замечено сразу.

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

Integration Testing

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

E2E Testing

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

Test Automation

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

CI/CD

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

Software Testing

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