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

Фотография

Кто такой тестировщик?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 80

#21 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 07 августа 2005 - 16:12

Я знал, что Алексей выскажется именно так, даже думал, что успеет это сделать раньше меня :help:

Тут такой вопрос, Алексей, а если я не хочу всю жизнь "Сишные" проекты тестировать? Это сужает мои возможности и стоимость меня как специалиста очень и очень. Зачем? Не лучше ли всё-таки сосредоточится на вниканиии в бизнес клиента, в логику и архитектуру создаваемого ПО, а для девелоперских задач использовать всё-таки ресурсы девелопмента? То есть я бы как раз сдвинул приоритет в функциональность тестировщика именно в плане типов проектов, а не в сторону владения конкретным языком или технологией.

Признаться вижу только один тип проектов, где знания языка разработки must: среда разработки для этого самого языка. Если я хочу тестировать среду для разработки скриптов, то ДА, знать сам скриптовый язык обязательно, но если у меня любой другой тип ПО и у меня нет задач аудита кода - я бы не стал утверждать что знания языка реализации даст "автоматическое" преимущество перед любым другим тестировщиком.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#22 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 08 августа 2005 - 08:03

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

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

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

А может быть, в самом деле, привлекать разработчиков для решения задач, требующих умения программировать?

Да, можно привлекать, но в результате что получается? Этот привлеченный умелец больше не разработчик, с этого момента он -- тестировщик, умеющий программировать! Ведь граница проходит не по навыкам и умениям, а по целям и задачам. Тот, кто делает тесты -- это тестировщик, даже если он в этой роли временно. Если же разработчик привлекается для того, чтобы просветить тестировщиков в некоторых деталях архитектуры и интерфейсов -- он выступает в роли консультанта.

Слава, ещё раз подчеркну, я постоянно говорю о РОЛЯХ. Человек не обязательно должен всё время находиться в одной роли. Я как то писал уже в другой теме, что у нас вообще нет постоянного разделения на разработчиков и тестировщиков, а есть общий пул, из которого в проект набираются люди на нужные в проекте роли. И человек в одном проекте может быть в роли разработчика, а в следующем оказаться в роли тестировщика.

Лично я всегда предпочту взять в проект на роль тестировщика человека, умеющего программировать (к счастью, у нас других и нет -- политика организации), потому что тогда я могу быть уверенным, что если разработка тестов потребует умения программировать (а это почти всегда случается), мне не нужно будет отвлекать разработчиков или привлекать кого-то дополнительно. Кроме того, человек, умеющий программировать, сразу начинает думать об автоматизации, даже пока тестирует вручную. Потому что -- паттерн мышления такой.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#23 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 08 августа 2005 - 14:31

Я постоянно держу в голове вашу специфику, Алексей.

По теме: я тоже о ролях говорю. Девелопер это не "клеймо" :wink: У меня сейчас в проекте есть именно девелопер, который выполняет роль тестера - отлично вписался в команду, я почувствовал такой баланс!

Задам такой вопрос - что существеннее для качества проекта (при этом не суть - аутсорсинговый он или любой другой): анализ требований и поиск несоответствия в логике или же функциональное несоотвествие кода требованиям? Например, по стоимости внесения изменений?

Что видится мне: если проект ведётся внутри компании целиком и не столь важно, аутсорсится оно или же нет - то я бы сдвигал приоритет в предметную область и использовал модель подключения ресурсов девелопмента. Тут, как по мне, от тестера требуется больше аналитических способностей, нежели знаний языка или технологии. Если же у вас аутсорсинговый проект именно по тестированию и задача №1 - верификация требований к функционалу, да - сдвиг в сторону задач автоматизации очевиден (если только не аутсорсится, дейтсивтельно, что-то редкое - юзабилити, etc).

А вот про паттерн мышления я подпишусь под каждым словом. Я с этой стороны не заглядывал, признаюсь, как нечто само собой разумеющееся воспринималось. Тогда получается, что мы говорим не столько о знании языка программирования, сколько о знаниях и опыте в разработке как таковой. Тогда да - подпишусь, и добавлю знания по базам данных.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#24 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 08 августа 2005 - 14:57

У меня сейчас в проекте есть именно девелопер, который выполняет роль тестера - отлично вписался в команду, я почувствовал такой баланс!

Просмотр сообщения

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

Задам такой вопрос - что существеннее для качества проекта (при этом не суть - аутсорсинговый он или любой другой): анализ требований и поиск несоответствия в логике или же функциональное несоотвествие кода требованиям? Например, по стоимости внесения изменений?

Просмотр сообщения

Это вопрос не по теме, или по крайней мере уведет далеко в сторону. Но отвечу -- по стоимости изменений существеннее те деятельности, которые раньше в цикле разработки, поэтому они влияют на большее количество других. Конечно же, ошибки анализа и проектирования дороже обходятся. Ну вот пусть аналитики и въезжают в предметную область :crazy: (не забываем, аналитик -- роль, её вполне может играть тот же человек, что и роль тестера, а может и другой).

Что видится мне: если проект ведётся внутри компании целиком и не столь важно, аутсорсится оно или же нет - то я бы сдвигал приоритет в предметную область и использовал модель подключения ресурсов девелопмента. Тут, как по мне, от тестера требуется больше аналитических способностей, нежели знаний языка или технологии. Если же у вас аутсорсинговый проект именно по тестированию и задача №1 - верификация требований к функционалу, да - сдвиг в сторону задач автоматизации очевиден (если только не аутсорсится, дейтсивтельно, что-то редкое - юзабилити, etc).

Просмотр сообщения

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

Что касается автоматизации, я вообще никогда бы не рискнул давать такое задание человеку, не умеющему программировать. Ну, запишет он тестовые последовательности. А через два дня программисты поменяют название диалога или в визарде два шага местами переставят, или ещё что-то сделают -- и тесты работать перестанут. Тогда он должен пойти и поправить код, это не должно вызывать у человека проблем, ни технических, ни психологических. Иначе -- пусть тестирует вручную, это тоже кому-то нужно делать.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#25 PrincessSophia

PrincessSophia

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

  • Members
  • Pip
  • 33 сообщений

Отправлено 08 августа 2005 - 19:36

Хороший тестировщик это тот у которого система всегда не работает... Вернее он может сделать так, чтобы не работало... В рамках requirements и спеки конечно.
  • 0

#26 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 08 августа 2005 - 19:57

Видели бы вы Алексей, этого тестера :wink: Стас, если ты читаешь, привет тебе! Хлебом не корми дай чего-то "покопать", полазить по схеме БД - девелопер до мозга костей - его скорее интересует как починить, чем как проверить.

Слава, Вы к девелоперам относитесь как к подсобной рабочей силе, нужно попрограммировать -- а ну, давайте позовем кого-нибудь кто умеет. Но это отрывает их от основной работы, понимаете?


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

Программист -- это профессия, специальность, а девелопер и тестер -- это роли.

А тестер не специальность? Бр-р-р.

Я попробую расписать пошире что у нас в проекте делает девелопер в группе тестирования. Мы паралельно коду системы пишем свой фреймворк, который на компонентном уровне работает с нашей системой. Вот этот "тестер" пишет код фреймворка, пишет тесты, который процессит фрейворк. Фрейворк этот встроен в процесс билда и тесты прогоняются на каждой сборке. Вот кто он - тестер?
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#27 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 08 августа 2005 - 19:58

Хороший тестировщик это тот у которого система всегда не работает...

Тоже точка зрения, но я её не разделяю.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#28 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 августа 2005 - 06:33

Хороший тестировщик это тот у которого система всегда не работает...  Вернее он может сделать так, чтобы не работало...

Просмотр сообщения

А зачем?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#29 imetz

imetz

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Мец Илья Вадимович

Отправлено 09 августа 2005 - 06:57

А зачем?

Потому что именно за это ему деньги платят.
Тестирование должно показать ВСЕ дефекты системы, что бы пользователи работающие потом с готовой ситемой не получали ошибок и что бы она у них работала!

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

А система должна работать всегда ... что бы пользователь с ней ни делал.
  • 0

#30 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 августа 2005 - 07:17

А зачем?

Потому что именно за это ему деньги платят.

Просмотр сообщения

Неубедительно. Деньги за что только не платят. Иногда за такое... :wink:

Тестирование должно показать ВСЕ дефекты системы, что бы пользователи работающие потом с готовой ситемой не получали ошибок и что бы она у них работала!

Просмотр сообщения

Ну и замечательно! А зачем для этого нужно добиваться того, чтобы система не работала? Ведь нужно, наоборот, чтобы она работала, Вы же сами это говорите. Нелогично.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#31 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 09 августа 2005 - 07:22

Потому что именно за это ему деньги платят.
Тестирование должно показать ВСЕ дефекты системы, что бы пользователи работающие потом с готовой ситемой не получали ошибок и что бы она у них работала!


Деньги платят не за баги, иначе тестировщики давно были бы крайне состоятельными людьми. Закзачик платит за то что система работает, вот это и надо проверить. Простой пример: вы нашли в системем 100 ошибок разных уровне критичности - это хорошо? Плохо? Мало/много? Сколько ошибок осталось внутри вы можете сказать? А Заказчику интересны именно те которые остались внутри, интересно их отсуствие. При этом интересно их отсуствие именно в той функциональности, которую он заказывал.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#32 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 09 августа 2005 - 07:24

Пользователей: 3 Case, barancev, Green

Сейчас начнётся :wink:
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#33 PrincessSophia

PrincessSophia

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

  • Members
  • Pip
  • 33 сообщений

Отправлено 09 августа 2005 - 07:29

А система должна работать всегда ... что бы пользователь с ней ни делал.

Просмотр сообщения



не совсем! система должна не всегда работать - она должна работать в рамках спеки or business requirements, а все нестандартные ситуации отрабатывать корректно.

ЗЫ вспомнила расхожую байку что отдел тестирования и поддержки - это так кто никогда не видит систему работающей.
  • 0

#34 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 августа 2005 - 07:49

... а все нестандартные ситуации отрабатывать корректно.

Просмотр сообщения

Это часть спецификации? Нет? Тогда нет смысла и говорить о корректности, потому что каждый под этим подразумевает что-то свое.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#35 serega

serega

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

  • Members
  • PipPipPipPip
  • 355 сообщений
  • Город:Москва

Отправлено 09 августа 2005 - 08:42

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

А система должна работать всегда ... что бы пользователь с ней ни делал.

Просмотр сообщения


Хм.. в том числе подтирать системые файлы, вырубать рубильник питания в серверной, и метать кирпичом в мониторы :wink:
  • 0

#36 PrincessSophia

PrincessSophia

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

  • Members
  • Pip
  • 33 сообщений

Отправлено 09 августа 2005 - 10:04

Это часть спецификации? Нет? Тогда нет смысла и говорить о корректности, потому что каждый под этим подразумевает что-то свое.


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

Понятно что все нестандартные ситуации не просмотришь, но наиболее веротяные - легко.
  • 0

#37 OldYew

OldYew

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

  • Members
  • Pip
  • 11 сообщений
  • Город:Ukraine, Crimea, Simferopol

Отправлено 09 августа 2005 - 10:48

Всем хорошего настроения и взаимопонимания!:)
Очень мне понравилось все вышеизложенное да так, что даже удержаться не смог, чтобы не привести строки, написанные лет эдак 400 назад...

Как плотницкий старшина, командующий должен знать естественные законы, и законы страны, и законы домов. Это - Путь Старшего.
Плотницкий старшина должен знать теорию строительства башен и храмов. Он знает планы многих дворцов. Он следит за набором людей, чтобы возводить здания. Путь плотницкого старшины -- тот же, что и Путь командующего. (Семьи феодалов, правивших Японией большую часть ее истории, содержали частные армии. Во главе каждой из них стоял свой командующий.)
Перед началом строительства Плотник отбирает пригодный материал. Ровные стволы без сучьев, красивые на вид, используют для открытых колонн, прямые стволы с небольшими дефектами пускают на внутренние опоры. Стволы безупречного вида, хотя бы и не очень прочные, пускают на пороги, притолоки, двери и раздвижные стены. Хорошее дерево, даже узловатое и суковатое, всегда можно с разумением использовать в постройке. Дерево слабое или совсем корявое пускают на леса, а позже -- рубят на дрова.
Плотницкий старшина распределяет работу между работниками соответственно их способностям. Он ставит задачи перед укладчиками полов, изготовителями раздвижных перегородок, порогов, притолок, потолков и т. д. Обладающие меньшим умением тешут половые балки пола, а тот, кто умеет совсем мало, режет клинья и выполняет тому подобную подсобную работу. Если старшина хорошо знает и правильно распределяет своих людей, выполненная работа будет хороша.
Старшина должен принимать во внимание способности своих людей, обходить их недостатки и не требовать ничего невероятного. Он обязан понимать настроения рабочих и подбадривать их, когда это необходимо. Таковы же и Принципы Стратегии.
  • 0

#38 imetz

imetz

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Мец Илья Вадимович

Отправлено 09 августа 2005 - 14:29

1. Что бы у системы небыло ошибок - надо исправить их, а что бы их исправить их надо все найти, не так ли?

2.

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

Хорошие тестировщики - вполне состоятельные люди

3.

Закзачик платит за то что система работает, вот это и надо проверить.
-
Тестирование должно показать ВСЕ дефекты системы, что бы пользователи работающие потом с готовой ситемой не получали ошибок и что бы она у них работала!

помоему одно и то же !?!?!

3.

не совсем! система должна не всегда работать - она должна работать в рамках спеки or business requirements, а все нестандартные ситуации отрабатывать корректно.

Согласен

4.

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


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

5.

в требованиях обычно указан уровень стабильности платформы - ...

Согласен

А вообще, кончено, ни количество, ни сложность наденных ошибок не может сказать о качестве системы.
  • 0

#39 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 августа 2005 - 14:49

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

Просмотр сообщения

Ну ладно, мир :wink: И привет коллегам :help:

Согласен, что не бывает универсальных людей, не те времена, когда можно знать всё. Но это в ещё большей мере относится к знанию предметных областей, чем к владению техниками. Можно найти человека, который знает десяток языков программирования и может управляться с равным успехом и RR, и с QTP, и с TC. Но вряд ли найдется такой, который хорошо разбирается одновременно в банковском деле, телекоммуникациях, автомобилестроении и строительстве.

Программист -- это профессия, специальность, а девелопер и тестер -- это роли.

А тестер не специальность? Бр-р-р.

Просмотр сообщения

Да, тестировщик -- это не специальность. Это буржуи хорошо подметили в названиях позиций, например, в MS программист в роли разрабтчика назыается Software Design Engineer (SDE), а в роли тестировщика Software Design Engineer in Test (SDET). То есть по-русски это называется "разработчик" и "разработчик тестов" соответственно. Но по-английски суть видна гораздо лучше -- "in Test".

Специальность определяется набором характерных навыков. Для программиста характеный навык -- умение писать программы, для дизайнера -- умение рисовать (назовём это таким словом), для менеджера -- умение управлять людьми.

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

Я попробую расписать пошире что у нас в проекте делает девелопер в группе тестирования. Мы паралельно коду системы пишем свой фреймворк, который на компонентном уровне работает с нашей системой. Вот этот "тестер" пишет код фреймворка, пишет тесты, который процессит фрейворк. Фрейворк этот встроен в процесс билда и тесты прогоняются на каждой сборке. Вот кто он - тестер?

Просмотр сообщения

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

А то так мы скоро докатимся до заявлений, что все разработчики, скажем, ВинРаннера -- тестировщики :crazy:
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#40 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 августа 2005 - 15:01

1. Что бы у системы небыло ошибок - надо исправить их, а что бы их исправить их надо все найти, не так ли?

Просмотр сообщения

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

Во-вторых, искать нужно не все ошибки, а те, которые нужно искать. На все не хватит ни времени, ни сил.

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

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

И в пятых, мы отклонились от темы вопроса :wink:
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


Количество пользователей, читающих эту тему: 5

0 пользователей, 5 гостей, 0 анонимных