Unit Testing
Граф зависимостей
Описание
Модульное тестирование — это тестирование программы на уровне отдельно взятых модулей, функций или классов. Это процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы, наборы из одного или более программных модулей вместе с соответствующими управляющими данными, процедурами использования и обработки. Цель модульного тестирования — изолировать отдельные части программы и показать, что по отдельности эти части работоспособны. Также, чтобы проверить, что каждая единица программного кода работает должным образом. Данный вид тестирование выполняется разработчиками на этапе кодирования приложения. Модульные тесты изолируют часть кода и проверяют его работоспособность.
Ценность
Преимущества:
- Модульные тесты предоставляют быструю обратную связь о качестве приложения. Часть ошибок будет обнаруживаться еще на этапе разработки, до передачи приложения в тестирование, что снизит стоимость исправления дефекта.
- Модульное тестирование позволяет достаточно быстро провести регрессионное тестирование ранее написанного кода.
- Модульные тесты положительно влияют на внутреннюю архитектуру сервиса. Например, уменьшается количество глобальных переменных, классов-одиночек (singletons), классы становятся менее связанными и легкими для использования. Сильно связанный код или код, который требует сложной инициализации, будет значительно труднее покрыть тестами. Модульное тестирование способствует формированию четких и небольших интерфейсов.
- Модульные тесты могут стать первым шагом к внедрению практики TDD, когда тест пишется до того, как написали реализацию бизнес-функциональности.
- Модульные тесты могут являться одной из метрик качества написанного кода: если модульные тесты писать просто, то архитектура сервиса спроектирована правильно и ошибок в декомпозиции не наблюдается.
Последствия отсутствия:
- Большая часть дефектов будут обнаруживаться во время более дорогостоящих этапов тестирования.
- Увеличивается сложность и время проведения рефакторинга ранее написанного кода.
- Увеличивается сложность и время, необходимое на внесение изменений в ранее написанный код.
Критерии оценки 15
Тесты проверяют логику работы модуля, а не код
Тесты не зависят от окружения, на котором они выполняются
Тесты легко поддерживать
Тесты легко читать и они просты для понимания, даже новый разработчик должен понимает, что именно тестируется
Тесты запускаются регулярно в автоматическом режиме, например, во время сборки
Модульное тестирование занимает менее получаса
Модульные тесты устойчивы к изменениям кода и не требуют корректировки, если логика модуля не изменилась
Проверка 1
Тесты проверяют логику работы модуля, а не код
Тесты не зависят от окружения, на котором они выполняются
Тесты легко поддерживать
Тесты легко читать и они просты для понимания (даже новый разработчик должен понять что именно тестируется)
Тесты запускаются регулярно в автоматическом режиме, например, во время сборки
Модульное тестирование занимает больше получаса времени
Модульные тесты приходится менять при любом изменении кода, даже если логика работы модуля не менялась
Ресурсы 1
-
Источник
Метаданные
- ID:
- f6f54b5d-bce0-48a8-8475-6236f175857c
- Slug:
unit-testing- Версия:
- 2.0
- Проекты:
- ФармаИмпекс Client1/Project1
- Критерии:
- 7 survey 8 check
- Создано:
- 2026-04-30
- Обновлено:
- 2026-04-30