[Из песочницы] Soft-skills успешного тестировщика
При собеседовании перед приемом на работу достаточно легко определить так называемые hard-skills кандидата. Однако мне не доводилось видеть исследований на тему, какие же именно soft-skills необходимы успешному тестировщику. В то время как перечислить некоторые из них достаточно просто, равно как и проверить уровень владения ими на интервью.
Вот, например:
1. Умение задавать вопросы
Успешный тестировщик не просто не стесняется задавать вопросы. Вопросы, заданные тестировщиком, должны иметь целью получить адекватную информацию, а именно, что-либо из:
а) уточнение непонятных терминов в документации
б) прояснение неявно прописанной логики работы системы
в) уточнение, является ли замеченное поведение системы багом, фичей или же мелкой неточностью, на которую можно не обращать внимания
г) уточнение, было ли ранее где-то описано обнаруженное неадекватное поведение системы (заведен ли по этому поводу дефект, либо задача на исправление, либо отмечено ли оно в техдокументации как допустимое поведение)
д) уточнение, с кем конкретно можно решить появившийся у тестировщика вопрос
е) уточнение, кто именно ответственен за решение проблемы и как передать соответствующую информацию данным лицам, и какую именно информацию следует им передавать.
Помимо прочего, задавая вопрос, тестировщику следует делать это в такой форме, чтобы у опрашиваемого появилось желание на вопрос ответить, что означает обязательно вежливую форму и наличие в вопросе информации, которую тестировщику по заданной теме удалось найти самостоятельно.
Все эти умения достаточно легко определить на интервью, если просто задаться целью проверить, на что конкретно способен данный кандидат в области задавания вопросов.
2. Умение адекватно описывать обнаруженные проблемы, неадекватное поведение системы или, попросту, баги
Это умение включает в себя способность, например, написать грамотный заголовок к тексту дефекта. Для обучения этому умению достаточно применить способ, разработанный в журналистике: вводная информация должна содержать ответы на базовые вопросы «кто, что делает, где». Журналисты могут отвечать на большее количество вопросов, выписывая заголовки статей и хедлайнеры, однако для написания заголовка успешному тестировщику достаточно адекватно ответить на эти три.
Далее, успешный тестировщик должен уметь корректно описать неадекватное поведение системы. Для этого в тексте описания должны присутствовать информация как минимум такого рода:
а) описание области, в которой проявляется неадекватное поведение системы (включая информацию об окружении системы)
б) пошаговая инструкция, как добиться описанного в заголовке неадекватного поведения системы
в) объяснение, чем конкретно полученное поведение системы отличается от ожидаемого поведения системы
г) должны быть приложены все необходимые логи, скриншоты и прочая дополнительная информация, которая поможет разработчику точнее установить, с какой конкретно областью его кода связана выявленная неадекватность поведения. Сложность в том, что не во всех случаях эти логи необходимы.
Проверить данное умение на интервью тоже достаточно просто: можно всего лишь попросить кандидата написать типовое, по его мнению, сообщение об ошибке. Все умения кандидата наглядно проявятся в том, что конкретно он напишет.
3. Умение писать алгоритмически простые тест-кейсы
На долгосрочных и сложных проектах команда тестирования может полностью смениться несколько раз за все время разработки продукта. Тест-кейсы, по сути, важная информация о ходе тестирования продукта, полезная не только для автора, но и для новичков. Понятные и простые тест-кейсы позволяют ввести новичка в курс дела очень просто: достаточно выдать ему набор тест-кейсов и доступ к более-менее стабильной версии системы, и, прогоняя эти тест-кейсы, тестировщик плавно и с пользой для дела сможет влиться в командную работу.
Соответственно, очень важно, чтобы тест-кейсы были написаны простым, понятным языком и содержали всю необходимую информацию, чтобы выполнить их мог человек, не знакомый с тестируемым продуктом и его окружением вовсе, или, хотя бы, чтобы для выполнения тест-кейса новичку нужно было задать всего несколько вопросов более опытным товарищам.
Умение писать такие тест-кейсы тоже достаточно легко проверить на интервью при помощи простой задачи.
4. Умение ранжировать дефекты по важности
На самом деле, для разных тестируемых систем актуальны разные способы ранжирования дефектов по важности. На разных проектах приняты разные уровни оценки важности дефекта, иногда существует не одна шкала ранжирования, а две. Главный вопрос тут, понимает ли тестировщик принципиальное отличие блокирующего дефекта от просто важного и, например, их обоих от незначительного, а так же, сможет ли он, задавая необходимые для этого вопросы, уяснить для себя, по какому принципу ранжируются дефекты на данном конкретном проекте.
Тестировщик, не обладающий подобным навыком, в лучшем случае задергает более опытных товарищей вопросами, какой важности ставить дефект, в худшем же случае начнет проставлять важность по принципу «от балды», чем вызовет немалое количество ненужных конфликтов в проектной команде.
Умение ранжировать дефекты тоже достаточно легко выявляется на интервью, достаточно задать несколько простых вопросов кандидату.
5. Любопытство
Это базовое свойство, необходимое любому тестировщику. Тестировщик, не обладающий любопытством, не сможет адекватно протестировать ни одну систему. В лучшем случае, он будет хорошо выполнять написанные кем-то другим тест-кейсы и заводить дефекты, которые на его месте мог бы выявить кто угодно. Такой тестировщик — не обладающий любопытством — может оказаться полезным на проекте, если обладает дисциплинированностью и исполнительностью, но «звездой» ему никогда не стать.
Понять, обладает ли этим свойством личности человек, легко можно, просто пронаблюдав его поведение на интервью — конкретно, пронаблюдав за тем, какие вопросы человек задает в ходе собеседования и задает ли вопросы вообще.
6. Дисциплинированность
Думаю, нет необходимости вдаваться в подробности, что обозначает это слово. Тест-кейсы должны быть написаны в срок, дефекты должны быть оформлены сразу после обнаружения, дефекты должны быть перепроверены сразу, как только соответствующий патч попал на стенд тестирования, etc, etc, etc.
К сожалению, мне неизвестен способ узнать в ходе интервью, обладает ли кандидат подобным качеством, однако не обладающие им люди, как правило, ярко заметны по тому, что начинают рассказывать о том, как ловко удалось им уклониться от того или иного обязательного действия на прошлом проекте.
Перечислять полезные soft-skills тестировщика, при желании, можно до бесконечности, однако шесть вышеописанных — именно те качества, отсутствие которых принесет много головной боли, назовем условно эту должность, менеджеру по тестированию проекта во время проведения работ, собственно, по тестированию проекта.
Желаю всем удачных собеседований на роль тестировщика и удачного нахождения высококвалифицированных людей на эту же роль. Спасибо за внимание к этой статье.