[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHPUnit - нахрена он нужен?
Revan
Всем привет!

Давно вот ломаю себе голову, зачем разработчики чем дальше тем больше все усложнают? На работе от меня требуется обвязать тест-кейсами приложение, я никогда не работал раньше с этим PHPUnit, так как мне и без него отлично жилось. Чтобы освоить PHPUnit нужно потратить кучу времени. Лично я не вижу смысла использовать его, в чем проблема найти ошибку в своем приложении? В чем сложность проверить тот же метод в классе без всех этих громадных фреймворков? У нынешних программеров интересный взгляд на разработку, им лучше все усложнить раз в десять, написать кучу этих тест-кейсов, написать огромную кучу бессмысленных кодов, чтобы увеличить время разработки в раз 5, вместо того, чтобы сделать код, в котором можно будет с легкостью найти эту ошибку и секономив время, которое тратится на написание этих тестов и совершенно лишних классов.

Какие у вас мнения на этот счет?



Спустя 1 минута, 4 секунды (14.02.2011 - 19:52) jetistyum написал(а):
Вот так и заяви начальству smile.gif
Тебе сколько лет???

Спустя 2 минуты, 29 секунд (14.02.2011 - 19:54) Revan написал(а):
Цитата
Вот так и заяви начальству 
Тебе сколько лет???


Извини, но вопрос этот к чему?

Спустя 2 минуты, 45 секунд (14.02.2011 - 19:57) jetistyum написал(а):
к твоему вопросу.

Спустя 2 минуты, 53 секунды (14.02.2011 - 20:00) Revan написал(а):
Цитата
к твоему вопросу.


Не вижу связи между моим вопросом, и твоим о моём возрасте.

Спустя 3 минуты, 7 секунд (14.02.2011 - 20:03) jetistyum написал(а):
По посту кажется что тебе лет совсем не много. Это не плохо, но объясняет почему тебе кажется что все то что непонятно - совершенно не нужно. Я лично не пользуюсь юнит-тестированием, но считаю что нужно будет уделить этому время, чтобы изучить, разобраться. Советую и тебе попробовать.
Теперь понятна связь? Сложно было ответить:) ?

Спустя 18 минут, 59 секунд (14.02.2011 - 20:22) Revan написал(а):
Цитата
По посту кажется что тебе лет совсем не много. Это не плохо, но объясняет почему тебе кажется что все то что непонятно - совершенно не нужно. Я лично не пользуюсь юнит-тестированием, но считаю что нужно будет уделить этому время, чтобы изучить, разобраться. Советую и тебе попробовать.
Теперь понятна связь? Сложно было ответить:) ?


Вообще-то не очень. Насколько я помню, я задавал вопрос о том, что думают люди про Unit-тестирование в разработке на PHP, изложил все это на весьма доступном языке. Некоторые люди, вроде тебя любят задавать вопросы "не в тему", с намерением показать молвь "я умнее". Я не хочу ничего такого сказать, но если уж на форуме задают какой-то вопрос, то думаю было бы уместно отвечать именно на этот вопрос.

Что же касается "непонятно" - на самом деле мне понятно, почему unit-тестирование используется в программировании. В таких фреймворках как Symfony или Zend, оно необходимо для того чтобы искать там проблему, так как сделать это в ручную крайне сложно учитывая все те "прелести" которые предоставляют нам фреймворки, мне лишь непонятно, зачем все настолько усложнять, если можно с легкостью обойтись и без этого? Насчет "изучть": а зачем?

Спустя 36 минут, 8 секунд (14.02.2011 - 20:58) ApuktaChehov написал(а):
Revan - я сам не работал никогда с Unit-тестированим. Но мне кажется, что оно полезен в крупных проектах. Сейчас я пишу довольно небольшой проект, но при этом отдельные файлы-обработчики данных, занимают не одну сотню и даже тысячу строк кода. И уже сейчас, иногда сложно найти проблему.

Спустя 9 минут, 11 секунд (14.02.2011 - 21:07) glock18 написал(а):
Revan

зато ты первым своим "сообщением-вопросом" сразу дал понять, что тебя устроит только ответ "забей, это надо только глупым начальникам".

и ответ первым сообщением был дан в тему - если не нравится идея, то так и скажи начальству. Если считаешь, что идея так себе, то потрудись и докажи это начальству, и быть может тогда добьешься своего, или тебя переубедят.

ЗЫ: несмотря на то, что ты скорее всего проигнорируешь любой совет не "выеживаться", а заняться юнит-тестированием, я все же скажу свое мнение, если ты действительно хочешь его слышать - уметь писать юнит тесты полезно. Довольно редко можно встретить контору подходящую к разработке через тестирование (TDD - test-driven development). На деле же, если вы на работе в основном пишете сайты, то юнит-тестирование, на мой взгляд, будет излишней тратой времени, оно скорее имеет смысл в случае с большой разработкой.

ЗЗЫ: юнит-тестирование имеет плюсы в том, что не требует нахождения некоторых багов тестерами или пользователям, а позволяет их выявить еще на этапе сборки. тем не менее, все баги оно выявить не может, так что от тестеров избавиться полностью тоже не удастся.

Спустя 58 минут, 57 секунд (14.02.2011 - 22:06) waldicom написал(а):
Нужна вещь.

Правда, думаю, что наличие тестов зависит от нескольких параметров:
- объем проекта
- архитектура проекта
- наличие бабла на тестирование
- наличие времени на написание тестов

Последние два пункта при наличии нормального клиента не являются проблемой.
На работе также используем Selenium-тесты (frontend).



Спустя 3 минуты, 40 секунд (14.02.2011 - 22:10) Basili4 написал(а):
ИМХО юнит тестирование штука нужная и очень печально что на это как и на проектирование не уделяют времени.

Спустя 1 час, 7 минут, 1 секунда (14.02.2011 - 23:17) Revan написал(а):
Цитата
зато ты первым своим "сообщением-вопросом" сразу дал понять, что тебя устроит только ответ "забей, это надо только глупым начальникам".

и ответ первым сообщением был дан в тему - если не нравится идея, то так и скажи начальству. Если считаешь, что идея так себе, то потрудись и докажи это начальству, и быть может тогда добьешься своего, или тебя переубедят.

ЗЫ: несмотря на то, что ты скорее всего проигнорируешь любой совет не "выеживаться", а заняться юнит-тестированием, я все же скажу свое мнение, если ты действительно хочешь его слышать - уметь писать юнит тесты полезно. Довольно редко можно встретить контору подходящую к разработке через тестирование (TDD - test-driven development). На деле же, если вы на работе в основном пишете сайты, то юнит-тестирование, на мой взгляд, будет излишней тратой времени, оно скорее имеет смысл в случае с большой разработкой.

ЗЗЫ: юнит-тестирование имеет плюсы в том, что не требует нахождения некоторых багов тестерами или пользователям, а позволяет их выявить еще на этапе сборки. тем не менее, все баги оно выявить не может, так что от тестеров избавиться полностью тоже не удастся.


Вообще-то меня любые здравые ответы устраивают, я не из тех кому плевать на чужое мнение, я высказал своё, и ожидал получить ваше. Я честно говоря не понимаю к чему эта агрессия, неужели я тебя спровоцировал? что касается "ответа не в тему", то я имел ввиду вопрос о возрасте, а не ответ о начальстве. Что касается твоего мнения - я его учту.

Просто на само написание этих тестов уходит очень много времени, мне кажется что это не стоит того... лично я все проверяю в динамике, если работает - отлично, если нет - переделываю.

Спустя 1 минута, 58 секунд (14.02.2011 - 23:19) waldicom написал(а):
Цитата (Revan @ 14.02.2011 - 21:17)
лично я все проверяю в динамике, если работает - отлично, если нет - переделываю.

В коде никогда ничего не меняешь? А если меняешь, то потом тестируешь? А если тестируешь, то все классы?
Прелесть unit-тестирования как раз и состоит в том, что такие тесты выполняются автоматически

Спустя 26 минут, 54 секунды (14.02.2011 - 23:46) jetistyum написал(а):
1. Никто никого не обязывает отвечать в тему или не в тему поста, это личное дело каждого.
2. Никто не называл тебя глупее, или меня умнее, ты зря все принял в таком виде. К тому же я сказал что тоже не использую его.

3. "А зачем" - ну наверное за тем же, зачем изучать программирование, за тем же зачем изучать новый фреймворк, новую технологию. Ну и чтобы ты снова не сказал что я не ответил прямо на вопрос - Раз этим пользуются многие не глупые программисты, наверное что-то в этом есть. Опять же если над проектом работают несколько людей, сложно отследить проблему в чужом участке кода. Опять же дебажить каждый раз не всегда удобно, запустив юнит тест можно посмотреть что в каком модуле провалилось. Оптимизация тестирования есть оптимизация производительности.
Что касается твоего вопроса, думаю ты так же относишься и к начальству, что они просто хотят показать что они умнее, а ты уверен в обратном. smile.gif

Спустя 9 минут, 58 секунд (14.02.2011 - 23:56) Revan написал(а):
Цитата
В коде никогда ничего не меняешь? А если меняешь, то потом тестируешь? А если тестируешь, то все классы?
Прелесть unit-тестирования как раз и состоит в том, что такие тесты выполняются автоматически


Меняю конечно. Поменял - протестировал в работе, увидел что результат правильный - прекрасно. А зачем тестировать все классы? Я тестирую только те классы, которые я менял. Мне так удобнее, да и экономия времени.

Цитата

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


А я и не говорил что ты называл себя умнее меня, контекст твоего сообщения подсказал это. Что касается умнее-глупее, то я себя никогда не считал умнее кого-либо, но это не исключает наличие своего мнения.

Спустя 9 часов, 32 минуты, 46 секунд (15.02.2011 - 09:28) glock18 написал(а):
Цитата (Revan @ 14.02.2011 - 20:56)
Меняю конечно. Поменял - протестировал в работе, увидел что результат правильный - прекрасно. А зачем тестировать все классы? Я тестирую только те классы, которые я менял. Мне так удобнее, да и экономия времени.


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


_____________
FC Barcelona - она всегда будет в моем сердце!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.