понедельник, 29 марта 2010 г.

Бах: Становясь экспертом в области тестирования

Оригинал статьи тут.

Обзор: Стать экспертом в области тестирования – это путь постоянного развития. Наличие концепции развития очень помогает направлять свои усилия. Джеймс Бах, весьма известная личность в области тестирования, делится своим взглядом на «экспертность» и предлагает стремящимся к статусу эксперта решить задачу.


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


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


Я считаю себя хорошим тестировщиком. Я могу ошибаться на этот счет. Спросите меня лет через пятнадцать. Что я знаю точно, так это то, что я работаю в направлении достижения статуса эксперта. Как я себя заставляю двигаться вперед? Мне помогает личная концепция. Всем кто желает получить статус эксперта, нужна концепция «экспертности», это двигает нас, ставит высокие стандарты, однако должно быть достижимым за жизнь.


Личная концепция.

Я могу тестировать все, при любых условиях, за любое время…


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


Давайте добавим:

… в степени относительно…

  • Моего положения в процессе
  • Моих познаний о соответствующей технологии
  • Моего желания преуспеть


Это позволяет сделать концепцию более реалистичной, но все еще выходящей за пределы. Где же тут стандарт качества? Конечно же, я могу сделать все что угодно, если дозволено делать это плохо. Можно ли следовать данной установке и тестировать хорошо, если кто-то спросит вас протестировать атомный реактор за 5 минут? Чтобы решить эту проблему, добавим еще несколько утверждений:


…Такие как..

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


Теперь концепция в сфере реальности, хотя и является вызовом.


В данном видении экспертизы, «Я могу протестировать» означает «Я могу хорошо выполнять работу тестировщика». Это измеряется человеческим стандартом: поведение лучших экспертов, которых можно найти. С этим стандартом в голове, как эксперты отреагируют на задачу тестирования ядерного реактора за 5 минут? Ответ: люди, которых я уважаю, начнут с использования самого великого инструмента в арсенале тестировщика – «задавания вопросов об ограничениях задачи». Самым лучшим в течение пяти минут будет спросить «Что тут происходит?» или что-то в этом роде. Ну а в данном конкретном случае, «Вы сбрендили?», что хорошо отражает абсурдность ограничения.


В принципе, основной смысл использования концепций в создании привычки при взгляде на каждый продукт задавать вопросы: «Как я буду это тестировать? А что если надо будет тестировать без требований? А что если выделенное время будет вдвое меньше?».


Учитывая выше написанное, вот вам задачка. Шесть лет назад, я написал небольшую виндовую программу как пример для упражнений на занятиях по тестированию. Я использую эту программу и по сей день. Я даю студентам 15 минут на ее тестирование. А если я дам вам всего 3 минуты на ее оценку, что вы будете делать? Мне в голову приходит 4 ответа, которые могут дать эксперты в тестировании…


Подумайте об этом. А тут мой ответ: http://www.satisfice.com/answer1.htm.


Об авторе: Джеймс Бах – основатель компании Satisfice, Inc., занимающейся консалтингом и обучением в области тестирования. Пионер развивающихся дисциплин: Достаточное качество и исследовательское тестирование, Джеймс специализируется на тестировании в хаотических условиях. Джеймс является соавтором (с Кемом Канером и Бретом Петтихордом) книги: Lessons Learned in Software Testing.


Отсебятина: В принципе, по жизни очень полезно знать «Что я хочу? Как выглядит это? Как я буду этого добиваться?». Сложные вопросы, кто-то их задает себе и не знает ответа, кто-то знает ответ, а кто-то и не мучает себя такими вопросами. Желаю Вам задавать вопросы, знать ответы или хотеть их найти :)