Что пишут в блогах

Подписаться

Онлайн-тренинги

Конференции

Разделы портала

Про инструменты

Лучшие вакансии

.
Как обучать тестировщика
21.11.2016 10:38

Автор: Клэр Реклесс (Claire Reckless)

Оригинал статьи: https://dojo.ministryoftesting.com/lessons/how-to-train-up-a-new-software-tester

Перевод: Ольга Алифанова

Все тестировщики с чего-то начинали. Помните, как начинали лично вы? Обучали ли вас старшие товарищи? Помогло ли это вам в дальнейшей карьере? Или вас просто бросили в воду, как щенка, и вы выплывали самостоятельно?

Я неоднократно слышала "Меня никто не учил тестировать – просто кто-то должен был этим заниматься". Возможно, вы прекрасно справились в подобной ситуации, как и многие другие тестировщики. Но, может быть, вы чувствовали растерянность, отсутствие поддержки и уверенности в том, что именно вам нужно делать и почему. Даже опытные тестировщики могут ощущать нечто подобное в новой для себя роли.

Многим из нас довелось побывать и с другой стороны этой медали, будучи ответственными за обучение новеньких коллег. Зачастую трудно понять, с чего конкретно начать, как определить, в каком именно обучении нуждается тестировщик. Это сильно зависит от человека, контекста и доступных вам ресурсов. Возможно, у вас есть структурированная программа обучения для новичков, но если она отсутствует, вам придется самостоятельно направлять новых тестировщиков на пути их развития и давать им обратную связь, чтобы они могли эффективно развивать необходимые навыки.

Как же обучать тестировщиков? На этот вопрос нет однозначного ответа. О чем нужно подумать? Как не заставить коллегу чувствовать себя заваленным новой информацией? Как поднять его уверенность в себе?


Узнайте о них больше

Во-первых, убедитесь, что вы уже кое-что знаете о своих новых сотрудниках! Если вы участвовали в процессе найма, то эта информация у вас уже есть:

  • Для них это совершенно новая роль, или нет? К примеру, возможно, человек только что закончил университет?
  • Есть ли у них опыт тестирования?
  • Работали ли они уже в технической роли – к примеру, разработчиком или сотрудником службы поддержки?
  • Знают ли они вашу отрасль?
  • Какое тестирование им нравится больше всего? Какое меньше всего?
  • Почему именно они хотят присоединиться к вашей команде? Какие у них карьерные цели?

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

Исследуйте продукт

Позвольте новичку побыстрее приступить к знакомству с продуктом – это отличный способ начать обучение! Поощряйте его задавать вопросы, чтобы он лучше разобрался в системе.

  • Найдите время, чтобы провести сессию исследовательского тестирования с новенькими тестировщиками: пусть они освоят основную функциональность приложения. К концу этой сессии они должны понимать, как именно меняется информация в приложении, каковы потенциальные облаасти риска, и как продукт взаимодействует с другими системами. Попросите их объяснить вам, что они узнали о продукте.
  • Возможно, у вашего продукта есть документация? Руководство пользователя, справка, внутренняя Wiki или база знаний – все это помогает разобраться в продукте. Убедитесь, что ваши новички знают, где эта документация находится.
  • Если продукт требует установки или настройки, или же тестовое окружение должно настраиваться с нуля, попросите своих новичков заняться этим. Это поможет им разобраться в различных компонентах продукта и том, как они связаны друг с другом. Это знание ляжет в основу их собственных моделей продукта и поможет им тестировать.
  • Расскажите, как найти логи продукта.
  • Покажите им демонстрационные видео – они помогут понять, как продукт будет использоваться.
  • Обзор будущих релизов и глобальных целей поможет новичку понять, куда именно движется ПО, и каково мировоззрение компании.
  • Расскажите об успехах и провалах вашего продукта и вашей команды. Это поможет новому тестировщику избежать лишних ошибок или ненужных трудозатрат.

Пусть они думают, как тестировщики

Наилучший способ научиться тестировать и познакомиться с продуктом – это, собственно, начать тестировать его. Конечно, очень заманчиво озадачить новичка пачкой тест-кейсов, но вряд ли это поможет ему исследовать и изучать продукт. Черта многих отличных тестировщиков – это любопытство, подталкивающее их к поиску ответов на вопрос "Что будет, если я сделаю так?" Пусть ваши новички развивают этот навык! Не забудьте дать им обратную связь и конструктивную критику на любой стадии их тестирования.

  • Попросите их протестировать существующую фичу продукта, в которой есть известные вам баги. Объясните, как пользоваться тест-чартером, чтобы сфокусировать свои усилия, и попросите задокументировать ход сессии тестирования. Если они найдут не все известные вам баги, подскажите им, какими еще идеями тестирования можно вдохновиться, чтобы их найти.
  • Когда они находят баг, просите их воспроизвести его и исследовать. Определили ли они точные обстоятельства, при которых баг возникает? Строят ли они предположения, что именно вызывает проблему, изолируют ли они ее, уточняют ли имеющуюся у них информацию?
  • Попросите их зарепортить найденные баги, покажите им примеры хороших баг-репортов в вашем трекере. Предварительно, конечно, убедитесь, что эти баги еще не заведены.
  • Попросите их нарисовать ментальную карту тестирования фичи. Фокусируется ли ваш тестировщик исключительно на функциональности? Думает ли он о производительности, безопасности, удобстве использования, тестирует ли он только на уровне интерфейса? Есть ли у него идеи, какие инструменты он может использовать для тестирования?
  • Назначьте сессии парного тестирования с другими членами вашей команды. Неважно, насколько опытен ваш тестировщик – такие сессии всегда очень полезны.
  • Когда ваши новички приступают к тестированию новых фич, проводите ревью их тестирования. Убедитесь, что они тестируют, а не просто подтверждают соответствие критериям приемки или требованиям.
  • Попросите их провести ретест баг-фиксов и попросите объяснить, как именно они это делают. Они тупо ходят по шагам баг-репорта, или проводят мини-регрессию?
  • Объясните, что такое эвристики и оракулы, и как они помогают тестировщику. Катрина Клоки писала отличную статью на эту тему.

Наработка технических навыков

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

Какими инструментами вы пользуетесь в тестировании? Инструменты браузера, дополнения, прокси… Попросите вашего новичка поизучать их и выяснить, как они работают, если новичок с ними не знаком. Расскажите, как именно их используете вы, и почему они важны для вашего тестирования. Продемонстрируйте, как работают важные инструменты и как их использовать для сбора важной информации.

Вот о чем еще стоит подумать:

  • Базы данных: убедитесь, что ваш новичок знает, как работать с информацией, хранящейся в базах данных.
  • Тестирование API: если ваш новичок никогда не тестировал без помощи интерфейса, ему стоит разобраться, как тестировать API и интерпретировать результаты запросов.
  • Безопасность: очень важная характеристика практически для любого приложения. Какими техниками тестирования безопасности нужно пользоваться? OWASP перечисляет множество полезных источников информации, посвященных тестированию безопасности веб-приложений.
  • Производительность: какие требования к производительности выдвигаются к продукту, и как именно они тестируются?
  • Программирование: если автотесты в приоритете, помогите вашему тестировщику начать осваивать необходимый язык программирования.
  • Фреймворк автоматизации: если у вашего новичка есть опыт программирования, расскажите ему про ваш фреймворк. Попросите его поработать в паре с другим тестировщиком, написать автотест и провести код-ревью.

Важные процессы

Процессы, применяющиеся в команде, очень важны для результатов проекта, и новеньким нужно разобраться, как именно у вас принято работать. Подумайте вот о чем:

  • Подключайте их к командным встречам и спринтам как можно раньше – они познакомятся с коллегами, их ролями, и способами организации труда в компании.
  • Убедитесь, что они понимают цель ваших встреч – возможно, они ранее не сталкивались с Agile-методологией и недоумевают, зачем все это нужно.
  • Пусть они пообщаются с разработчиками и поймут, над чем те работают. Пишут ли они юнит-тесты? Участвуют ли в этом процессе тестировщики?
  • Как автотесты вписываются в процесс тестирования в вашем проекте?
  • Если вы используете непрерывную интеграцию, объясните специфику этого процесса и его преимущества.
  • Есть ли какие-то законодательные ограничения или стандарты, которым ваша команда должна удовлетворять?
  • Как команда приоритезирует баги? Это делает тестировщик, или весь коллектив совместно?
  • Как документируется тестирование? Приведите примеры того, как вы это делаете, и дайте обратную связь по документации тестирования, предоставленной вашим новичком.

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

Как насчет компании в целом?

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

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

Люди – это важно

В курсе ли вы, какая поддержка будет оказана вашему новичку? Речь идет не только о развитии технических навыков и умения тестировать, но и освоиться в компании, а позднее – расти, развиваться и преуспевать.

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

  • Система наставничества: пусть опытные члены команд помогут вашему новичку освоиться.
  • Коучинг и обучение помогут новенькому разобраться, как раскрыть свой потенциал.
  • Установите краткосрочные и долгосрочные цели и задачи для нового сотрудника.

Новички хотят узнать больше?

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

Обсудить в форуме