Конференции:
|
Ближайшие курсы и тренинги:
|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
15.1.2009, 18:44
Сообщение
#1
|
|
|
Новый участник ![]() Группа: Members Сообщений: 53 Регистрация: 2.9.2005 Пользователь №: 1 915 |
здравствуйте, коллеги!
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как? начальник настаивает, чтобы хотя бы часть тестов по тест кейсам проходилось разработчиками. он считает это критерием завершенности работы мое личное мнение такое: должен, но лишь неформально, без строгой тестовой документации, можно ограничится чек-листом. еще вариант - юнит тесты. Аргументы: - нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации - разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс - дублирование работы негативно скажется на ресурсе времени - не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа - время разработчика стоит дороже хотелось бы узнать Ваше мнение, как это организовано на Вашей работе. литература дает разные мнения. заранее благодарен за советы. |
|
|
|
15.1.2009, 19:48
Сообщение
#2
|
|
|
Специалист ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 603 Регистрация: 25.8.2004 Из: Redmond, WA Пользователь №: 575 |
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как? у нас все просто - он не должен, он обязан тестировать. юнит тесты + по базовым юзкейзам пробежаться. Как иначе девелопер узнает о том, что вместо полезной фичи он просто все разломал? через более длинную итерацию с тест-командой? Цитата - нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации просто не уловил мысли Цитата - разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс как он програмировать-то научился? Цитата - дублирование работы негативно скажется на ресурсе времени во всем нужна умеренность, а то, как известно, и лоб расшибить можно Цитата - не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа аргументация молодых лентяев. __как__ он узнает, что хоть-что-то полезное сделал? зачем ему итерации по 1 дню, если можно за 20 минут это самому понять? Заодно, это стимулирует юнит тесты писать, тест-хуки добавлять. Цитата - время разработчика стоит дороже аргумент на уровне предыдущего. Я не потрачу 30 мин на тест, но тест-команда потратит 3 раза по часу + час на troubleshooting, + все потратят полчаса на обсуждение и перетаскование бага из одного статуса в другой. такая вот экономия. хороший девелопер заинтересован в конечном результате. если не нравится тестировать руками - помогите автоматизировать, добавьте нужные интерфейсы. Качество - ответственность команды. |
|
|
|
15.1.2009, 23:01
Сообщение
#3
|
|
|
Специалист ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 612 Регистрация: 5.2.2004 Из: Россия, Санкт-Петербург Пользователь №: 295 Skype: callto://crazy.alchemist |
здравствуйте, коллеги! возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как? Разумеется, не должен. Хороший разработчик будет тестировать сам, а посредственный просто не сможет, как ни заставляй. Цитата начальник настаивает, чтобы хотя бы часть тестов по тест кейсам проходилось разработчиками. он считает это критерием завершенности работы Существует известная практика - если у тестировщика есть хороший smoke тест, иногда полезно его отдать разработчику. Чтобы сократить время отклика на совсем уж плохую сборку. Но это действительно должен быть очень хороший, просто и короткий по времени тест, иначе никто его не будет выполнять. Цитата мое личное мнение такое: должен, но лишь неформально, без строгой тестовой документации, можно ограничится чек-листом. еще вариант - юнит тесты. Юнит-тестирование само по себе весьма оправдано, но его применение требует высокого уровня подготовки разработчика. Иначе пишутся плохие тесты, которые никакого качества не обеспечивают, но при этом забирают на себя много времени, принося уже конкретный вред. Цитата - нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации Нет таких программистов, которые вообще не смотрят на то, что у них получилось. Цитата - разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс Нужно использовать сильные стороны. Разработчик может придумать, как сделать тестирование быстрее и проще. А с покрытием, вариациями и прочими деталями ему может помочь тестировщик. Симбиоз! Цитата - дублирование работы негативно скажется на ресурсе времени Не надо дублировать работу. Тестировщик не найдет проблемы, которые обнаружит модульное тестирование. И наоборот. Цитата - не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа Когда разработчик своей целью имеет получить работающий продукт, он сам уделяет время тестированию, потому что его работа - не программирование, а решение задачи. Цитата - время разработчика стоит дороже В общем случае - урбанистическая легенда. |
|
|
|
16.1.2009, 0:17
Сообщение
#4
|
|
|
Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 1 569 Регистрация: 15.3.2005 Из: С-Пб Пользователь №: 1 287 |
ощущение, что это провокация
|
|
|
|
16.1.2009, 2:23
Сообщение
#5
|
|
|
Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 1 001 Регистрация: 25.9.2003 Из: Москва Пользователь №: 35 |
Коллеги. Ну, напишите что ли статью на эту тему. Паттерны применимости с ограничениями.
|
|
|
|
16.1.2009, 6:57
Сообщение
#6
|
|
|
News editor ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 2 549 Регистрация: 12.5.2004 Из: Россия, Москва Пользователь №: 415 Skype: barancev |
Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.com/2009/01/15/programmist-vs-qc
|
|
|
|
16.1.2009, 10:37
Сообщение
#7
|
|
|
Новый участник ![]() Группа: Members Сообщений: 53 Регистрация: 2.9.2005 Пользователь №: 1 915 |
забыл упомянуть, что модульное тестирование не используется и автоматизация пока не планируется (нет поставленного процесса ручного тестирования). я считаю, что любой тест кейс быстрее и лучше пройдет тестировщик, даже smoke test, как бы хорошо он не был написан.
Цитата В общем случае - урбанистическая легенда. к сожалению, не на просторах СНГ.Цитата просто не уловил мысли у разработчика, тестировщика и бизнес аналитика несколько разные взгляды на продукт. мысль не моя, прочитал у Канера.
|
|
|
|
16.1.2009, 12:09
Сообщение
#8
|
|
|
Новый участник ![]() Группа: Members Сообщений: 57 Регистрация: 11.7.2007 Из: Moscow Пользователь №: 8 835 |
забыл упомянуть, что модульное тестирование не используется и автоматизация пока не планируется (нет поставленного процесса ручного тестирования). я считаю, что любой тест кейс быстрее и лучше пройдет тестировщик, даже smoke test, как бы хорошо он не был написан. Возможно, тест будет выполнен быстрее, но скорее всего feedback о состоянии продукта разработчик получит гораздо позже. Об этом уже писали. Наверное проходить по всем тест-кейсам и не нужно, но если попробовать юнит-тесты и сontinuous integration в связке со smoke test, то это будет полезно. |
|
|
|
16.1.2009, 12:25
Сообщение
#9
|
|
|
Опытный участник ![]() ![]() ![]() ![]() Группа: Members Сообщений: 316 Регистрация: 24.6.2007 Пользователь №: 8 735 Skype: gpechyonkin |
Я считаю, что программисты должны, как минимум, уметь это делать. И выполнение отдельных тестов программистами не повредит, хотя бы для улучшения взаимопонимания в команде. А вот обязаны они выполнять тесты или нет - это сильно зависит от конкретных условий проекта. Поэтому литература и даёт разные мнения.
Вот, например, одно такое мнение. Цитата Одно из правил, которое мне пришлось усвоить, гласит: маленькая компания не должна нанимать на работу программистов. В данном случае под программистом я имею в виду человека, который не производит ничего, кроме программного кода продукта, и (если повезёт) исправляет в нём ошибки. Программисты не пишут спецификации и автоматизированные тесты. Они не помогают поддерживать автоматическую систему сборки продукта. Они не помогают клиентам. Они не помогают составлять документацию и тестировать продукт. Они даже не читают программный код, только пишут. В маленькой компании такие люди не нужны. Вам нужны не программисты (те, кто только пишет код), а разработчики (те, кто готов выполнять любую работу на благо продукта). Эрик Синк, "Бизнес для программистов. Как начать своё дело" |
|
|
|
16.1.2009, 13:15
Сообщение
#10
|
|
|
Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 1 569 Регистрация: 15.3.2005 Из: С-Пб Пользователь №: 1 287 |
Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.com/2009/01/15/programmist-vs-qc А там вообще оголтелый расизм :) По большому счету я согласен с Виктором, у разработчиков есть юнит-тесты и TDD. Плюс ко всему передавать в тестирование надо что-то рабочее, проходить для этого по тест-кейсам, по-моему, нет никакого смысла. |
|
|
|
16.1.2009, 13:21
Сообщение
#11
|
|
|
Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 1 569 Регистрация: 15.3.2005 Из: С-Пб Пользователь №: 1 287 |
|
|
|
|
16.1.2009, 13:53
Сообщение
#12
|
|
|
Опытный участник ![]() ![]() ![]() ![]() Группа: Members Сообщений: 496 Регистрация: 19.7.2005 Из: Нидерланды Пользователь №: 1 725 Skype: aliaksei.bulat |
Тестирование со стороны разработчиков не ограничивается только Юнит тестами. Есть также Integration & System тесты. Ну и вообще, как правило хорошего тона для разработчика должно быть не просто написание кода, проверка Unit, Integration и System тестов, но и ручной тест того, что они "наколбасили" перед выкатом, хотя бы на своей девелоперской платформе... Т.е. они, по-хорошему, должны провести свой Smoke тест до того как отдадут версию в тестирование.
Конечно, не все это делают... именно поэтому и появляются топики такого плана. |
|
|
|
16.1.2009, 15:01
Сообщение
#13
|
|
|
Опытный участник ![]() ![]() ![]() ![]() Группа: Members Сообщений: 251 Регистрация: 26.11.2003 Из: Москва Пользователь №: 188 Skype: JimR__ |
Приведу простой пример, может слегка утрированный, но из реальной жизни.
Лет 7 где-то назад тестировал я изменения в продукте, которые затрагивали печатную форму типа квитанции или чего-то подобного, составленную в Cristall Report. Так вот: там второе слово в одном из названий не помещалось в длину и обрезалось. Я завёл багу. Через день пришло исправление. Как думаете, как выглядело новое изменение? Слова теперь писались в две строки и обрезались оба: одно сверху, второе снизу. Кто мешал разработчику проверить как его результат выглядит после первого исправления? Никто. Времени это заняло бы меньше, чем мне написать данное сообщение. Так что моё мнение - разработчик должен проверять что у него получилось. По крайней мере в простых случаях это нужно делать всегда. Ну а если сложные потоки, то для этого и есть тестировщики, хотя модульную проверку всё-равно нужно выполнять. |
|
|
|
16.1.2009, 15:08
Сообщение
#14
|
|
|
Специалист ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 533 Регистрация: 13.11.2003 Из: Москва Пользователь №: 164 |
Должен.
Либо прогонять автоматизированные тесты, либо потратить на это некоторое время, которое будет стоить меньше, чем организация итерации в отделе тестирования. На старой работе это было от пятнадцати минут до получаса. |
|
|
|
16.1.2009, 15:31
Сообщение
#15
|
|
|
Новый участник ![]() Группа: Members Сообщений: 53 Регистрация: 2.9.2005 Пользователь №: 1 915 |
Цитата В общем случае - урбанистическая легенда. к сожалению, не на просторах СНГ.Поясните, а чем просторы СНГ отличаются от других? Там квалификация тестеров выше или у них зарплата с разработчиками одинаковая? Не судите по себе о всех остальных. это слабо связано с предметом обсуждения не сужу только по себе, сужу по личному опыту работы в различных компаниях и по опыту моих друзей и знакомых. зайдите на любой сайт с вакансиями и сравните. |
|
|
|
16.1.2009, 15:37
Сообщение
#16
|
|
|
Новый участник ![]() Группа: Members Сообщений: 53 Регистрация: 2.9.2005 Пользователь №: 1 915 |
с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет.
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме? |
|
|
|
16.1.2009, 15:50
Сообщение
#17
|
|
|
News editor ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 2 549 Регистрация: 12.5.2004 Из: Россия, Москва Пользователь №: 415 Skype: barancev |
Коллеги, о чём вы спорите? Слишком абстрактная постановка задачи. Давайте так подойдём к вопросу. Есть определённый объём работ по программированию, который надо выполнить. Есть определённый объём работ по тестированию, который тоже надо выполнить. Откуда эти объёмы известны? Ну, либо вы хорошо умеете планировать и предсказывать, либо опыт предыдущих проектов. Есть определённая команда людей. Некоторые из них называют себя разработчиками или программистами, хорошо, пусть называют. Некоторые носят гордое имя тестировщиков, пусть носят. Все садятся и работают. И тут выясняется, что работ по тестированию больше, чем могут выполнить тестировщики, а программисты всё пишут и пишут новую функциональность. Вопрос -- не следует ли часть программистов отправить заниматься тестированием? Что, не хотят? Не царское это дело? Не вопрос, тогда увольняем этих лишних программистов и нанимаем вместо них тестировщиков, чтобы разгрести наконец завалы неоттестированного кода. И тогда программистам не надо будет заниматься тестированием, пусть идут подметать тротуары, например.
|
|
|
|
16.1.2009, 15:51
Сообщение
#18
|
|
|
Опытный участник ![]() ![]() ![]() ![]() Группа: Members Сообщений: 496 Регистрация: 19.7.2005 Из: Нидерланды Пользователь №: 1 725 Skype: aliaksei.bulat |
с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет. более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме? ИМХО. Проверять он должен лишь плоды своего труда. А вот тест кейсы проходить это уже дело тестера. |
|
|
|
16.1.2009, 15:55
Сообщение
#19
|
|
|
Опытный участник ![]() ![]() ![]() ![]() Группа: Members Сообщений: 496 Регистрация: 19.7.2005 Из: Нидерланды Пользователь №: 1 725 Skype: aliaksei.bulat |
Коллеги, о чём вы спорите? Слишком абстрактная постановка задачи. Давайте так подойдём к вопросу. Есть определённый объём работ по программированию, который надо выполнить. Есть определённый объём работ по тестированию, который тоже надо выполнить. Откуда эти объёмы известны? Ну, либо вы хорошо умеете планировать и предсказывать, либо опыт предыдущих проектов. Есть определённая команда людей. Некоторые из них называют себя разработчиками или программистами, хорошо, пусть называют. Некоторые носят гордое имя тестировщиков, пусть носят. Все садятся и работают. И тут выясняется, что работ по тестированию больше, чем могут выполнить тестировщики, а программисты всё пишут и пишут новую функциональность. Вопрос -- не следует ли часть программистов отправить заниматься тестированием? Что, не хотят? Не царское это дело? Не вопрос, тогда увольняем этих лишних программистов и нанимаем вместо них тестировщиков, чтобы разгрести наконец завалы неоттестированного кода. И тогда программистам не надо будет заниматься тестированием, пусть идут подметать тротуары, например. Думаю, что так должен был выглядеть первоначальный пост :) В случае, если программистов просят помочь тестерам, нет никаких возражений. Пусть проходят кейсы... Ясно, что это необходимость на проекте такая... |
|
|
|
16.1.2009, 16:02
Сообщение
#20
|
|
|
Гуру ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 1 001 Регистрация: 25.9.2003 Из: Москва Пользователь №: 35 |
Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.com/2009/01/15/programmist-vs-qc Алексей! Ты читаешь статьи Виктора?! Может ты еще и рекомендовать их начнешь?! Да,... Ну от тебя то я этого не ожидал ;-). |
|
|
|
![]() ![]() |
|
Текстовая версия | Сейчас: 13.3.2010, 0:36 |