должен ли программист тестировать?
#1
Отправлено 15 января 2009 - 16:44
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как?
начальник настаивает, чтобы хотя бы часть тестов по тест кейсам проходилось разработчиками. он считает это критерием завершенности работы
мое личное мнение такое: должен, но лишь неформально, без строгой тестовой документации, можно ограничится чек-листом. еще вариант - юнит тесты.
Аргументы:
- нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации
- разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс
- дублирование работы негативно скажется на ресурсе времени
- не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа
- время разработчика стоит дороже
хотелось бы узнать Ваше мнение, как это организовано на Вашей работе. литература дает разные мнения.
заранее благодарен за советы.
#2
Отправлено 15 января 2009 - 17:48
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как?
у нас все просто - он не должен, он обязан тестировать.
юнит тесты + по базовым юзкейзам пробежаться.
Как иначе девелопер узнает о том, что вместо полезной фичи он просто все разломал? через более длинную итерацию с тест-командой?
- нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации
просто не уловил мысли
- разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс
как он програмировать-то научился?
- дублирование работы негативно скажется на ресурсе времени
во всем нужна умеренность, а то, как известно, и лоб расшибить можно
- не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа
аргументация молодых лентяев.
__как__ он узнает, что хоть-что-то полезное сделал? зачем ему итерации по 1 дню, если можно за 20 минут это самому понять?
Заодно, это стимулирует юнит тесты писать, тест-хуки добавлять.
- время разработчика стоит дороже
аргумент на уровне предыдущего. Я не потрачу 30 мин на тест, но тест-команда потратит 3 раза по часу + час на troubleshooting, + все потратят полчаса на обсуждение и перетаскование бага из одного статуса в другой. такая вот экономия.
хороший девелопер заинтересован в конечном результате.
если не нравится тестировать руками - помогите автоматизировать, добавьте нужные интерфейсы.
Качество - ответственность команды.
#3
Отправлено 15 января 2009 - 21:01
Разумеется, не должен.здравствуйте, коллеги!
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как?
Хороший разработчик будет тестировать сам, а посредственный просто не сможет, как ни заставляй.
Существует известная практика - если у тестировщика есть хороший smoke тест, иногда полезно его отдать разработчику. Чтобы сократить время отклика на совсем уж плохую сборку. Но это действительно должен быть очень хороший, просто и короткий по времени тест, иначе никто его не будет выполнять.начальник настаивает, чтобы хотя бы часть тестов по тест кейсам проходилось разработчиками. он считает это критерием завершенности работы
Юнит-тестирование само по себе весьма оправдано, но его применение требует высокого уровня подготовки разработчика. Иначе пишутся плохие тесты, которые никакого качества не обеспечивают, но при этом забирают на себя много времени, принося уже конкретный вред.мое личное мнение такое: должен, но лишь неформально, без строгой тестовой документации, можно ограничится чек-листом. еще вариант - юнит тесты.
Нет таких программистов, которые вообще не смотрят на то, что у них получилось.- нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации
Нужно использовать сильные стороны. Разработчик может придумать, как сделать тестирование быстрее и проще. А с покрытием, вариациями и прочими деталями ему может помочь тестировщик. Симбиоз!- разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс
Не надо дублировать работу. Тестировщик не найдет проблемы, которые обнаружит модульное тестирование. И наоборот.- дублирование работы негативно скажется на ресурсе времени
Когда разработчик своей целью имеет получить работающий продукт, он сам уделяет время тестированию, потому что его работа - не программирование, а решение задачи.- не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа
В общем случае - урбанистическая легенда.- время разработчика стоит дороже
#5
Отправлено 16 января 2009 - 00:23
--
Сергей Мартыненко
Блог 255 ступеней (байки для оруженосца)
facebook (Дети диаграммы Ганта)
ВебПосиделки клуба имени Френсиса Бэкона
#6
Отправлено 16 января 2009 - 04:57
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#7
Отправлено 16 января 2009 - 08:37
к сожалению, не на просторах СНГ.В общем случае - урбанистическая легенда.
у разработчика, тестировщика и бизнес аналитика несколько разные взгляды на продукт. мысль не моя, прочитал у Канера.просто не уловил мысли
#8
Отправлено 16 января 2009 - 10:09
Возможно, тест будет выполнен быстрее, но скорее всего feedback о состоянии продукта разработчик получит гораздо позже. Об этом уже писали.забыл упомянуть, что модульное тестирование не используется и автоматизация пока не планируется (нет поставленного процесса ручного тестирования). я считаю, что любой тест кейс быстрее и лучше пройдет тестировщик, даже smoke test, как бы хорошо он не был написан.
Наверное проходить по всем тест-кейсам и не нужно, но если попробовать юнит-тесты и сontinuous integration в связке со smoke test, то это будет полезно.
#9
Отправлено 16 января 2009 - 10:25
Вот, например, одно такое мнение.
Одно из правил, которое мне пришлось усвоить, гласит: маленькая компания не должна нанимать на работу программистов.
В данном случае под программистом я имею в виду человека, который не производит ничего, кроме программного кода продукта, и (если повезёт) исправляет в нём ошибки. Программисты не пишут спецификации и автоматизированные тесты. Они не помогают поддерживать автоматическую систему сборки продукта. Они не помогают клиентам. Они не помогают составлять документацию и тестировать продукт. Они даже не читают программный код, только пишут. В маленькой компании такие люди не нужны.
Вам нужны не программисты (те, кто только пишет код), а разработчики (те, кто готов выполнять любую работу на благо продукта).
Эрик Синк, "Бизнес для программистов. Как начать своё дело"
#10
Отправлено 16 января 2009 - 11:15
А там вообще оголтелый расизм :) По большому счету я согласен с Виктором, у разработчиков есть юнит-тесты и TDD. Плюс ко всему передавать в тестирование надо что-то рабочее, проходить для этого по тест-кейсам, по-моему, нет никакого смысла.Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.c...ogrammist-vs-qc
#12
Отправлено 16 января 2009 - 11:53
Конечно, не все это делают... именно поэтому и появляются топики такого плана.
Про Тестинг
#13
Отправлено 16 января 2009 - 13:01
Лет 7 где-то назад тестировал я изменения в продукте, которые затрагивали печатную форму типа квитанции или чего-то подобного, составленную в Cristall Report.
Так вот: там второе слово в одном из названий не помещалось в длину и обрезалось.
Я завёл багу. Через день пришло исправление.
Как думаете, как выглядело новое изменение?
Слова теперь писались в две строки и обрезались оба: одно сверху, второе снизу.
Кто мешал разработчику проверить как его результат выглядит после первого исправления? Никто. Времени это заняло бы меньше, чем мне написать данное сообщение.
Так что моё мнение - разработчик должен проверять что у него получилось. По крайней мере в простых случаях это нужно делать всегда.
Ну а если сложные потоки, то для этого и есть тестировщики, хотя модульную проверку всё-равно нужно выполнять.
InfoTeCS
#14
Отправлено 16 января 2009 - 13:08
Либо прогонять автоматизированные тесты, либо потратить на это некоторое время, которое будет стоить меньше, чем организация итерации в отделе тестирования. На старой работе это было от пятнадцати минут до получаса.
#15
Отправлено 16 января 2009 - 13:31
это слабо связано с предметом обсужденияПоясните, а чем просторы СНГ отличаются от других? Там квалификация тестеров выше или у них зарплата с разработчиками одинаковая?к сожалению, не на просторах СНГ.В общем случае - урбанистическая легенда.
Не судите по себе о всех остальных.
не сужу только по себе, сужу по личному опыту работы в различных компаниях и по опыту моих друзей и знакомых. зайдите на любой сайт с вакансиями и сравните.
#16
Отправлено 16 января 2009 - 13:37
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме?
#17
Отправлено 16 января 2009 - 13:50
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#18
Отправлено 16 января 2009 - 13:51
ИМХО. Проверять он должен лишь плоды своего труда. А вот тест кейсы проходить это уже дело тестера.с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет.
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме?
Про Тестинг
#19
Отправлено 16 января 2009 - 13:55
Коллеги, о чём вы спорите? Слишком абстрактная постановка задачи. Давайте так подойдём к вопросу. Есть определённый объём работ по программированию, который надо выполнить. Есть определённый объём работ по тестированию, который тоже надо выполнить. Откуда эти объёмы известны? Ну, либо вы хорошо умеете планировать и предсказывать, либо опыт предыдущих проектов. Есть определённая команда людей. Некоторые из них называют себя разработчиками или программистами, хорошо, пусть называют. Некоторые носят гордое имя тестировщиков, пусть носят. Все садятся и работают. И тут выясняется, что работ по тестированию больше, чем могут выполнить тестировщики, а программисты всё пишут и пишут новую функциональность. Вопрос -- не следует ли часть программистов отправить заниматься тестированием? Что, не хотят? Не царское это дело? Не вопрос, тогда увольняем этих лишних программистов и нанимаем вместо них тестировщиков, чтобы разгрести наконец завалы неоттестированного кода. И тогда программистам не надо будет заниматься тестированием, пусть идут подметать тротуары, например.
Думаю, что так должен был выглядеть первоначальный пост :)
В случае, если программистов просят помочь тестерам, нет никаких возражений. Пусть проходят кейсы... Ясно, что это необходимость на проекте такая...
Про Тестинг
#20
Отправлено 16 января 2009 - 14:02
Алексей! Ты читаешь статьи Виктора?! Может ты еще и рекомендовать их начнешь?!Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.c...ogrammist-vs-qc
Да,... Ну от тебя то я этого не ожидал ;-).
--
Сергей Мартыненко
Блог 255 ступеней (байки для оруженосца)
facebook (Дети диаграммы Ганта)
ВебПосиделки клуба имени Френсиса Бэкона
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных