Мне кажется, что если перед программистом поставить задачу что-то тестировать, то в конце концов он сам за автоматизирует этот тест :) Уж такой у них склад характера :)Я вас уверяю, программисты лучше согласятся один раз автоматизировать, чем каждый раз вручную проверять по чек-листу. Такой у них склад характера :)к сожалению, автотесты не планируются в ближайшем будущем1. Автоматизируйте процесс сборки (компиляция, выполнение юнит-тестов)
2. Автоматизируйте установку (если десктопные приложения) или деплоймент (если web-based)
3. Автоматизируйте 5-10 тестов, которые проверяют 5-10 основных сценариев, только основу, без отклонений.
Всё.
Я же не предлагаю всё автоматизировать -- только то, что вы собирались включить в чек-лист.
должен ли программист тестировать?
#41
Отправлено 19 января 2009 - 12:20
Про Тестинг
#42
Отправлено 19 января 2009 - 15:57
- пишутся требования
- пока программисты кодируют, тестировщики пишут кейсы по требованиям
- когда программисты заканчивают кодирование, проверяют свой код по кейсам которые написали тестировщики
- передача в тестирование
#43
Отправлено 19 января 2009 - 16:39
Алексей, обоснование есть! :)Во-первых это немного противоречит предыдущему посту про смоки-тесты (их тоже вполне могли написать тестировщики).С помощью тест-кейсов, которые написал тестировщик?с юнит тестами это понятно, что ими занят разработчик. про автотесты речи нет.
более конкретный вопрос: должен ли разработчик проводить ручное тестирование с использованием тест кейсов? если да, то в каком объеме?
Нет, нет, и еще раз - нет!
А во-вторых -- почему всё-таки нет? Есть обоснование? Или просто "нет и всё"? :)
Под тест-кейсами я понимала документ, написанный тестировщиком, по которому он и будет гонять свои тесты.
Я считаю, что каждый должен заниматься своим делом, но при этом болеть за общий положительный результат.
Несколькими постами ранее я говорила о том, что разработчики должны "убирать за собой" - то есть своими средствами проверять то, что они делают (например, те же юнит-тесты, короткий тест типа smoke). Отдавать каждый раз переломанный код - не есть уважение к коллегам по команде.
Что касается смок-тестов, то я бы их все же оставила в распоряжении тестеров (плохо представляю, что разработчик возьмет документ, и по нему будет тестировать).
И еще к разделению обязанностей: мы ведь не задаем вопрос "должен ли тестировщик исправлять баги, которые сделал разработчик (хоть некоторые )?"
Тогда почему разработчик должен тестировать вместо тестера/ совместно с ним?
#44
Отправлено 19 января 2009 - 17:03
В общем, приблизительно так и будет, с некоторыми вариациями:Ну если хочется формализма, то схема стандартная:
- пишутся требования
- пока программисты кодируют, тестировщики пишут кейсы по требованиям
- когда программисты заканчивают кодирование, проверяют свой код по кейсам которые написали тестировщики
- передача в тестирование
- пишутся требования, тестировщики пишут кейсы по требованиям
- программисты кодируют, но уже с наличием кейсов
- когда программисты заканчивают кодирование, проверяют свой код по кейсам которые написали тестировщики
- передача в тестирование, тестирование по кейсам, затем эксплорешен тесты
возможные риски были озвучены руководству перед принятием решения.
такой подход к разработке и тестированию будет использован мною впервые, в его высокой эффективности я все же сомневаюсь.
по крайней мере, будет возможность собрать аналитику о эффективности и экономической выгоде или невыгоде.
Всем большое спасибо за Ваши мнения по этому вопросу.
#45
Отправлено 19 января 2009 - 21:40
Не забывайте что эта схема плохо работает. Как минимум потому, что:В общем, приблизительно так и будет, с некоторыми вариациями:
- пишутся требования, тестировщики пишут кейсы по требованиям
- программисты кодируют, но уже с наличием кейсов
- когда программисты заканчивают кодирование, проверяют свой код по кейсам которые написали тестировщики
- передача в тестирование, тестирование по кейсам, затем эксплорешен тесты
возможные риски были озвучены руководству перед принятием решения.
такой подход к разработке и тестированию будет использован мною впервые, в его высокой эффективности я все же сомневаюсь.
по крайней мере, будет возможность собрать аналитику о эффективности и экономической выгоде или невыгоде.
Всем большое спасибо за Ваши мнения по этому вопросу.
- в природе не существует полного набора требований.
- требования часто меняются
- как правило реализация далека от задумки (здесь известная картинка с качелями на дереве)
- и т.д.
В итоге получится так, что будут писаться формальные кейсы, по которым разработчики будут формально пробегаться, а начальнику будет видно как классно используется драгоценное время разработчиков и чуть менее драгоценное тестировщиков.
Я только одного не понял, зачем вы создали эту тему если изначально все для себя решили.
#46
Отправлено 20 января 2009 - 06:05
Очень верное замечание. Почему мы действительно не задаём такой вопрос?И еще к разделению обязанностей: мы ведь не задаем вопрос "должен ли тестировщик исправлять баги, которые сделал разработчик (хоть некоторые )?"
Итак, коллеги, хочу задать вопрос: должен ли тестировщик исправлять баги, которые сделал разработчик, ну хотя бы некоторые?
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#47
Отправлено 20 января 2009 - 06:17
Итак, коллеги, хочу задать вопрос: должен ли тестировщик исправлять баги, которые сделал разработчик, ну хотя бы некоторые?
Тут тогда другой вопрос а если у него и доступа нет? Нет вижуалки и т.д.
Главное это точно описать ошибку, чтобы программисту помочь. Т.е. не абстрактно описать "падет при нажатии сюда", а написать падает скорее всего из-за того-то и того-то(числа ввожу дробные вместо целых или нажимаю специально такие-то клавиши). Надо описать причину ошибки( ну или примерную причину если сомневаешься).Т.е. таким образом тестировщик поможет программисту, как мне кажется это самое главное.
Исправление багов займет у тестировщика время и он не найдет других багов из-за этого лучше программный продукт не станет. Так мне кажется.
#48
Отправлено 20 января 2009 - 06:22
Ну, было бы дешевле :)Итак, коллеги, хочу задать вопрос: должен ли тестировщик исправлять баги, которые сделал разработчик, ну хотя бы некоторые?
А вообще, тестеровщик должен тестировать, разработчик разрабатывать.. если в процессе тестирования тестировщиком найден баг, который тестировщик может/знает как исправить, то он может об этом сообщить разработчику, но не исправлять сам. (Вообще в чужой холодильник лезть со своей диетой не стоит), в тоже время, разработчик вполне может взаимодействовать с тестеровщиком, к примеру, на тему написания тест планов. Как пример: Если разработчик считает, что в тест планах надо проверять моменты, которые являются особенностью архетиктуры, то он вполне может написать модель тест кейсов, которые неплохо было бы включить.(Это как один ИЗ примеров)..
К чему я собственно это, вообще между разработчиками и тестеровщиками должно быть взаимодействие(НО не выполнение работы друг друга.), т. к. это все-таки две разные профессии которые на данный момент неотъемлемы друг от друга если как результат нужен хороший софт.
#49
Отправлено 20 января 2009 - 06:58
Предположим, что технически такая возможность есть.Итак, коллеги, хочу задать вопрос: должен ли тестировщик исправлять баги, которые сделал разработчик, ну хотя бы некоторые?
Тут тогда другой вопрос а если у него и доступа нет? Нет вижуалки и т.д.
Вы совершенно точно уверены, что ЭТО главное? Если тестировщик сам исправит ошибку, он тем самым ещё больше поможет разработчику, разве нет?Главное это точно описать ошибку, чтобы программисту помочь. Т.е. не абстрактно описать "падет при нажатии сюда", а написать падает скорее всего из-за того-то и того-то(числа ввожу дробные вместо целых или нажимаю специально такие-то клавиши). Надо описать причину ошибки( ну или примерную причину если сомневаешься).Т.е. таким образом тестировщик поможет программисту, как мне кажется это самое главное.
Это всё отмазки :)Исправление багов займет у тестировщика время и он не найдет других багов из-за этого лучше программный продукт не станет. Так мне кажется.
Потому что верно и обратное -- за то время, когда разработчик будет исправлять дефект, он мог бы реализовать какую-нибудь новую полезную фичу, или исправить другой, более серьёзный дефект. Чего это мы экономим время тестировщика за счёт времени разработчика?
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#50
Отправлено 20 января 2009 - 07:11
Итак, коллеги, хочу задать вопрос: должен ли тестировщик исправлять баги, которые сделал разработчик, ну хотя бы некоторые?
"должен" - я даже говорить боюсь. у некоторых он и думать логически не должен.
если может и хочет, и организация процесса позволяет - то почему бы и нет.
примеры могут быть простыми
1. white box testing или code review, нашел багу, посоветовал фикс. В случае code review вообще иногда сложно найти проблему и не посоветовать фикс.
2. нашел проблему в запущеном приложении, полез в дебагер посмотреть в чем дело, разобрался, фикснул (чтоб девелопера не ждать), проверил дальше, отправил фикс девелоперу на review.
2.1. непонятно поведение приложения, баг не всегда воспроизводится. полез - добавил логгинг, оттестировал, локализовал проблему с помощью логов. Девелоперу уходит баг + набор изменений для логгинга на review.
цель, как и с "тестирующим девелопером", - ускорение процесса/уменьшение количества итераций.
например, для 2.1 можно было за девелопером бегать и выклянчивать логгинг, обьяснять что и где делать. а можно было просто сделать.
дальше, как я понимаю, можно просто составить список "должностей" (ПМ, VP, тестировщик, девелопер, сисадмин, ...) и "видов деятельности" (тестировать, разрабатывать, думать, ...). Потом получить все сочетания и разобраться с вопросом раз и навсегда ;^)
#51
Отправлено 20 января 2009 - 07:29
Точно. Каждый должен заниматься делом, которое у него лучше получается. Ведь, чтобы "грамотно" исправить ошибку, надо знать все тонкости, фичи программной реализации. Вероятность того, что исправив код в одном месте, из-за этого не сломается что-то в другом у тестировщика ниже чем у программиста. А кто это знает лучше чем сам автор кода (он же программист) ? - никто.Вы совершенно точно уверены, что ЭТО главное? Если тестировщик сам исправит ошибку, он тем самым ещё больше поможет разработчику, разве нет?
Все же главное для программиста, чтоб тестировщик как можно более подробно описал причину ошибки или максимально подробно способ ее воспроизведения.
#52
Отправлено 20 января 2009 - 07:45
Это очень идеализированное представление о программистах :)Точно. Каждый должен заниматься делом, которое у него лучше получается. Ведь, чтобы "грамотно" исправить ошибку, надо знать все тонкости, фичи программной реализации. Вероятность того, что исправив код в одном месте, из-за этого не сломается что-то в другом у тестировщика ниже чем у программиста. А кто это знает лучше чем сам автор кода (он же программист) ? - никто.Вы совершенно точно уверены, что ЭТО главное? Если тестировщик сам исправит ошибку, он тем самым ещё больше поможет разработчику, разве нет?
Ладно, если это совсем свежая ошибка, я с Вами соглашусь, действительно разработчик ещё по горячим следам всё помнит.
А вы пробовали читать свой код, написанный несколько месяцев или хуже того пару лет тому назад? Да вы его просто не узнаете :)
А бывает ещё ситуация, когда разработчик, который писал какой-то фрагмент кода уже уволился или работает в другом проекте и недоступен для исправления дефекта. И тогда все в равном положении, всем этот код чужой.
Ну хорошо, пусть для программиста это главное, хотя и это спорный вопрос.Все же главное для программиста, чтоб тестировщик как можно более подробно описал причину ошибки или максимально подробно способ ее воспроизведения.
А для менеджера? Если помощь в исправлении дефектов со стороны тестировщиков поможет ускорить выпуск продукта, он это оценит по достоинству и даст премии всем :)
А для заказчика? Да ему пофиг вообще, кто из вас исправил этот дефект! Он про него вообще никогда не узнает.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#53
Отправлено 20 января 2009 - 08:58
изначально не было это решено, и вопрос был не риторическимЯ только одного не понял, зачем вы создали эту тему если изначально все для себя решили.
#54
Отправлено 20 января 2009 - 09:01
Очень верное замечание. Почему мы действительно не задаём такой вопрос?И еще к разделению обязанностей: мы ведь не задаем вопрос "должен ли тестировщик исправлять баги, которые сделал разработчик (хоть некоторые )?"
Итак, коллеги, хочу задать вопрос: должен ли тестировщик исправлять баги, которые сделал разработчик, ну хотя бы некоторые?
Мы говорим о ролях или о людях?
Встречный вопрос: должен ли менеджер проекта выполнять тест-кейсы?
И должен ли он исправлять найденные баги (хотя бы некоторые), если у него есть такая возможность?
#55
Отправлено 20 января 2009 - 09:04
Вот. Тоже очень хороший вопрос. Я чувствую, мы двигаемся в правильном направлении в наших рассуждениях :)Мы говорим о ролях или о людях?
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#56
Отправлено 20 января 2009 - 09:40
Это старообрядческий подход. Типа "не лезь не в свое дело" с одной стороны и "это не моя работа" с другой стороны. Я бы ещё наверное назвал его совковым. Хотя даже в том же совке придумали понятие коллектива. Если все в команде так будут думать, стоящих результатов им никогда не добиться.Точно. Каждый должен заниматься делом, которое у него лучше получается. Ведь, чтобы "грамотно" исправить ошибку, надо знать все тонкости, фичи программной реализации. Вероятность того, что исправив код в одном месте, из-за этого не сломается что-то в другом у тестировщика ниже чем у программиста. А кто это знает лучше чем сам автор кода (он же программист) ? - никто.
Все же главное для программиста, чтоб тестировщик как можно более подробно описал причину ошибки или максимально подробно способ ее воспроизведения.
Резюмируя процитирую Канера: beware of the not-my-job theory in testing. Это высказывание также справедливо и для разработки, менеджмента и пр.
#57
Отправлено 20 января 2009 - 10:39
#58
Отправлено 20 января 2009 - 10:41
Это старообрядческий подход. Типа "не лезь не в свое дело" с одной стороны и "это не моя работа" с другой стороны. Я бы ещё наверное назвал его совковым. Хотя даже в том же совке придумали понятие коллектива. Если все в команде так будут думать, стоящих результатов им никогда не добиться.Точно. Каждый должен заниматься делом, которое у него лучше получается. Ведь, чтобы "грамотно" исправить ошибку, надо знать все тонкости, фичи программной реализации. Вероятность того, что исправив код в одном месте, из-за этого не сломается что-то в другом у тестировщика ниже чем у программиста. А кто это знает лучше чем сам автор кода (он же программист) ? - никто.
Все же главное для программиста, чтоб тестировщик как можно более подробно описал причину ошибки или максимально подробно способ ее воспроизведения.
Резюмируя процитирую Канера: beware of the not-my-job theory in testing. Это высказывание также справедливо и для разработки, менеджмента и пр.
Вы, наверное, неправильно поняли. Я не считаю и не писал, что "это не моя работа". Я лишь считаю, что не все тестировщики обладают необходимой квалификацией для исправления кода. Программисты сделают это быстрее и качественнее, даже если ошибка проста и очевидна на первый взгляд, и можно исправить код самому. А бросаться на те ошибки которые "я могу исправить", а те, которые "не могу" и оставлю ее программистам - не стоит. Если бы все было так просто, то зачем тогда отдельно отдел тестирования? Хватит и программистов: один пишет код; другой делает ревью и исправляет найденные ошибки! Мой подход в другом - у кого хватает опыта и квалификации тот и должен заниматься этим. К тому же изначально было условие "если программист занят, а у тестировщика есть свободное время". Я, из личного опыта, такого еще ни разу не видел. А вы? Даже если время тестировщика стоит меньше чем программиста это не повод чтоб данным тип работ передавать тестировщику, это может потом вылиться в сумму "более ощютимую" чем стоимость часов работы программиста.
#59
Отправлено 20 января 2009 - 10:56
Пробовал, даже приходилось что-то изменять в "старых каракулях":) Поэтому и стараюсь писать код, чтоб он был понятен не только мне одному. (максимум комеентариев что? и зачем?).Это очень идеализированное представление о программистах :)
Ладно, если это совсем свежая ошибка, я с Вами соглашусь, действительно разработчик ещё по горячим следам всё помнит.
А вы пробовали читать свой код, написанный несколько месяцев или хуже того пару лет тому назад? Да вы его просто не узнаете :)
А бывает ещё ситуация, когда разработчик, который писал какой-то фрагмент кода уже уволился или работает в другом проекте и недоступен для исправления дефекта. И тогда все в равном положении, всем этот код чужой.
"А бывает ещё ситуация, когда разработчик, который писал какой-то фрагмент кода уже уволился"
А бывает еще много других ситуаций:) Единый подход ко всем сложно найти. Я лишь написал, то как считаю из личного опыта/проектов. Двух совершенно одинаковых проектов не бывает, приходится со временем, что-то изменять под конкретный проект, но это уже лирика...:)
Ответ на этот вопрос написал в предыдущем комментарии аппоненту. Время выпуска не самая главная характеристика. На мой взгляд, и менеджеру и заказчику важнее все же "качество". Если есть тестировщик, который обладает необходимой квалификацией и свободным временем (я к сожалению этого не наблюдал), то и он сможет решить данную задачу ... и я с этим не спорюНу хорошо, пусть для программиста это главное, хотя и это спорный вопрос.
А для менеджера? Если помощь в исправлении дефектов со стороны тестировщиков поможет ускорить выпуск продукта, он это оценит по достоинству и даст премии всем :)
А для заказчика? Да ему пофиг вообще, кто из вас исправил этот дефект! Он про него вообще никогда не узнает.
#60
Отправлено 20 января 2009 - 10:56
Не было такого условия изначально, это я придумал, когда пытался уточнить исходный вопрос. Неправильно придумал, автор не предполагал такого расклада, скорее наоборот, поскольку предлагалось дать разработчикам некоторые задачи по тестированию.К тому же изначально было условие "если программист занят, а у тестировщика есть свободное время".
Я видел такое много раз -- тестировщики ждут, а релиз на тестирование всё не выкатывают и не выкатывают. Неужели правда у вас такого не бывало?"если программист занят, а у тестировщика есть свободное время". Я, из личного опыта, такого еще ни разу не видел. А вы?
Иногда может вылиться, а иногда можно и неплохо сэкономить. Почему сразу нужно отвергать этот вариант? Из-за того, что есть риски? Ну так и работайте с рисками, что просто так-то бояться.Даже если время тестировщика стоит меньше чем программиста это не повод чтоб данным тип работ передавать тестировщику, это может потом вылиться в сумму "более ощютимую" чем стоимость часов работы программиста.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных