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


Модульное тестирование — это почти религия, но каковы факты? Эта инфографика максимально упрощает использование модульного тестирования.

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

Нажмите, чтобы увидеть полноразмерную версию

Модульное тестирование идет рука об руку с гибким программированием всех видов, потому что оно включает тесты, которые позволяют легко вносить изменения. Другими словами, модульные тесты облегчают безопасный рефакторинг. Идея проста: напишите несколько дополнительных строк кода, которые выполняют тесты, которые проверяют, что конкретный блок кода — почти всегда функция или метод — ведет себя должным образом. Затем вы работаете с блоком, пока он не пройдет все тесты. Если позже вы решите, что блок нужно как-то изменить, то есть отремонтировать, то тесты сразу укажут, если вы ошиблись. Рефакторинг без тестов опасен, потому что вы не пишете код «зеленого поля», а меняете часть взаимодействующей и работающей системы, а это гораздо труднее сделать правильно. Также утверждается, что модульные тесты образуют своего рода живую документацию о том, что должны делать блоки кода. Хотя это правда, это плохой уровень документации и не повод не писать хорошие вещи.

Большая проблема модульного тестирования заключается в том, что это больше кода. И я думаю, вы должны задать вопрос, кто или что тестирует юнит-тесты? Это не глупый вопрос, и тем не менее, в настоящее время его не часто задают и на него не отвечают вообще. Мы склонны игнорировать тот простой факт, что рефакторинг часто нарушает не только структуру программы, но и структуру тестов. Короче говоря, модульные тесты лучше, чем ничего, но добавление кода в тестовый код — не лучший способ сделать это. Большинство критических замечаний можно исправить, но пока инструменты, которые мы используем, примитивны.


Добавить комментарий