Что умеют все тестировщики: интервью Джеймса Баха

25 сентября 2011 г.

Джеймс Бах – QA гуру с нетривиальным взглядом на свое ремесло, необыкновенно интересный человек, и крайне умелый рассказчик. (Возможно, гены: его отец – тот самый писатель Ричард Бах). В этой статье Бах рассуждает о том, как быть «правильным» тестировщиком, как он вправляет мозги своим коллегам в скайпе, что, к его сожалению, умеют делать все тестировщики и чего им не хватает.

uTest: В недавней лекции вы сказали, что вам не нравилось быть программистом, потому что эта работа подобна разгадыванию 25 кроссвордов ежедневно (т.е. скучно и однообразно). Как бы вы сформулировали единственный совет тем, кто задумывается о переходе от программирования к тестированию?

JB: Я советую — переходите, но, пожалуйста, учитесь новому делу.
Тестирование не является еще одной проблемой программирования, хотя очень часто ментальность программиста навязывает видение тестирования как процесса манипулирования программным обеспечением. Иногда программисты мечтают об армиях роботов, исполняющих «тестирование». И тогда поиски «умного» инструмента заслоняют цель — отличное тестирование. Это как пытаться изобрести андроид, который говорил бы с женой, избавив тебя от этого дела.
Программисты, вы можете использовать все свои технические навыки. Очень хорошо уметь писать программы. Но тестирование, на самом деле, — это сжатое по срокам и глубокое обучение. Чтобы справиться, тебе придется вплотную, задействуя все свои возможности, заниматься тем или иным продуктом. Да, ты должен управляться с продуктом и вручную. Или, как говорят в наших местах, надо вести тестирование мудро.

uTest: В той же презентации вы говорили о важности дружбы с программистами. Почему отношения между программистами и тестировщиками порой так испорчены?

JB: Я не уверен, но почему моя жена не любит, когда я заявляю об обнаруженных в ней дефектах? Люди такие странные…
А если серьезно, то это процесс простой. Сделать работу и представить к рассмотрению значит подвергнуться обсуждению. И это не очень приятное чувство. Проблема осложняется тестировщиками, которые открыто заявляют что та или иная досадная мелочь и ерунда являются «дефектом», как будто то, что им лично не нравится должно быть весомой проблемой для всех и каждого. Еще одна сложность возникает, когда программисты и тестировщики разделены расстояниями, или существуют иные коммуникационные барьеры, не говоря о барьерах производственного процесса. Даже несмотря на то, что технари широко известны своими навыками социализации (я знаю, что программисты, работающие в ООН, почти решили арабо-израильскую проблему пару месяцев назад, но помешали трения на Корейском полуострове), тестировщики и разработчики видят мир очень по-разному. Очень трудно расслабиться и улыбаться, когда твой отчет о баге, кажется, игнорируют.
Лично я пишу развернутые объяснения для каждого разработчика, с которым работаю над проектом. И пишу их и доставляю. Вроде бы, это помогает.

uTest: Вы неоднократно повторяли, что вера — грех для тестировщика; наверное, это вытекает из опыта. К этому утверждению вас привел некий частный случай или это просто годы опыта?

JB: Это не дело опыта, а логика. Наша работа — бдительность. Ее утрата равнозначна отказу от ответственности. Бдительность для тестировщика означает быть убежденным скептиком. Мы должны отрицать определенность в любом виде. Мы — рыцари ордена «Может Быть». Верить — это перестать спрашивать, уснуть на наших постах.
Я использую множество информации. Я очень стараюсь не верить ей. И это моя дисциплина.

uTest: Что сегодня является главной потерей времени в тестировании?
JB: Очевидный кандидат на эту роль — бесполезная тестовая документация, зачастую, в компании с черезчур усердными попытками автоматизировать упрощенные документированные проверки и поддержкой работоспособности этой автоматизации.
Метрики тестирования, по большей части, также потеря времени.
Конечно, вы знаете, что я считаю ненужной сертификацию. Это ленточный червь, питающийся нашей плотью, но это не самая главная потеря.
Поскольку модели зрелости процессов тестирования собирают всех вышеуказанных персонажей на грандиозном фестивале расточительства, эти модели и являются заводилами потерь времени.
Этот новый стандарт тестирования ISO, тоже, не что иное как большое излишество. Мой прогноз, что он не поможет никому сделать что-то существенное.
Хорошо, вот главная проблема, как я ее понимаю: все эти вещи в сговоре удерживают наше ремесло в детском состоянии фантазий и невежества. Вместо того, чтобы окунуться в холодную воду и протрезветь, менеджеры обхаживаются циничными и малодушными консультантами и напоминают потворствующих своим желаниями вечно пьяных богатых юнцов. И теперь мы живем в мире, где технологии обычно плохо тестируются, где в порядке вещей — отзыв медицинских приборов, нарушения безопасности — обыкновенная повседневность, а огромные суммы расходуются на работу с чушью, которая не должны быть на первом месте.
В общем, излишеств и потерь очень и очень много.

uTest: Нам было интересно узнать, что вы уделяете много времени на обучение тестировщиком по скайпу… бесплатно. С какими вопросами они к вам приходят, в основном: практическими или абстрактными? И что самое важное, что вы почерпнули из этого опыта?

JB: Да, мне нравится учить по скайпу. За что-то я беру деньги, но, как правило, я занимаюсь этим бесплатно. Когда я работаю бесплатно, я стараюсь не планировать это заранее (люди просто ловят меня в сети) и требую, чтобы ученик разрешил мне публиковать переписку. Таким образом, я собираю материал для учебника по тестированию.
Иногда наставничество — это ответы на вопросы. Но, по большей части, я раздаю тестировщикам задачи, и они над ними работают.
Одна из моих задача — изменить мышление тестировщиков с тем, чтобы они могли воспринимать и прорабатывать идеи, которые до сих пор казались им неясными.
Иногда это очень конкретно. В других случаях — абстрактно. Этот диалог состоялся вчера:
—————–
James Bach: Где ты работаешь?
Sue: В бизнесе.
James Bach: Нет, это не человек. Ты работаешь на людей, а не на понятия. Если ты плохо работаешь тебя уволят не понятия, а люди. Я имею ввиду, какие люди в твоей организации зависят от твоей работы? Кто расстроится, если ты работаешь плохо?
Sue: Хм, мне надо подумать… если будут рассчитаны неверные страховые ставки, к делу будут подключены юристы. Но я никогда не рассматривал их как своих клиентов.
James Bach: У тебя нет начальника? Ты не работаешь в группе, у которой есть лидер? У тебя нет коллег?
Sue: Да, у меня есть начальник и коллеги.
James Bach: Есть причина для того, чтобы не считать твоего начальника твоим клиентом?
Sue: На самом деле, я никогда так не считала.
————–
Вот, я работаю с Сью, очень опытным тестировщиком, чтобы помочь ей разобраться в том, чем она зарабатывает на жизнь.
Я попросил ее составить для меня список того, что она умеет хорошо, а что — не очень. Я заметил, что ее список был очень расплывчатым. Поэтому я предположил, что она не привыкла думать о навыках в тестировании и проблемах структурированно, и я решил использовать обычный способ наставничества: детализацию.
Я попросил ее перечислить навыки тестировщика. Затем взял один из элементов ее списка («постановка цели») и попросил уточнить, что она имеет ввиду. Тогда и состоялся цитируемый выше диалог. Это было подобно тому, как зайти в грязный туалет, а оказаться на кухне, возле парковочного гаража. Далее в разговоре она четче понимает свою работу, и мы начинаем разбирать завалы. Подобно многим тестировщикам, Сью инстинктивно осознает, чем занимается, но ей трудно подобрать слова для определения. Отчасти, это следствие того, что никто раньше не заставлял ее изучить специфическую риторику тестирования.
Сталкиваясь с путаницей в понятиях, иногда я засучиваю рукава и начинаю предлагать рабочие определения, которые, я надеюсь, помогут лучше понимать друг друга в общении. Я пытаюсь вести тестировщика, задавая вопросы, которые дадут ему представление о том сумятице, в которой он работает. Мои вопросы могут быть довольно агрессивными, поэтому, в основном, я занимаюсь с высоко мотивированными людьми. Иногда я предлагаю упражнение для выработки общего опыта, который помог бы разобраться в сумятице.
А иногда я просто появляюсь и говорю: «Вот неплохой способ подумать, почему бы не попробовать его?»
Примерно так проходят мои занятия.

uTest: В продолжение, есть какой-то особенный навык или свойство, которого не хватает большинству тестировщиков? И как его выработать?

JB: Я обратил внимание на несколько. Один — это практическая математика. Другой — умение писать. Третий — это, хм, чтение. (У меня есть теория о том, что люди, которых родители заставили идти в университет, бросают учиться после получения образования. Но на самом деле, я не знаю, почему тестировщики так не расположены к обучению своему ремеслу).
Может быть, самый важный — риторические навыки. Это включает и умение отстоять свою позицию и связно о чем-то рассказать. Это навык, который требует практики, и, вероятно, тестировщики ее лишены, потому что многие из них дрожат как осиновые листы, когда я прошу прислать мне профессиональный отчет о тестировании. Риторические навыки совершенствуются, когда вы делаете доклад в кругу коллег. Вот почему я стараюсь устраивать профессиональные конференции везде, где бываю. Только что я провел такую в Эстонии, и мы планируем еще одну в Румынии, в следующем году.
Если есть такой навык, которым обладают ВСЕ тестировщики и который мне ненавистен, то это умение изображать свою работу. По всему миру липовое тестирование программ (у нас в Новой Зеландии называется «тестирование опоссума») является общепринятой и нормальной практикой. Это отвратительно. Но, конечно, тестировщики зачастую опасаются, что их уволят, если они перестанут им заниматься.

Теги:
рубрика Интернет