IPB
Конференции: Ближайшие курсы и тренинги:

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V   1 2 3 > »   
Добавить ответ в эту темуОткрыть тему
> должен ли программист тестировать?, обсуждение на тему
innovator
сообщение 15.1.2009, 18:44
Сообщение #1


Новый участник
*

Группа: Members
Сообщений: 53
Регистрация: 2.9.2005
Пользователь №: 1 915



здравствуйте, коллеги!
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как?

начальник настаивает, чтобы хотя бы часть тестов по тест кейсам проходилось разработчиками. он считает это критерием завершенности работы

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

хотелось бы узнать Ваше мнение, как это организовано на Вашей работе. литература дает разные мнения.
заранее благодарен за советы.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
dlg99
сообщение 15.1.2009, 19:48
Сообщение #2


Специалист
*****

Группа: Members
Сообщений: 603
Регистрация: 25.8.2004
Из: Redmond, WA
Пользователь №: 575



Цитата(innovator @ 15.1.2009, 11:44) *
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как?


у нас все просто - он не должен, он обязан тестировать.
юнит тесты + по базовым юзкейзам пробежаться.

Как иначе девелопер узнает о том, что вместо полезной фичи он просто все разломал? через более длинную итерацию с тест-командой?

Цитата
- нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации


просто не уловил мысли

Цитата
- разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс


как он програмировать-то научился?

Цитата
- дублирование работы негативно скажется на ресурсе времени


во всем нужна умеренность, а то, как известно, и лоб расшибить можно

Цитата
- не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа


аргументация молодых лентяев.
__как__ он узнает, что хоть-что-то полезное сделал? зачем ему итерации по 1 дню, если можно за 20 минут это самому понять?
Заодно, это стимулирует юнит тесты писать, тест-хуки добавлять.

Цитата
- время разработчика стоит дороже


аргумент на уровне предыдущего. Я не потрачу 30 мин на тест, но тест-команда потратит 3 раза по часу + час на troubleshooting, + все потратят полчаса на обсуждение и перетаскование бага из одного статуса в другой. такая вот экономия.
хороший девелопер заинтересован в конечном результате.
если не нравится тестировать руками - помогите автоматизировать, добавьте нужные интерфейсы.
Качество - ответственность команды.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
rlabs
сообщение 15.1.2009, 23:01
Сообщение #3


Специалист
*****

Группа: Members
Сообщений: 612
Регистрация: 5.2.2004
Из: Россия, Санкт-Петербург
Пользователь №: 295
Skype: callto://crazy.alchemist



Цитата(innovator @ 15.1.2009, 19:44) *
здравствуйте, коллеги!
возник такой вопрос при обсуждении разделения труда: должен ли программист тестировать и как?

Разумеется, не должен.
Хороший разработчик будет тестировать сам, а посредственный просто не сможет, как ни заставляй.

Цитата
начальник настаивает, чтобы хотя бы часть тестов по тест кейсам проходилось разработчиками. он считает это критерием завершенности работы

Существует известная практика - если у тестировщика есть хороший smoke тест, иногда полезно его отдать разработчику. Чтобы сократить время отклика на совсем уж плохую сборку. Но это действительно должен быть очень хороший, просто и короткий по времени тест, иначе никто его не будет выполнять.

Цитата
мое личное мнение такое: должен, но лишь неформально, без строгой тестовой документации, можно ограничится чек-листом. еще вариант - юнит тесты.

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

Цитата
- нельзя лишать продукт взгляда программиста, который будет ограничен рамками формальной тестовой документации

Нет таких программистов, которые вообще не смотрят на то, что у них получилось.

Цитата
- разработчик плохо справится даже с простой задачей для тестировщика пройти тест кейс

Нужно использовать сильные стороны. Разработчик может придумать, как сделать тестирование быстрее и проще. А с покрытием, вариациями и прочими деталями ему может помочь тестировщик. Симбиоз!

Цитата
- дублирование работы негативно скажется на ресурсе времени

Не надо дублировать работу. Тестировщик не найдет проблемы, которые обнаружит модульное тестирование. И наоборот.

Цитата
- не каждый разработчик захочет тратить больше времени на тесты, мотивируя тем, что это не его работа

Когда разработчик своей целью имеет получить работающий продукт, он сам уделяет время тестированию, потому что его работа - не программирование, а решение задачи.

Цитата
- время разработчика стоит дороже

В общем случае - урбанистическая легенда.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Clauster
сообщение 16.1.2009, 0:17
Сообщение #4


Гуру
******

Группа: Members
Сообщений: 1 569
Регистрация: 15.3.2005
Из: С-Пб
Пользователь №: 1 287



ощущение, что это провокация
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
SALar
сообщение 16.1.2009, 2:23
Сообщение #5


Гуру
******

Группа: Members
Сообщений: 1 001
Регистрация: 25.9.2003
Из: Москва
Пользователь №: 35



Коллеги. Ну, напишите что ли статью на эту тему. Паттерны применимости с ограничениями.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
barancev
сообщение 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
innovator
сообщение 16.1.2009, 10:37
Сообщение #7


Новый участник
*

Группа: Members
Сообщений: 53
Регистрация: 2.9.2005
Пользователь №: 1 915



забыл упомянуть, что модульное тестирование не используется и автоматизация пока не планируется (нет поставленного процесса ручного тестирования). я считаю, что любой тест кейс быстрее и лучше пройдет тестировщик, даже smoke test, как бы хорошо он не был написан.

Цитата
В общем случае - урбанистическая легенда.
к сожалению, не на просторах СНГ.

Цитата
просто не уловил мысли
у разработчика, тестировщика и бизнес аналитика несколько разные взгляды на продукт. мысль не моя, прочитал у Канера.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ShortLegged
сообщение 16.1.2009, 12:09
Сообщение #8


Новый участник
*

Группа: Members
Сообщений: 57
Регистрация: 11.7.2007
Из: Moscow
Пользователь №: 8 835



Цитата(innovator @ 16.1.2009, 11:37) *
забыл упомянуть, что модульное тестирование не используется и автоматизация пока не планируется (нет поставленного процесса ручного тестирования). я считаю, что любой тест кейс быстрее и лучше пройдет тестировщик, даже smoke test, как бы хорошо он не был написан.

Возможно, тест будет выполнен быстрее, но скорее всего feedback о состоянии продукта разработчик получит гораздо позже. Об этом уже писали.

Наверное проходить по всем тест-кейсам и не нужно, но если попробовать юнит-тесты и сontinuous integration в связке со smoke test, то это будет полезно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
greesha
сообщение 16.1.2009, 12:25
Сообщение #9


Опытный участник
****

Группа: Members
Сообщений: 316
Регистрация: 24.6.2007
Пользователь №: 8 735
Skype: gpechyonkin



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

Вот, например, одно такое мнение.

Цитата
Одно из правил, которое мне пришлось усвоить, гласит: маленькая компания не должна нанимать на работу программистов.

В данном случае под программистом я имею в виду человека, который не производит ничего, кроме программного кода продукта, и (если повезёт) исправляет в нём ошибки. Программисты не пишут спецификации и автоматизированные тесты. Они не помогают поддерживать автоматическую систему сборки продукта. Они не помогают клиентам. Они не помогают составлять документацию и тестировать продукт. Они даже не читают программный код, только пишут. В маленькой компании такие люди не нужны.

Вам нужны не программисты (те, кто только пишет код), а разработчики (те, кто готов выполнять любую работу на благо продукта).


Эрик Синк, "Бизнес для программистов. Как начать своё дело"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Clauster
сообщение 16.1.2009, 13:15
Сообщение #10


Гуру
******

Группа: Members
Сообщений: 1 569
Регистрация: 15.3.2005
Из: С-Пб
Пользователь №: 1 287



Цитата(barancev @ 16.1.2009, 7:57) *
Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.com/2009/01/15/programmist-vs-qc

А там вообще оголтелый расизм :) По большому счету я согласен с Виктором, у разработчиков есть юнит-тесты и TDD. Плюс ко всему передавать в тестирование надо что-то рабочее, проходить для этого по тест-кейсам, по-моему, нет никакого смысла.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Clauster
сообщение 16.1.2009, 13:21
Сообщение #11


Гуру
******

Группа: Members
Сообщений: 1 569
Регистрация: 15.3.2005
Из: С-Пб
Пользователь №: 1 287



Цитата(innovator @ 16.1.2009, 11:37) *
Цитата
В общем случае - урбанистическая легенда.
к сожалению, не на просторах СНГ.

Поясните, а чем просторы СНГ отличаются от других? Там квалификация тестеров выше или у них зарплата с разработчиками одинаковая?
Не судите по себе о всех остальных.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Boltick
сообщение 16.1.2009, 13:53
Сообщение #12


Опытный участник
****

Группа: Members
Сообщений: 496
Регистрация: 19.7.2005
Из: Нидерланды
Пользователь №: 1 725
Skype: aliaksei.bulat



Тестирование со стороны разработчиков не ограничивается только Юнит тестами. Есть также Integration & System тесты. Ну и вообще, как правило хорошего тона для разработчика должно быть не просто написание кода, проверка Unit, Integration и System тестов, но и ручной тест того, что они "наколбасили" перед выкатом, хотя бы на своей девелоперской платформе... Т.е. они, по-хорошему, должны провести свой Smoke тест до того как отдадут версию в тестирование.

Конечно, не все это делают... именно поэтому и появляются топики такого плана.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
JimR
сообщение 16.1.2009, 15:01
Сообщение #13


Опытный участник
****

Группа: Members
Сообщений: 251
Регистрация: 26.11.2003
Из: Москва
Пользователь №: 188
Skype: JimR__



Приведу простой пример, может слегка утрированный, но из реальной жизни.

Лет 7 где-то назад тестировал я изменения в продукте, которые затрагивали печатную форму типа квитанции или чего-то подобного, составленную в Cristall Report.

Так вот: там второе слово в одном из названий не помещалось в длину и обрезалось.

Я завёл багу. Через день пришло исправление.
Как думаете, как выглядело новое изменение?

Слова теперь писались в две строки и обрезались оба: одно сверху, второе снизу.

Кто мешал разработчику проверить как его результат выглядит после первого исправления? Никто. Времени это заняло бы меньше, чем мне написать данное сообщение.

Так что моё мнение - разработчик должен проверять что у него получилось. По крайней мере в простых случаях это нужно делать всегда.
Ну а если сложные потоки, то для этого и есть тестировщики, хотя модульную проверку всё-равно нужно выполнять.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vasiliy
сообщение 16.1.2009, 15:08
Сообщение #14


Специалист
*****

Группа: Members
Сообщений: 533
Регистрация: 13.11.2003
Из: Москва
Пользователь №: 164



Должен.
Либо прогонять автоматизированные тесты, либо потратить на это некоторое время, которое будет стоить меньше, чем организация итерации в отделе тестирования. На старой работе это было от пятнадцати минут до получаса.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
innovator
сообщение 16.1.2009, 15:31
Сообщение #15


Новый участник
*

Группа: Members
Сообщений: 53
Регистрация: 2.9.2005
Пользователь №: 1 915



Цитата(Clauster @ 16.1.2009, 14:21) *
Цитата(innovator @ 16.1.2009, 11:37) *
Цитата
В общем случае - урбанистическая легенда.
к сожалению, не на просторах СНГ.

Поясните, а чем просторы СНГ отличаются от других? Там квалификация тестеров выше или у них зарплата с разработчиками одинаковая?
Не судите по себе о всех остальных.

это слабо связано с предметом обсуждения
не сужу только по себе, сужу по личному опыту работы в различных компаниях и по опыту моих друзей и знакомых. зайдите на любой сайт с вакансиями и сравните.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
innovator
сообщение 16.1.2009, 15:37
Сообщение #16


Новый участник
*

Группа: Members
Сообщений: 53
Регистрация: 2.9.2005
Пользователь №: 1 915



с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет.
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
barancev
сообщение 16.1.2009, 15:50
Сообщение #17


News editor
******

Группа: Members
Сообщений: 2 549
Регистрация: 12.5.2004
Из: Россия, Москва
Пользователь №: 415
Skype: barancev



Коллеги, о чём вы спорите? Слишком абстрактная постановка задачи. Давайте так подойдём к вопросу. Есть определённый объём работ по программированию, который надо выполнить. Есть определённый объём работ по тестированию, который тоже надо выполнить. Откуда эти объёмы известны? Ну, либо вы хорошо умеете планировать и предсказывать, либо опыт предыдущих проектов. Есть определённая команда людей. Некоторые из них называют себя разработчиками или программистами, хорошо, пусть называют. Некоторые носят гордое имя тестировщиков, пусть носят. Все садятся и работают. И тут выясняется, что работ по тестированию больше, чем могут выполнить тестировщики, а программисты всё пишут и пишут новую функциональность. Вопрос -- не следует ли часть программистов отправить заниматься тестированием? Что, не хотят? Не царское это дело? Не вопрос, тогда увольняем этих лишних программистов и нанимаем вместо них тестировщиков, чтобы разгрести наконец завалы неоттестированного кода. И тогда программистам не надо будет заниматься тестированием, пусть идут подметать тротуары, например.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Boltick
сообщение 16.1.2009, 15:51
Сообщение #18


Опытный участник
****

Группа: Members
Сообщений: 496
Регистрация: 19.7.2005
Из: Нидерланды
Пользователь №: 1 725
Skype: aliaksei.bulat



Цитата(innovator @ 16.1.2009, 17:37) *
с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет.
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме?

ИМХО. Проверять он должен лишь плоды своего труда. А вот тест кейсы проходить это уже дело тестера.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Boltick
сообщение 16.1.2009, 15:55
Сообщение #19


Опытный участник
****

Группа: Members
Сообщений: 496
Регистрация: 19.7.2005
Из: Нидерланды
Пользователь №: 1 725
Skype: aliaksei.bulat



Цитата(barancev @ 16.1.2009, 17:50) *
Коллеги, о чём вы спорите? Слишком абстрактная постановка задачи. Давайте так подойдём к вопросу. Есть определённый объём работ по программированию, который надо выполнить. Есть определённый объём работ по тестированию, который тоже надо выполнить. Откуда эти объёмы известны? Ну, либо вы хорошо умеете планировать и предсказывать, либо опыт предыдущих проектов. Есть определённая команда людей. Некоторые из них называют себя разработчиками или программистами, хорошо, пусть называют. Некоторые носят гордое имя тестировщиков, пусть носят. Все садятся и работают. И тут выясняется, что работ по тестированию больше, чем могут выполнить тестировщики, а программисты всё пишут и пишут новую функциональность. Вопрос -- не следует ли часть программистов отправить заниматься тестированием? Что, не хотят? Не царское это дело? Не вопрос, тогда увольняем этих лишних программистов и нанимаем вместо них тестировщиков, чтобы разгрести наконец завалы неоттестированного кода. И тогда программистам не надо будет заниматься тестированием, пусть идут подметать тротуары, например.


Думаю, что так должен был выглядеть первоначальный пост :)

В случае, если программистов просят помочь тестерам, нет никаких возражений. Пусть проходят кейсы... Ясно, что это необходимость на проекте такая...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
SALar
сообщение 16.1.2009, 16:02
Сообщение #20


Гуру
******

Группа: Members
Сообщений: 1 001
Регистрация: 25.9.2003
Из: Москва
Пользователь №: 35



Цитата(barancev @ 16.1.2009, 7:57) *
Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.com/2009/01/15/programmist-vs-qc

Алексей! Ты читаешь статьи Виктора?! Может ты еще и рекомендовать их начнешь?!
Да,... Ну от тебя то я этого не ожидал ;-).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

4 страниц V   1 2 3 > » 
Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 13.3.2010, 0:36