среда, 6 апреля 2011 г.

Обед с Майклом Болтоном

Я оказался одним из 23 сотрудников нашей компании, которым посчастливилось посетить тренинг "Rapid Software Testing" Майкла Болтона . Если учесть, что Майкл посещает Россию третий раз в жизни, и в этот раз именно ради нашей компании, то можно понять, насколько мне повезло.

Очень живой, интересный тренинг. Единственная проблема была, что первый день занятий был в воскресенье. Я не могу советовать всем посетить его, ровно потому, что очевидно в следующий раз Майкл появиться в наших просторах не скоро. Но если появиться - сделайте все возможное (но разрешенное законодательством), чтобы там побывать.

Я бы хотел поделиться тем, что получил: идеями, результатами, задачами и позитивным настроем.
Замечательные вопросы тестировщиков
Во время тренинга Майкл постоянно давал нам задания. Это были игры (об этом далее) или провокационные вопросы:
- Кто вы такие? Что вы делаете?
- Кто здесь Quality Assurance engineer? (о,да - это один из его любимых вопросов).
- Что такое тестирование?


Одним из заданий было по ходу занятия записывать вопросы тестировщиков, он назвал их Great Tester’s Questions. По сути список «великих»/«замечательных» вопросов близок к моему рабочему чек листу, но выглядит более концептуально и без привязки к технологиям.

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

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


Конечно же, вопросы тестировщиков не ограничены - «специи добавляются по вкусу». Главное понять, что вопросы задавать нужно. И всегда держать напоследок вопрос: «Есть ли еще какие-нибудь не заданные вопросы или вопросы на которые еще нет ответа?»​

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

Лепестки вокруг розы
Вы кидаете несколько кубиков, выпадает 1,2,5,6,6  и машина-Майкл говорит вам: Четыре. Вы думаете...
Вы кидаете несколько кубиков, выпадает 1,6,6,3,2 и машина-Майкла говорит вам: Два. Вы думаете.
Вы угадали, что скажет Майкл. Машина-Майкл достает другие кубики с 10 сторонами и кидает опять.
Вы угадали опять вариации кубиков. Машина Майкл достает третий набор кубиков, кидает и кричит: Красное Мигающее Зиро!

...
Это все игра "лепестки вокруг розы". Вы пытаетесь понять машину - пытаетесь найти свои Ораклы. Потрясная игра! Все может имеет значение и влиять на число: цвет, четное или нечетное число, даже расположение кубиков от машины (от Майкла). Самое замечательное - правила меняются от игры к игре, от человека к человеку.


Треугольники
Да, это тот самый тест из книги Майерса в книге "Искусство тестирования программ". Три поля для ввода, кнопка для запуска, поле для ответа (какой треугольник создан). Своя версия программы, 15 минут, а на следующий день в конце тренига вопрос - каков процент покрытия программного продукта вы сделали от 0 до 100?


Кстати о миссии тестирования программы. В текстовом файле цель описана кратко:
This program is intended for use in testing classes and job interviews to aid in education and evaluating software testing skill ;)

Стена проблем

У вас есть проблемы в проекте? Почему бы вам не собраться и не наклеить их на стену?

Среди наших проблем кучковались:​​
Проблемы с тестовой лабораторией
Требования все время меняются
Мало времени
Проблемы с коммуникацией (с разработчиками, бизнесс аналитиками, распределенные команды)
Плохое планирование
Не хватает экспертизы в проблемной области
Нет спецификаций требований
 

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


Хорошие вопросы у Майкла.

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

Кстати среди собственных ответов Майкла был "Нужно сделать перерыв" (читай: захотелось отдохнуть, перекусь, сходить за печеньками).

СОЖРИ МОЗГ
Центральное место в тестировании у Майкла Болтона и его друзей (например Джеймс Бак) занимают эвристики и ораклы (поищите в блоге Майкла http://www.developsense.com/) . Для эвристик определения ораклов используется абревиатура HICCOPPS (history, image, comparable product, claims, user expectations, product itself, purpose, standarts, statutes). Майкл предложил перевести эвристики на руский язык и составить свою аббревиатуру. 
СОЖРИ-МОЗГ - это то что придумала одна из наших сотрудниц (которых, кстати, было 13 из 23 в классе). 
Я смог родить ПУЗОСУ-ИИ.  Тоже неплохо, но не так эффектно.

Цитаты
Цитаты - просто способ передать атмосферу,  так что не ищите в словах великий смысл (хотя он и есть там).

Каждый раз,  когда разработчик говорит «этого пользователь никогда не сделает» или «это не является проблемой» или «это не баг» – что-то внутри тестировщика умирает.

Тестировщик должен постоянно жульничать.

Каждый баг имеет свою историю. Я предпочитаю историю, чем похороны.

Вы никогда не знаете - когда начинается тестирование, вы никогда не знаете - когда тестирование заканчивается.


Если кто-то меня спросит, сколько тестировщиков нужно для какого-то количества разработчиков, я отвечу: тестировщики это разработчики.

Когда тупые менеджеры цитируют "Вы не можете управлять тем, что не измеряете", они забывают, что это было сказано про физику. Но разработка продукта - это не физика!

Цитаты вырваны из контекста и могут показаться спорными. Не бойтесь - спорьте ;)

Эмоции
Мы в банке люди занятые ))))). Поэтому выразить то, что я получил, то, что я почувствовал лучше своего коллеги Паши не смогу. Мы все 2 дня (кстати трениг расчитан на 3, но мы же занятые и справились за короткий срок) просидели вместе и решали задачи с Пашей вдвоем. Надевая рюкзак он произнес: "На такой тренинг двух дней не жалко". Я смог только поддакнуть: "Даже если один день выходной".

4 комментария:

  1. Завидую! =) Когда он был в Питере - тоже отлично время провели

    ОтветитьУдалить
  2. Да уж, действительно завидно, такая шикарная возможность, такой интересный результат... :) Спасибо за описание, действительно если будет возможность на такой тренинг попасть - надо очень постараться, чтобы не упустить возможность.

    ОтветитьУдалить
  3. "На такой тренинг двух дней не жалко"
    Когда я прошел треннинг по оказанию первой помощи, я по окончанию выразился именно так. Только выходными были оба дня ))) Когда человек получил то, что сделает его жизнь полноценнее это значит, что он не зря прожил этот день.

    ОтветитьУдалить
  4. В следующий раз Майкл будет в России в августе, так что если кто-то еще хочет провести корпоративный тренинг, то можно считать, что половина дороги (а это существенная статья расходов) уже оплачена :-). Так что пишите -- договоримся :-)

    ОтветитьУдалить