Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Модульное тестирование, необходимо ли?

#c_sharp #юнит_тесты


Доброго времени суток.
1) Часто ли в разработке коммерческого ПО применяются модульные тесты?
2) Обязательно ли оно или желательно?
3) Где можно почитать на русском про модульные тесты, желательно "без воды".    


Ответы

Ответ 1



1) Да, часто. В большинстве сколько-нибудь серьезных проектов, с которыми лично мне приходилось работать, модульные тесты были 2) Насчет его обязательности может сложиться одно пагубное заблуждение. Программист, особенно не использовавший его ранее, может подумать, что оно излишне (на него, дескать, тратится время и силы, которые можно было бы использовать для написания новых фич). И вообще, дескать, достаточно просто не делать ошибок, и никакие тесты не нужны. Однако ошибок не делает только Господь Бог, а он с разработкой уже, кажется, завязал после того, как за семь дней написал нашу вселенную (ну, если, конечно, это был именно он). Простые же смертные, к сожалению, к ошибкам склонны, а потому тестирование относится скорее к обязательнвым дисциплинам, чем к желательным. Разумеется, если вы не покроете ваш код тестами, небо не упадет на землю, но ваша софтина упадет наверняка. Стоит лишь разграничивать тот код, который нужно покрывать тестами, и тот, для которого тесты будут пустой тратой времени. В основном это разграничение упирается в объем и сложность того кода, что вы пишете. Кстати, картинка, предоставленная @Etki, хорошо иллюстрирует эту мысль - пока вы пишете что-то небольшое, тесты только отнимут у вас ресурсы. Но чем больше вы тратите на свой проект времени, тем больше пользы принесет тестирование. 3) Эта тема не сказать что сильно сложна. Принцип модульного тестирования становится интуитивно понятен после нескольких практических занятий. Поэтому скорее всего будет достаточно пары-тройки статей с примерами. Вот пример с MSDN

Ответ 2



1) Когда как. Маленькие компании любят работать «на тяп-ляп», большие любят требовать совершенно избыточные ненужные тесты. Наличие адекватного тимлида обычно всё улучшает. 2) Теоретически обязательно! На практике, как вы сами понимаете...

Ответ 3



Зависит от бюджета обычно, т.к. процесс строится, исходя из применения тестов "в нагрузку", без изменения самой парадигмы процесса. Нету ещё до конца понимания того, что если изменить парадигму разработки и написание тестов поставить в начало процесса, то бюджет наоборот сократиться. Обязательно оно, если процесс строится вокруг него, т.е. разработка тестов, покрывающих функционал, а только потом разаработка кода, который покрывает эти тесты. Желательно - это когда наоборот, но в таких ситуациях оно скорее НЕжелательно. :-) Так что я бы поставил вопрос по-другому - или обязательно, или НЕжелательно. Самому интересно. :-)

Комментариев нет:

Отправить комментарий