Актуальные вопросы|30 Сентябрь 2014 13:59

Введение в модульное тестирование

Модульное тестирование (англ. unit testing) – это проверка отдельных компонентов системы в специально разработанной среде. Для оценки работы компонентов используются модульные тесты, которые отслеживают качество работы функций каждого отдельного компонента. Модульные тесты создаются веб-разработчиками применительно к каждой модификации кода, которые могли привести к ошибке в работе программы.

Модульное тестирование условно выделяет отдельные элементы системы с тем, чтобы показать, что они функционально верны и работают исправно. Как правило, к выполнению данного вида тестирования привлекаются сами разработчики программного продукта.

resizedimage420330-software-testing-company-600

Преимущества модульного тестирования

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

  • позволяет ликвидировать ошибки в отдельных звеньях программного кода;

  • открывает возможности «бюджетного» поиска ошибок с внесением модификаций в код;

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

В каких случаях модульное тестирование неэффективно

Случается и такое, что модульное тестирование оказывается неэффективным по отношению к проверке работоспособности кода. В первую очередь, это связано с тем, что модульное тестирование не может отловить все без исключения дефекты в работе компонентов, а только самые распространенные случаи.

Поскольку модульное тестирование выполняется на уровне отдельных компонентов, оно оказывается неэффективным на системном уровне, например, на уровне функций в нескольких компонентах системы одновременно.

Кроме этого, модульное тестирование зачастую дает лишь приблизительную оценку, поскольку тесты больше универсальны, чем уникальны, поэтому сложно ответить, насколько точным является полученный результат.

Модульное не служит заменой какого-либо из видов тестирования и должно быть включено в полный цикл проверки производительности продукта. Некоторые из функциональных возможностей продукта можно оценить только после комплексного тестирования на различных стадиях разработки программного продукта.