вторник, 10 июня 2014 г.

Хэб Схотс "Эвристики для распознания тестировщиков-профессионалов" - перевод

Продолжаю серию переводов статей по тестированию. Статья Хэба Схотса расскажет вам об эвристиках для распознавания тестировщиков-профессионалов. Если вас интересует данная тема, из самого свежего также порекомендую доклад Алексея Лянгузова "Успешный тестировщик. Путь профессионала" на SQA Days-15, о котором я писал в обзоре первого дня конференции.

Ссылка на оригинал  -  http://www.huibschoots.nl/wordpress/?p=1666
Формат текста (выделение терминов, курсив, цитирование) и ссылки на другие статьи из текста взяты с оригинала "как есть".

Helena Jeret-Mae задала вопрос в твиттере: "Какие ваши критерии профессионализма тестировщиков и CDT-комьюнити?" Позже в емейле она уточнила свой вопрос: "Обновленная версия моего вопроса: какие по-вашему мнению существуют эвристики распознавания профессионального тестировщика? Я заменила "критерии" на "эвристики", этот термин менее категоричный. И я оставила термин "профессионализм" на ваше усмотрение - я не знаю точно, что вы подразумеваете под ним".

В своем выступлении "Как стать великолепным тестировщиком" на конференции ContextCopengagen в январе 2014 года я говорил о тестировщиках и их навыках. Я говорил, что многие тестировщики не знают, что они делают, и не могут доходчиво объяснить, какую ценность они вносят в проект. Я повидал много тестировщиков, которые раз за разом используют один и тот же подход. Если я спрашиваю, какие тестовые техники им известны, они называют совсем немного. Если я прошу их объяснить мне техники или показать, как они работают, у них нет ответа. Для меня это шок, и я не могу объяснить, почему тестировщики, называющие себя профессионалами, знают так мало про свое ремесло и совсем не обучаются ему.

Вот почему я делаю различие между тестировщиками-профессионалами (которых я считаю очень мало) и тестировщиками по профессии. Конечно, я знаю и понимаю, что всегда будут люди с менталитетом "с 9 утра до 5 вечера", которые не читают книги или блоги и которые только хотят проходить курсы, если начальство их оплачивает. Я принимаю это как данность, но это не значит, что я хочу работать с такими тестировщиками!

Но достаточно разглагольствований, давайте я отвечу на вопрос.

Профессионализм - это быть профессионалом и быть в курсе ожиданий от профессионала. Професииональное тестирование сложное и многообразное, оно имеет несколько измерений: знания, навыки, опыт, отношение, этика и ценности. Я написал пост в своем блоге "Что делает тестировщика хорошим" в 2011-м году на эту тему, и сейчас мне есть что добавить, хотя все, что я написал тогда, тоже верно. В моих более ранних постах я не упоминал ценности и этику, и сейчас я нахожу их крайне важными. Джеймс Бах написал о них в заметке "Размышления об этике в тестировании" и "темы Быстрого Тестирования", которые упоминаются на слайдах презентации "Быстрое тестирование ПО".


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

Мои эвристики для того, чтобы распознать тестировщиков-професионалов:

1. У них есть парадигма тестирования, и они могут объяснить свой подход в той или иной ситуации.
Профессиональные тестировщики могут объяснить, что такое тестирование, какую ценность они приносят и как они будут тестировать в данной ситуации.

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

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

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

5. Они знают, что разработка и тестирование ПО - командный вид спорта.
Ключ к сотрудничеству - становиться все более эффективным и продуктивным в тестировании. Разработка ПО  - командный спорт: люди, работающие вместе, наиболее важная часть любого контекста проекта. Тестировщик-профессионал знает, как работать с разработчиками и другими участниками проекта в любой ситуации.

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

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

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

9. Они знают, что эстимации (оценки) - это переговоры.
Обратите внимание на эти статьи в блоге Майкла Болтона:
10. Они используют тест-кейсы и тестовую документацию с умом.
Контекст определяет, какую тестовую документацию вы должны создать и какой вид документации полезен. Совсем недавно отличная (и объемная) статья Джеймса Баха и Аарона Ходдера была опубликована в Testing Trapeze "Тест-кейсы не тестируют: на пути к культуре производительности тестирования". Также Фиона Чарльз поделилась своими интересными мыслями о тестовой документации в статье "Разрушаем Тиранию Форм".

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

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

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

14. Они могут обладать нижеперечисленными навыками межличностного общения. Как я упоминал ранее, от контекста зависит, какие навыки наиболее важны.
  • Письменные навыки (отчетности, сообщения, краткие сообщения)
  • Коммуникативные навыки (умение слушать, рассказывать истории, готовить презентации, умение говорит "нет", устный отчет, умение аргументировать и договариваться)
  • Социальные и эмоциональные навыки (эмпатия, умение вдохновлять, нетворкинг, управление конфликтами и консалтинг)
  • Навыки решения проблем
  • Навыки принятия решений
  • Навыки обучения и изучения
  • Быть проактивным и уверенным в себе
15. Они великолепно владеют навыками тестировщика:
  • Навыки мышления (критическое, латеральное, креативное, системное мышление)
  • Аналитические навыки
  • Моделирование
  • Анализ рисков
  • Планирование и оценка
  • Умение применять различные тестовые техники
  • Исследование
  • Проектирование эксперимента
  • Наблюдение
В приложении "Динамика исследовательского тестирования" к документу "Быстрое тестирование ПО" вы можете найти списки навыков.

16. Они обладают достаточными техническими навыками.
Есть много технических навыков, которыми должен обладать тестировщик, к примеру уметь использовать тулы, обладать навыками кодирования или желанием изучать техническую структуру приложения, которое он тестирует. Навыки автоматизации, такие как написание скриптов, знание SQL для работы с базами данных, быть способным сконфигурировать и установить ПО. знания и навыки работы с платформой, на которую устанавливается тестируемая система (Windows, Linux, мобайл, и т.д.)


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

Между прочим, я погуглил запрос "кодекс этики тестирования ПО" и обнаружил Кодекс Этики ISTQB для тестировщиков-профессионалов. Мне интересно, знают ли о нем люди, которые сдавали экзамен И, что более важно, используют его в своей практике. А вы используете?

Хэб Схотс, 23 марта 2014 года.

P.S. Для дальнейшего улучшения качества переводов буду рад редакторской помощи: вы получите первым вариант статьи и сможете внести свои улучшения перед окончательной публикацией в блоге. Вы также будете включены в список благодарностей под каждым переводом со ссылкой (если пожелаете) на ваш профайл или сайт.
Если вы обладаете хорошим английским и русским, видите несовершенства данного перевода и желаете сделать будущие переводы лучше - пишите мне - www.google.com/+ЛадутькоАндрей

Комментариев нет:

Отправить комментарий