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

Фотография

Готовим тестировщика: кого, зачем, как


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

#1 baranceva

baranceva

    Профессионал

  • Admin
  • PipPipPipPipPipPip
  • 4 245 сообщений
  • ФИО:Баранцева Наталья


Отправлено 17 августа 2011 - 05:42

Обычно мы публикуем материалы конференций после завершения. Но накануне десятой юбилейной конференции SQA Days, которая состоится 2-3 декабря в Москве, мы решили нарушить эту традицию и начать публиковать некоторые материалы ещё до начала конференции. Можно рассматривать это как расширенные анонсы выступлений, возможность заранее заочно познакомиться с авторами и решить, будет ли вам интересно пойти на соответствующие доклады, чтобы послушать продолжение. Начинаем эту серию публикаций мы статьей Святослава Куликова про обучение тестировщиков-джуниоров на внутрикорпоративных тренингах.

Автор: Святослав Куликов.

Тестировщики нужны. Хорошо, когда их много, и все они – профессионалы с многолетним опытом. Но что делать, когда таких профессионалов не хватает?


Зачем нам все эти люди? Ведь хватает же… Или нет?
Немного цифр: по информации, полученной на условиях неразглашения «названий и имён» от HR-отделов и ресурс-менеджеров нескольких крупных IT-компаний, дефицит кадров составляет от десятков до сотен специалистов по тестированию ПО. Более 2/3 этого дефицита приходится на junior software testing engineers (JSTE).

Наиболее эффективной по показателям простоты и себестоимости является подготовка junior-специалистов собственными силами (в контексте сотрудничества с вузами или тренинговыми центрами). Такой подход как даёт «мгновенный результат», так и позволяет сформировать мощную основу для длительного притока начинающих специалистов.



Читать дальше
  • 0
Наталья Баранцева
Тренинги по тестированию ПО

#2 leftCh

leftCh

    Постоянный участник

  • Members
  • PipPipPip
  • 179 сообщений

Отправлено 17 августа 2011 - 11:01

Группа без предварительного отбора - Группа с предварительным отбором

Интересно было бы узнать по каким критериям проводился предварительный отбор
  • 0

#3 Zhu

Zhu

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

  • Members
  • PipPipPipPip
  • 288 сообщений
  • ФИО:Рина Ужевко
  • Город:Москва


Отправлено 19 августа 2011 - 21:38

поддерживаю предыдущего оратора.
какие были критерии?
  • 0
Bugs@Feature
Не бывает совершенных программ, бывают недотестированные.

#4 Natalya Rukol

Natalya Rukol

    Профессионал

  • Admin
  • PipPipPipPipPipPip
  • 2 001 сообщений
  • Город:Moscow


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

От «усреднённого начинающего тестировщика» ожидается:
1. Умение работать с документацией и требованиями.
2. Умение создавать тест-кейсы.
3. Умение писать баг-репорты.
4. Знание HTML/CSS, SQL, XML.
5. Знание английского и/или иных иностранных языков (как минимум – на уровне чтения и понимания технической литературы).
6. Минимальные навыки автоматизации тестирования.

Пункты 1 и 2 на уровне базового навыка на работе получаются за несколько дней. Пункты 1 и 2 на уровне профессионала получаются годами.
Пункт 3 получается в адекватных условиях и с минимальными способностями за несколько дней.
Пункт 4 на уровне тестировщика - ещё несколько дней на работе.
Пункт 5 - что-то мне подсказывает, что этому на курсах тестировщиков не учат, правильно? :)
Пункт 6 - плюньте ресурс-менеджеру в лоб :) "Минимальные навыки автоматизации" = мартышка с гранатой. Либо автоматизация - приоритетное направление для развития специалиста и он становится профи, либо от автомазиации убытков больше, чем выгоды.
Сухой остаток: нам нужен человек, обладающий аналитическими способностями (пп 1 и 2), умеющий излагать свои мысли (п.3) и знающий (всегда ли это важно??) английский язык. За первую неделю коучинга на работе, пункты 1-4 получаются без проблем.

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

Это НЕ общие списки требований. Описанные вами списки - требований одной-двух-трёх компаний, разрабатывающих веб-продукты, автоматизирующих тесты на Selenium и TestComplete, документирующих тесты, строящих коммуникация на англ. языке, ведущих проектную документацию и т.д.

Я согласна с тем, что тестировщики должны уметь "писать баг-репорты", а ещё локализовывать и генерализовывать их. А ещё я уверена, что они должны уметь проектировать тесты, создавая оптимизированные тестовые наборы, с хорошим покрытием и адекватной приоритезацией проверок. И при этом ~80% (погрешность указывать не буду, т.к. статистику не вела, говорю лишь о субъективных ощущениях по сотням собеседований) SENIOR тестировщиков эти два пункта делать НЕ УМЕЮТ. Красивые шаблоны тестов и багов - это запросто, а вдумчивый анализ тестов и ошибок - редкость.
  • 0

#5 svyatoslav

svyatoslav

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Святослав Куликов
  • Город:Минск

Отправлено 29 августа 2011 - 13:42

Интересно было бы узнать по каким критериям проводился предварительный отбор


поддерживаю предыдущего оратора.
какие были критерии?


Коллеги, простите, что не сразу ответил – был в отъезде.

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

Как отбирать. У нас в EPAM сначала люди проходят собеседование с представителями HR, где мы просим ориентироваться на следующие критерии:

Для «ручного тестирования»:
* Коммуникабельность. Самое печальное – это «люди в себе», с которыми потом мучаются и менеджеры, и коллеги по команде.
* Английский. Чем лучше, тем лучше.
* Умение нестандартно мыслить (только без перегибов в сумасшествие :) ).
* Скорость реакции. Да, бывают «долго думающие мудрецы», но чаще всего мы имеем дело с «тугодумом обыкновенным».
* Готовность к рутинной работе, если это понадобится. А то очень многие думают, что тут будет как в фантастических боевиках – куча энергичного творчества по спасению планеты.

Для «автоматизированного тестирования»:
* Логическое, алгоритмическое мышление.
* ОБЯЗАТЕЛЬНО умение программировать хотя бы на каком-нибудь языке, чтобы потом на тренинге не приходилось объяснять, что такое переменная, цикл и т.п.
* Умение самостоятельно искать решение, настойчивость в «борьбе с проблемой», азарт в решении нетипичных задач.
* Опыт «администрирования» своего рабочего места: поставить ОС и драйверы, найти в инете и установить кодеки к видео и т.д. и т.п.
* Технический английский (знание англоязычной IT-терминологии).

Преимуществом (для любого тренинга) также является:
* Знание веб-технологий. Хотя бы – языков разметки (HTML/CSS/XML). Ещё лучше – опыт работы в стиле «разработка сайтов», «сопровождение сайтов», «наполнение сайтов контентом» и т.п.
* Базы данных и язык SQL. Это очень «редкий дар» :), но тем лучше, если он есть.
* Понимание сетевых технологий (как организована сеть, что такое DNS, как выяснить причину недоступности сайта и т.п.)
* Понимание сути будущей профессии. Т.е. «чем занимается тестировщик (автоматизатор)?» Про программистов все знают, а вот про тестирование – «нуууу… буду тестировать» :(. Потом некоторые оказываются в шоке от того, что реальность сильно отличается от их фантазий.

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

Успешно прошедшие отбор у HR попадают на вторичное собеседование к тренеру, который будет вести группу, и/или руководителю лаборатории, занимающейся подготовкой специалистов соответствующего профиля.

В зависимости от тренинга для того, чтобы набрать десять слушателей, приходится в общей сложности прособеседовать от 20-30 до 50-70 кандидатов. Подавляющее большинство не прошедших на тренинг (где-то 3/4) отсеивается в HR-отделе.
  • 0

#6 svyatoslav

svyatoslav

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Святослав Куликов
  • Город:Минск

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

От «усреднённого начинающего тестировщика» ожидается:
1. Умение работать с документацией и требованиями.
2. Умение создавать тест-кейсы.
3. Умение писать баг-репорты.
4. Знание HTML/CSS, SQL, XML.
5. Знание английского и/или иных иностранных языков (как минимум – на уровне чтения и понимания технической литературы).
6. Минимальные навыки автоматизации тестирования.

Пункты 1 и 2 на уровне базового навыка на работе получаются за несколько дней. Пункты 1 и 2 на уровне профессионала получаются годами.

Полностью согласен. Но что делать, если многих лет у нас нет, а уровень "базового навыка" недостаточен, и хочется "чего-то среднего"? :) Вот на этот "усреднённый уровень" мы и стараемся вывести новых людей. Как правило, получается.


Пункт 3 получается в адекватных условиях и с минимальными способностями за несколько дней.

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


Пункт 4 на уровне тестировщика - ещё несколько дней на работе.

Если только этот тестировщик -- не чистейший гуманитарий, у которого нет интуитивного понимания многих вещей, "понятных программистам на бессознательном уровне" :). Конечно, с технарями проще (в общем случае).


Пункт 5 - что-то мне подсказывает, что этому на курсах тестировщиков не учат, правильно? :)

Бесспорно. Это лишь одно из требований к человеку, которого будут рассматривать в качестве кандидата на приём в проектную команду. Где он этому научится -- не должно волновать ресус-менеджеров. А вот подучить технической (тестировщицкой) терминологии за время тренинга вполне можно. Чтобы test-suite как "компания для теста" не переводили :)


Пункт 6 - плюньте ресурс-менеджеру в лоб :) "Минимальные навыки автоматизации" = мартышка с гранатой. Либо автоматизация - приоритетное направление для развития специалиста и он становится профи, либо от автомазиации убытков больше, чем выгоды.

Позволю себе не согласиться, ибо являюсь приверженцем строго противоположной точки зрения. Если человек способен заавтоматизировать хотя бы часть СВОЕЙ работы, он уже экономит некоторое количество СВОЕГО времени, чем высвобождает время для других дел. Здесь речь идёт не об "официальном внедрении автоматизации на проекте силами новичков" (для этого есть специальные команды автоматизаторов, для которых готовятся свои начинающие специалисты). Здесь речь идёт о том, чтобы заменить "мартышкин труд" батниками, скриптами на VB/JS, малюсенькими прожками на PHP и т.п. Печально видеть, как люди вручную занимаются линк-чекингом, вручную "генерируют" наборы символов и тексты с некими заданными свойствами и т.п. Даже элементарные знания о виртуальных машинах позволяют сэкономить кучу времени, если правильно подойти к организации своего рабочего места. Поэтому я настаиваю, что представление об автоматизации является плюсом даже для "ручного тестировщика". Проблемы начинаются тогда, когда с этой автоматизацией лезут на профессиональный уровень, не будучи к нему готовыми. Но это совсем другая песня.


Сухой остаток: нам нужен человек, обладающий аналитическими способностями (пп 1 и 2), умеющий излагать свои мысли (п.3) и знающий (всегда ли это важно??) английский язык. За первую неделю коучинга на работе, пункты 1-4 получаются без проблем.

При какой потребности в новых людях и какой загруженности коучей? Ах, да: и сколько надо коучей?
Мы пришли к той схеме, которую сейчас используем, не от "нечего делать". Было подсчитано, что выделение такой подготовки в отдельный процесс оказывается намного дешевле (и даёт более предсказуемый и измеряемый результат).


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

Это НЕ общие списки требований. Описанные вами списки - требований одной-двух-трёх компаний, разрабатывающих веб-продукты, автоматизирующих тесты на Selenium и TestComplete, документирующих тесты, строящих коммуникация на англ. языке, ведущих проектную документацию и т.д.

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

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


Я согласна с тем, что тестировщики должны уметь "писать баг-репорты", а ещё локализовывать и генерализовывать их. А ещё я уверена, что они должны уметь проектировать тесты, создавая оптимизированные тестовые наборы, с хорошим покрытием и адекватной приоритезацией проверок. И при этом ~80% (погрешность указывать не буду, т.к. статистику не вела, говорю лишь о субъективных ощущениях по сотням собеседований) SENIOR тестировщиков эти два пункта делать НЕ УМЕЮТ. Красивые шаблоны тестов и багов - это запросто, а вдумчивый анализ тестов и ошибок - редкость.

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


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

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