ЭФ>За 15 лет стопудово был какой-либо прогресс или в методах, или в используемых инструментах. ЭФ>Если область деятельности реально существует, то опыт в ней накапливается, ЭФ>особенно в мировом масштабе.
ЭФ>Если "мода прошла", то получается, что это вообще в принципе было ЭФ>неприменимое на практике (экономически невыгодное, крайне нишевое) направление деятельности?
Книжки по юнит-тестированию вполне есть, просто они по юнит-тестированию (что вы обсуждаете здесь), а не по MSTest (что вы обсуждаете там)
1. Писать тесты — стало просто нормально
2. Появилась куча тест фреймворков
3. В технологиях, где "прямое" тестирование слишком нетривиально — добавили поддержку тестирования
4. В любой фреймворк сейчас идёшь — там написано как авторы предлагают вам писать тесты на код, завязанный на этот фреймворк
5. Появились инструменты для виртуализации внешних зависимостей (СУБД, очереди, и т.д)
Я вам в той другой теме предложил метафору "айсберга тестирования", у которого над водой торчит MSTest/NUnit, а под водой — "всё остальное". Книжка, предложенная сверху — как раз про "всё остальное".
За 15 лет стопудово был какой-либо прогресс или в методах, или в используемых инструментах.
Если область деятельности реально существует, то опыт в ней накапливается,
особенно в мировом масштабе.
Если "мода прошла", то получается, что это вообще в принципе было
неприменимое на практике (экономически невыгодное, крайне нишевое) направление деятельности?
Здравствуйте, LaptevVV, Вы писали:
LVV>То есть, юнит-тесты и умение их писать стало для программистов обязательным
Не наблюдаю такое. Ни разу не видел, чтобы менеджер поинтересовался тестовым покрытием или вообще наличием тестов. Все юнит-тесты исключительно на добровольной основе. Вот функциональные end-to-end тесты людей интересуют, т.к. все видят от них пользу.
Лично у меня сейчас похожее мнение. В своём коде тестирую низкоуровневые компоненты с нетривиальным кодом. И тестирую, пусть и в виде тестов, end-to-end функционал. К примеру в последнем проекте писал тесты, которые запускают реальную БД, заполняют её тестовыми данными, запускают приложение, делают в него запрос и проверяют ответ и состояние БД. От таких тестов есть польза, а вреда минимум, т.к. они тестируют только внешние интерфейсы, которые обычно зафиксированы. Они не мешают рефакторить код.
Re[3]: Прошла мода на такие книжки (по Unit-тестированию)
LVV>>То есть, юнит-тесты и умение их писать стало для программистов обязательным vsb>Не наблюдаю такое. Ни разу не видел, чтобы менеджер поинтересовался тестовым покрытием или вообще наличием тестов. Все юнит-тесты исключительно на добровольной основе. Вот функциональные end-to-end тесты людей интересуют, т.к. все видят от них пользу.
Не менеджерское это дело интересоваться тестированием, покрытием и т.п. vsb>Лично у меня сейчас похожее мнение. В своём коде тестирую низкоуровневые компоненты с нетривиальным кодом. И тестирую, пусть и в виде тестов, end-to-end функционал. К примеру в последнем проекте писал тесты, которые запускают реальную БД, заполняют её тестовыми данными, запускают приложение, делают в него запрос и проверяют ответ и состояние БД. От таких тестов есть польза, а вреда минимум, т.к. они тестируют только внешние интерфейсы, которые обычно зафиксированы. Они не мешают рефакторить код.
А один мой выпускник в Люксофте на джунской позиции занимался исключительно писанием юнит-тестов.
Видимо, от объема продукта зависит...
В Люксофте был большой.
А я вот сейчас копаюсь в ява-коде — вообще юнит-тестов нет...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Прошла мода на такие книжки (по Unit-тестированию)
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>За 15 лет стопудово был какой-либо прогресс или в методах, или в используемых инструментах. ЭФ>Если область деятельности реально существует, то опыт в ней накапливается, ЭФ>особенно в мировом масштабе.
Автоматическое тестирование началось с юнит-тестов. Именно тогда понаписывали основные книги.
С тех пор собстенно в самих юнит-тестах мало что появилось, зато появилось много чего другого в самом автоматическом тестировании.
Про копирование строчек вон тоже книг мало...
Re: Прошла мода на такие книжки (по Unit-тестированию)
ЭФ>Если "мода прошла", то получается, что это вообще в принципе было ЭФ>неприменимое на практике (экономически невыгодное, крайне нишевое) направление деятельности?
Ерунда.
В книжке "С++ для профи" просто написан раздел по юнит тестированию.
Описаны catch, googletest и Boost test.
То есть, юнит-тесты и умение их писать стало для программистов обязательным
Есть, конечно, книжка Месароша Патерны xUnit — это если ты пишешь что-то вроде IDE и должен включить юнит-подсистему в нее.
Месарош рассказывает, какие паттерны и в каком месте при этом надо применять.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Прошла мода на такие книжки (по Unit-тестированию)
хъ
vsb>От таких тестов есть польза, а вреда минимум, т.к. они тестируют только внешние интерфейсы, которые обычно зафиксированы. Они не мешают рефакторить код.
А что у вас, простите, тестриуют юнит-тесты, приватные интерфейсы что-ли?
Почетный кавалер ордена Совка.
Re[4]: Прошла мода на такие книжки (по Unit-тестированию)
Здравствуйте, Patalog, Вы писали:
vsb>>От таких тестов есть польза, а вреда минимум, т.к. они тестируют только внешние интерфейсы, которые обычно зафиксированы. Они не мешают рефакторить код.
P>А что у вас, простите, тестриуют юнит-тесты, приватные интерфейсы что-ли?
Юнит-тесты тестируют юниты. Составные части приложения. Какие у них интерфейсы, это вопрос третий, но в составе приложения их можно считать приватными, т.к. непосредственного доступа извне к ним обычно нет.
Re[5]: Прошла мода на такие книжки (по Unit-тестированию)
хъ
P>>А что у вас, простите, тестриуют юнит-тесты, приватные интерфейсы что-ли?
vsb>Юнит-тесты тестируют юниты.
Ды ты чо? Не можыд быть!
vsb>Какие у них интерфейсы, это вопрос третий
Ну конечно же нет.
vsb>но в составе приложения их можно считать приватными, т.к. непосредственного доступа извне к ним обычно нет.
И как это мешает рефакторингу? У вас нет публичных зафмксированных интерфейсов у компонентов и вы тестируете детали текущей внутренней реализации? Ну иногда и такое надо, но в целом — ССЗБ. С дуру можно и хюнит-тесты (как концепцию) сломать.
Почетный кавалер ордена Совка.
Re[2]: Прошла мода на такие книжки (по Unit-тестированию)
Здравствуйте, Pauel, Вы писали:
P>С тех пор собстенно в самих юнит-тестах мало что появилось, зато появилось много чего другого в самом автоматическом тестировании.
Последнее изобретение это fuzzing тестирование и эволюция его fuzzing с использованием подсчёта покрытия.