Форум тестировщиков: Software-Testing.Ru: должен ли программист тестировать? - Форум тестировщиков: Software-Testing.Ru

Перейти к содержимому

  • (4 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

должен ли программист тестировать? обсуждение на тему

#1 Пользователь офлайн   innovator 

  • Новый участник
  • Pip
  • Группа: Members
  • Сообщений: 73
  • Регистрация: 02 Сентябрь 2005

Отправлено 15 Январь 2009 - 19:44

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

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

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

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

#2 Пользователь офлайн   dlg99 

  • Специалист
  • PipPipPipPipPip
  • Группа: Members
  • Сообщений: 608
  • Регистрация: 25 Август 2004
  • Пол:Мужчина
  • Город:Redmond, WA

Отправлено 15 Январь 2009 - 20:48

Просмотр сообщенияinnovator (15.1.2009, 11:44) писал:

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


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

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

Цитата

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


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

Цитата

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


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

Цитата

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


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

Цитата

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


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

Цитата

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


аргумент на уровне предыдущего. Я не потрачу 30 мин на тест, но тест-команда потратит 3 раза по часу + час на troubleshooting, + все потратят полчаса на обсуждение и перетаскование бага из одного статуса в другой. такая вот экономия.
хороший девелопер заинтересован в конечном результате.
если не нравится тестировать руками - помогите автоматизировать, добавьте нужные интерфейсы.
Качество - ответственность команды.
Andrey Yegorov. Изображение

#3 Пользователь офлайн   rlabs 

  • Специалист
  • PipPipPipPipPip
  • Группа: Members
  • Сообщений: 622
  • Регистрация: 05 Февраль 2004
  • Пол:Мужчина
  • Город:Россия, Санкт-Петербург
  • Интересы:http://www.livejournal.com/community/ru_testing/
  • Skype:callto://crazy.alchemist

Отправлено 16 Январь 2009 - 00:01

Просмотр сообщенияinnovator (15.1.2009, 19:44) писал:

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

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

Цитата

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

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

Цитата

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

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

Цитата

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

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

Цитата

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

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

Цитата

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

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

Цитата

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

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

Цитата

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

В общем случае - урбанистическая легенда.
Алексей Никулин
Yota Lab

#4 Пользователь офлайн   Clauster 

  • Гуру
  • PipPipPipPipPipPip
  • Группа: Members
  • Сообщений: 1 669
  • Регистрация: 15 Март 2005
  • Пол:Мужчина
  • Город:С-Пб
  • Интересы:горный велосипед, сноуборд, кайтинг, байдарки, футбол, фотография, музыка, литература и т.д.

Отправлено 16 Январь 2009 - 01:17

ощущение, что это провокация

#5 Пользователь офлайн   SALar 

  • Гуру
  • PipPipPipPipPipPip
  • Группа: Members
  • Сообщений: 1 059
  • Регистрация: 25 Сентябрь 2003
  • Город:Москва

Отправлено 16 Январь 2009 - 03:23

Коллеги. Ну, напишите что ли статью на эту тему. Паттерны применимости с ограничениями.
Сергей Мартыненко

#6 Пользователь офлайн   barancev 

  • Администратор
  • PipPipPipPipPipPip
  • Группа: Admin
  • Сообщений: 2 715
  • Регистрация: 12 Май 2004
  • Пол:Мужчина
  • Город:Россия, Москва
  • Skype:barancev

Отправлено 16 Январь 2009 - 07:57

Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.c...ogrammist-vs-qc

#7 Пользователь офлайн   innovator 

  • Новый участник
  • Pip
  • Группа: Members
  • Сообщений: 73
  • Регистрация: 02 Сентябрь 2005

Отправлено 16 Январь 2009 - 11:37

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

Цитата

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

Цитата

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

#8 Пользователь офлайн   ShortLegged 

  • Новый участник
  • Pip
  • Группа: Members
  • Сообщений: 60
  • Регистрация: 11 Июль 2007
  • Пол:Мужчина
  • Город:Moscow
  • Интересы:Test Management, Agile, Perfomance Testing.

Отправлено 16 Январь 2009 - 13:09

Просмотр сообщенияinnovator (16.1.2009, 11:37) писал:

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

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

Наверное проходить по всем тест-кейсам и не нужно, но если попробовать юнит-тесты и сontinuous integration в связке со smoke test, то это будет полезно.

#9 Пользователь офлайн   greesha 

  • Опытный участник
  • PipPipPipPip
  • Группа: Members
  • Сообщений: 345
  • Регистрация: 24 Июнь 2007
  • Пол:Мужчина
  • Город:Мытищи
  • Skype:gpechyonkin

Отправлено 16 Январь 2009 - 13:25

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

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

Цитата

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

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

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


Эрик Синк, "Бизнес для программистов. Как начать своё дело"
Григорий Печёнкин
greesha.ru
жежешечка

#10 Пользователь офлайн   Clauster 

  • Гуру
  • PipPipPipPipPipPip
  • Группа: Members
  • Сообщений: 1 669
  • Регистрация: 15 Март 2005
  • Пол:Мужчина
  • Город:С-Пб
  • Интересы:горный велосипед, сноуборд, кайтинг, байдарки, футбол, фотография, музыка, литература и т.д.

Отправлено 16 Январь 2009 - 14:15

Просмотр сообщенияbarancev (16.1.2009, 7:57) писал:

Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.c...ogrammist-vs-qc

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

#11 Пользователь офлайн   Clauster 

  • Гуру
  • PipPipPipPipPipPip
  • Группа: Members
  • Сообщений: 1 669
  • Регистрация: 15 Март 2005
  • Пол:Мужчина
  • Город:С-Пб
  • Интересы:горный велосипед, сноуборд, кайтинг, байдарки, футбол, фотография, музыка, литература и т.д.

Отправлено 16 Январь 2009 - 14:21

Просмотр сообщенияinnovator (16.1.2009, 11:37) писал:

Цитата

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

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

#12 Пользователь офлайн   Boltick 

  • Специалист
  • PipPipPipPipPip
  • Группа: Members
  • Сообщений: 529
  • Регистрация: 19 Июль 2005
  • Пол:Мужчина
  • Город:Нидерланды
  • Интересы:командные виды спорта: футбол, баскетбол, counter-strike :)
  • Skype:aliaksei.bulat

Отправлено 16 Январь 2009 - 14:53

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

Конечно, не все это делают... именно поэтому и появляются топики такого плана.
Алексей Булат
Про Тестинг

#13 Пользователь офлайн   JimR 

  • Опытный участник
  • PipPipPipPip
  • Группа: Members
  • Сообщений: 252
  • Регистрация: 26 Ноябрь 2003
  • Пол:Мужчина
  • Город:Москва
  • Интересы:RPG, фантастика, музыка(довольно разных стилей)
  • Skype:JimR__

Отправлено 16 Январь 2009 - 16:01

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

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

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

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

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

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

Так что моё мнение - разработчик должен проверять что у него получилось. По крайней мере в простых случаях это нужно делать всегда.
Ну а если сложные потоки, то для этого и есть тестировщики, хотя модульную проверку всё-равно нужно выполнять.
Дмитрий Ручко
InfoTeCS

#14 Пользователь офлайн   Vasiliy 

  • Специалист
  • PipPipPipPipPip
  • Группа: Members
  • Сообщений: 566
  • Регистрация: 13 Ноябрь 2003
  • Пол:Мужчина
  • Город:Москва

Отправлено 16 Январь 2009 - 16:08

Должен.
Либо прогонять автоматизированные тесты, либо потратить на это некоторое время, которое будет стоить меньше, чем организация итерации в отделе тестирования. На старой работе это было от пятнадцати минут до получаса.
Vasiliy Kasimov

#15 Пользователь офлайн   innovator 

  • Новый участник
  • Pip
  • Группа: Members
  • Сообщений: 73
  • Регистрация: 02 Сентябрь 2005

Отправлено 16 Январь 2009 - 16:31

Просмотр сообщенияClauster (16.1.2009, 14:21) писал:

Просмотр сообщенияinnovator (16.1.2009, 11:37) писал:

Цитата

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

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

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

#16 Пользователь офлайн   innovator 

  • Новый участник
  • Pip
  • Группа: Members
  • Сообщений: 73
  • Регистрация: 02 Сентябрь 2005

Отправлено 16 Январь 2009 - 16:37

с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет.
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме?

#17 Пользователь офлайн   barancev 

  • Администратор
  • PipPipPipPipPipPip
  • Группа: Admin
  • Сообщений: 2 715
  • Регистрация: 12 Май 2004
  • Пол:Мужчина
  • Город:Россия, Москва
  • Skype:barancev

Отправлено 16 Январь 2009 - 16:50

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

#18 Пользователь офлайн   Boltick 

  • Специалист
  • PipPipPipPipPip
  • Группа: Members
  • Сообщений: 529
  • Регистрация: 19 Июль 2005
  • Пол:Мужчина
  • Город:Нидерланды
  • Интересы:командные виды спорта: футбол, баскетбол, counter-strike :)
  • Skype:aliaksei.bulat

Отправлено 16 Январь 2009 - 16:51

Просмотр сообщенияinnovator (16.1.2009, 17:37) писал:

с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет.
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме?

ИМХО. Проверять он должен лишь плоды своего труда. А вот тест кейсы проходить это уже дело тестера.
Алексей Булат
Про Тестинг

#19 Пользователь офлайн   Boltick 

  • Специалист
  • PipPipPipPipPip
  • Группа: Members
  • Сообщений: 529
  • Регистрация: 19 Июль 2005
  • Пол:Мужчина
  • Город:Нидерланды
  • Интересы:командные виды спорта: футбол, баскетбол, counter-strike :)
  • Skype:aliaksei.bulat

Отправлено 16 Январь 2009 - 16:55

Просмотр сообщенияbarancev (16.1.2009, 17:50) писал:

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


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

В случае, если программистов просят помочь тестерам, нет никаких возражений. Пусть проходят кейсы... Ясно, что это необходимость на проекте такая...
Алексей Булат
Про Тестинг

#20 Пользователь офлайн   SALar 

  • Гуру
  • PipPipPipPipPipPip
  • Группа: Members
  • Сообщений: 1 059
  • Регистрация: 25 Сентябрь 2003
  • Город:Москва

Отправлено 16 Январь 2009 - 17:02

Просмотр сообщенияbarancev (16.1.2009, 7:57) писал:

Провокация? Вот вам ещё, свеженькая заметка Виктора Ронина: http://victorronin.c...ogrammist-vs-qc

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

Поделиться темой:


  • (4 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей