107  Freddy [Off]
(20.12.2014 / 23:55)
Ксакеп, aNNiMON, у меня в универе тестированию не учили. Писать статью о полезности тестирования по-моему бесполезно. Я читал о тестировании и статьи на хабре, и руководства по JUnit и прочие руководства, но проникся только когда начал применять тесты на реальном проекте, над которым работал с февраля до конца прошлой недели. Ну как начал - пришлось, месяц плевался, но потом увидел, что это помогает отловить ошибки при реализации новых фич, который ломали уже написанный функционал, и втянулся. Лучше потратить полчаса на написание теста, чем перед git push или svn commit вспоминать, в каком месте правки могут сломать старый код и проверять корректность вручную. А если закоммитить, понадеявшись на авось, то потом может и от тимлида прилететь вежливая просьба немедленно пофиксить =)
107  Freddy [Off]
(20.12.2014 / 23:36)
Naik, тест считает некорректным сообщение, если у него префикс с одними пробелами: " ". А при реализации метода проверки сообщения я мог бы запросто забыть вызвать trim() и без тестирования баг мог всплыть когда-нибудь потом случайно. Тесты помогут быстро обнаружить факт регрессии в коде, если реализация валидации в будущем усложнится и логика станет не такой очевидной. А при изменении кода даже самим автором какие-то ошибки в будущем могут прокрасться, и заметить их сразу будет тяжело, возможно, их даже и не заметят до самого релиза.
107  Freddy [Off]
(20.12.2014 / 23:23)
Naik, в php с этим попроще: сохранил и всё. Я так в ruby иногда тоже делаю.
1798  Screamer [Off]
 საქარტველოს გაუმარჯოს
(20.12.2014 / 22:16)
а хорошие тесты не должны модифицировать тот код, который они проверяютПри условии, что система спроектирована грамотно и замОчить объекты не составляет никакого труда.

Нас, к сожалению, в универе так и не обучили юнит-тестированию, а сам я пытался, но практической ценности из этого не извлёк. Так что тесты не пишу, хотя это нужная штука.
Юнит тесты имеет смысл писать, когда разрабатывается какая-либо библиотека или фреймворк.
Когда пишешь приложение, которое предназначено для конечного пользователя, то пишутся функциональные тесты, которые будут проверять взаимодействие компонентов вместе.
Польза состоит в том, что при внесении изменений в код, они могут дать гарантию того, что нигде ничего не сломалось.

Бытует мнение, что функциональные тесты писать проще, чем юнит тесты. Я не знаю, насколько это правда, но по своему опыту могу сказать, что функциональные всё-таки гораздо сложнее.
В веб разработке при написании функциональных тестов обычно используется selenium webdriver или его альтернативы. Этот тот ещё гемморой скажу я вам, особенно, когда сталкиваешься с этим впервые и ни разу не слышал о pageobject, не знаешь всех особенностей тестирования с помощью вебдрайвера. Уходит очень много времени. Конечно и на юнит тесты тоже уходит достаточно времени, но там хотя бы ты точно можешь быть уверен в результате. С вебдрайвером же не всегда ясно, пройдёт ли тест, который ты только что написал, в следующий раз или нет. Конечно такое случается не всегда, но случается. И это очень не приятно, потому что выявить причину проблемы не так то и просто.
3254  Ксакеп (FMod) [Off]
(20.12.2014 / 22:06)
Отличная статья. У нас в вузе с первого семестра приучают к unit-тестированию.
275  Naik [Off]
(20.12.2014 / 21:32)
Получается мы просто предусматриваем разные ошибки, а это уже исключает ошибку в коде. Т.е. если мы в тесте проверяем поля сообщения, то в самом коде нет проверки что ли?
3789  vl@volk [Off]
 знает толк
(20.12.2014 / 21:28)
Тесты для слабаков!
4468  Kalter [Off]
 Homo homini penis est.
(20.12.2014 / 21:23)
А ведь классная статья! В свободное время нужно будет обязательно помедитировать над ней.
1  aNNiMON (SV!) [Off]
 let live
(20.12.2014 / 21:06)
Фух, осилил. Статья является неплохим введением в тестирование mock-объектов, но всё же не побуждает писать тесты. Неплохо было бы ввести сначала в само тестирование и его полезность. Нас, к сожалению, в универе так и не обучили юнит-тестированию, а сам я пытался, но практической ценности из этого не извлёк. Так что тесты не пишу, хотя это нужная штука.
3789  vl@volk [Off]
 знает толк
(20.12.2014 / 20:39)
Я не смог полноценно понять. Даже не дочитал, тяжело воспринимается.
Всего: 32
<< 1 2 3 4 >>
К записи
Java
Категории

Мы в соцсетях

tw tg yt gt