Unit Testing

Тестирование unit-testing
Текущая практика
Зависит от неё
Описание

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

Ценность
Преимущества:
  • Модульные тесты предоставляют быструю обратную связь о качестве приложения. Часть ошибок будет обнаруживаться еще на этапе разработки, до передачи приложения в тестирование, что снизит стоимость исправления дефекта.
  • Модульное тестирование позволяет достаточно быстро провести регрессионное тестирование ранее написанного кода.
  • Модульные тесты положительно влияют на внутреннюю архитектуру сервиса. Например, уменьшается количество глобальных переменных, классов-одиночек (singletons), классы становятся менее связанными и легкими для использования. Сильно связанный код или код, который требует сложной инициализации, будет значительно труднее покрыть тестами. Модульное тестирование способствует формированию четких и небольших интерфейсов.
  • Модульные тесты могут стать первым шагом к внедрению практики TDD, когда тест пишется до того, как написали реализацию бизнес-функциональности.
  • Модульные тесты могут являться одной из метрик качества написанного кода: если модульные тесты писать просто, то архитектура сервиса спроектирована правильно и ошибок в декомпозиции не наблюдается.
Последствия отсутствия:
  • Большая часть дефектов будут обнаруживаться во время более дорогостоящих этапов тестирования.
  • Увеличивается сложность и время проведения рефакторинга ранее написанного кода.
  • Увеличивается сложность и время, необходимое на внесение изменений в ранее написанный код.
Критерии оценки 15
SURVEY

Тесты проверяют логику работы модуля, а не код

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Тесты не зависят от окружения, на котором они выполняются

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Тесты легко поддерживать

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Тесты легко читать и они просты для понимания, даже новый разработчик должен понимает, что именно тестируется

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Тесты запускаются регулярно в автоматическом режиме, например, во время сборки

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Модульное тестирование занимает менее получаса

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Модульные тесты устойчивы к изменениям кода и не требуют корректировки, если логика модуля не изменилась

Варианты по умолчанию: Да / Нет / Частично
CHECK

Проверка 1

CHECK

Тесты проверяют логику работы модуля, а не код

CHECK

Тесты не зависят от окружения, на котором они выполняются

CHECK

Тесты легко поддерживать

CHECK

Тесты легко читать и они просты для понимания (даже новый разработчик должен понять что именно тестируется)

CHECK

Тесты запускаются регулярно в автоматическом режиме, например, во время сборки

CHECK -1

Модульное тестирование занимает больше получаса времени

CHECK -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