|
Автор: Клэр Реклесс (Claire Reckless)
Оригинал статьи: https://dojo.ministryoftesting.com/lessons/how-to-train-up-a-new-software-tester
Перевод: Ольга Алифанова
Все тестировщики с чего-то начинали. Помните, как начинали лично вы? Обучали ли вас старшие товарищи? Помогло ли это вам в дальнейшей карьере? Или вас просто бросили в воду, как щенка, и вы выплывали самостоятельно?
Я неоднократно слышала "Меня никто не учил тестировать – просто кто-то должен был этим заниматься". Возможно, вы прекрасно справились в подобной ситуации, как и многие другие тестировщики. Но, может быть, вы чувствовали растерянность, отсутствие поддержки и уверенности в том, что именно вам нужно делать и почему. Даже опытные тестировщики могут ощущать нечто подобное в новой для себя роли.
Многим из нас довелось побывать и с другой стороны этой медали, будучи ответственными за обучение новеньких коллег. Зачастую трудно понять, с чего конкретно начать, как определить, в каком именно обучении нуждается тестировщик. Это сильно зависит от человека, контекста и доступных вам ресурсов. Возможно, у вас есть структурированная программа обучения для новичков, но если она отсутствует, вам придется самостоятельно направлять новых тестировщиков на пути их развития и давать им обратную связь, чтобы они могли эффективно развивать необходимые навыки.
Как же обучать тестировщиков? На этот вопрос нет однозначного ответа. О чем нужно подумать? Как не заставить коллегу чувствовать себя заваленным новой информацией? Как поднять его уверенность в себе?
Узнайте о них больше
Во-первых, убедитесь, что вы уже кое-что знаете о своих новых сотрудниках! Если вы участвовали в процессе найма, то эта информация у вас уже есть:
- Для них это совершенно новая роль, или нет? К примеру, возможно, человек только что закончил университет?
- Есть ли у них опыт тестирования?
- Работали ли они уже в технической роли – к примеру, разработчиком или сотрудником службы поддержки?
- Знают ли они вашу отрасль?
- Какое тестирование им нравится больше всего? Какое меньше всего?
- Почему именно они хотят присоединиться к вашей команде? Какие у них карьерные цели?
Ответы на эти вопросы помогут вам правильно сконструировать программу обучения и определить, какой уровень надзора за процессом тут необходим. Вы учите человека быть тестировщиком, или оттачиваете его навыки так, чтобы он лучше вписался в конкретную роль?
Исследуйте продукт
Позвольте новичку побыстрее приступить к знакомству с продуктом – это отличный способ начать обучение! Поощряйте его задавать вопросы, чтобы он лучше разобрался в системе.
- Найдите время, чтобы провести сессию исследовательского тестирования с новенькими тестировщиками: пусть они освоят основную функциональность приложения. К концу этой сессии они должны понимать, как именно меняется информация в приложении, каковы потенциальные облаасти риска, и как продукт взаимодействует с другими системами. Попросите их объяснить вам, что они узнали о продукте.
- Возможно, у вашего продукта есть документация? Руководство пользователя, справка, внутренняя Wiki или база знаний – все это помогает разобраться в продукте. Убедитесь, что ваши новички знают, где эта документация находится.
- Если продукт требует установки или настройки, или же тестовое окружение должно настраиваться с нуля, попросите своих новичков заняться этим. Это поможет им разобраться в различных компонентах продукта и том, как они связаны друг с другом. Это знание ляжет в основу их собственных моделей продукта и поможет им тестировать.
- Расскажите, как найти логи продукта.
- Покажите им демонстрационные видео – они помогут понять, как продукт будет использоваться.
- Обзор будущих релизов и глобальных целей поможет новичку понять, куда именно движется ПО, и каково мировоззрение компании.
- Расскажите об успехах и провалах вашего продукта и вашей команды. Это поможет новому тестировщику избежать лишних ошибок или ненужных трудозатрат.
Пусть они думают, как тестировщики
Наилучший способ научиться тестировать и познакомиться с продуктом – это, собственно, начать тестировать его. Конечно, очень заманчиво озадачить новичка пачкой тест-кейсов, но вряд ли это поможет ему исследовать и изучать продукт. Черта многих отличных тестировщиков – это любопытство, подталкивающее их к поиску ответов на вопрос "Что будет, если я сделаю так?" Пусть ваши новички развивают этот навык! Не забудьте дать им обратную связь и конструктивную критику на любой стадии их тестирования.
- Попросите их протестировать существующую фичу продукта, в которой есть известные вам баги. Объясните, как пользоваться тест-чартером, чтобы сфокусировать свои усилия, и попросите задокументировать ход сессии тестирования. Если они найдут не все известные вам баги, подскажите им, какими еще идеями тестирования можно вдохновиться, чтобы их найти.
- Когда они находят баг, просите их воспроизвести его и исследовать. Определили ли они точные обстоятельства, при которых баг возникает? Строят ли они предположения, что именно вызывает проблему, изолируют ли они ее, уточняют ли имеющуюся у них информацию?
- Попросите их зарепортить найденные баги, покажите им примеры хороших баг-репортов в вашем трекере. Предварительно, конечно, убедитесь, что эти баги еще не заведены.
- Попросите их нарисовать ментальную карту тестирования фичи. Фокусируется ли ваш тестировщик исключительно на функциональности? Думает ли он о производительности, безопасности, удобстве использования, тестирует ли он только на уровне интерфейса? Есть ли у него идеи, какие инструменты он может использовать для тестирования?
- Назначьте сессии парного тестирования с другими членами вашей команды. Неважно, насколько опытен ваш тестировщик – такие сессии всегда очень полезны.
- Когда ваши новички приступают к тестированию новых фич, проводите ревью их тестирования. Убедитесь, что они тестируют, а не просто подтверждают соответствие критериям приемки или требованиям.
- Попросите их провести ретест баг-фиксов и попросите объяснить, как именно они это делают. Они тупо ходят по шагам баг-репорта, или проводят мини-регрессию?
- Объясните, что такое эвристики и оракулы, и как они помогают тестировщику. Катрина Клоки писала отличную статью на эту тему.
Наработка технических навыков
Ваша команда наверняка использует целый спектр технических навыков для тестирования продукта – и я не имею в виду автотесты, хотя они, безусловно, тоже очень важны. Навыки, которые помогают тестировщику в работе, можно перечислять бесконечно.
Какими инструментами вы пользуетесь в тестировании? Инструменты браузера, дополнения, прокси… Попросите вашего новичка поизучать их и выяснить, как они работают, если новичок с ними не знаком. Расскажите, как именно их используете вы, и почему они важны для вашего тестирования. Продемонстрируйте, как работают важные инструменты и как их использовать для сбора важной информации.
Вот о чем еще стоит подумать:
- Базы данных: убедитесь, что ваш новичок знает, как работать с информацией, хранящейся в базах данных.
- Тестирование API: если ваш новичок никогда не тестировал без помощи интерфейса, ему стоит разобраться, как тестировать API и интерпретировать результаты запросов.
- Безопасность: очень важная характеристика практически для любого приложения. Какими техниками тестирования безопасности нужно пользоваться? OWASP перечисляет множество полезных источников информации, посвященных тестированию безопасности веб-приложений.
- Производительность: какие требования к производительности выдвигаются к продукту, и как именно они тестируются?
- Программирование: если автотесты в приоритете, помогите вашему тестировщику начать осваивать необходимый язык программирования.
- Фреймворк автоматизации: если у вашего новичка есть опыт программирования, расскажите ему про ваш фреймворк. Попросите его поработать в паре с другим тестировщиком, написать автотест и провести код-ревью.
Важные процессы
Процессы, применяющиеся в команде, очень важны для результатов проекта, и новеньким нужно разобраться, как именно у вас принято работать. Подумайте вот о чем:
- Подключайте их к командным встречам и спринтам как можно раньше – они познакомятся с коллегами, их ролями, и способами организации труда в компании.
- Убедитесь, что они понимают цель ваших встреч – возможно, они ранее не сталкивались с Agile-методологией и недоумевают, зачем все это нужно.
- Пусть они пообщаются с разработчиками и поймут, над чем те работают. Пишут ли они юнит-тесты? Участвуют ли в этом процессе тестировщики?
- Как автотесты вписываются в процесс тестирования в вашем проекте?
- Если вы используете непрерывную интеграцию, объясните специфику этого процесса и его преимущества.
- Есть ли какие-то законодательные ограничения или стандарты, которым ваша команда должна удовлетворять?
- Как команда приоритезирует баги? Это делает тестировщик, или весь коллектив совместно?
- Как документируется тестирование? Приведите примеры того, как вы это делаете, и дайте обратную связь по документации тестирования, предоставленной вашим новичком.
Тестировщики постоянно ищут новые способы сделать что-либо, и когда новый человек со свежим взглядом присоединяется к команде, его вопросы могут помочь нам пересмотреть наши процессы и улучшить их. Когда я занималась подготовкой тестировщиков, я давала им понять, что им не стоит бояться предлагать новые способы работы, и что участие в ретроспективах – хороший способ это сделать.
Как насчет компании в целом?
Возможно, в вашей компании нет налаженного процесса ввода новичка в работу, включающего в себя понимание бизнеса в целом. Обычно не нужно испрашивать специального разрешения, чтобы ваш тестировщик смог провести хотя бы полчаса в других отделах и разобраться, чем именно они заняты. Это неплохой способ понять бизнес и культуру компании, а также важность своего места в общей картине.
Отсутствие барьеров между различными командами очень помогает в этом. Тестировщикам полезно общаться с продажниками, маркетингом и службой поддержки. Разговоры с коллегами, отвечающими за работу с пользователями, дает возможность разобраться, кто ваш пользователь, и учитывать это в тестировании.
Люди – это важно
В курсе ли вы, какая поддержка будет оказана вашему новичку? Речь идет не только о развитии технических навыков и умения тестировать, но и освоиться в компании, а позднее – расти, развиваться и преуспевать.
Легко сфокусироваться на проекте и оставить все остальное за бортом, но тестировщика надо еще и поддерживать в развитии его карьеры. Многие компании налаживают для этого специальные процессы, но если у вас их нет, подумайте, что вы можете предложить вашему новичку, чтобы он достиг своих карьерных целей. Последнее, что вам нужно – это уволившийся сотрудник, который не видит для себя вариантов для развития.
- Система наставничества: пусть опытные члены команд помогут вашему новичку освоиться.
- Коучинг и обучение помогут новенькому разобраться, как раскрыть свой потенциал.
- Установите краткосрочные и долгосрочные цели и задачи для нового сотрудника.
Новички хотят узнать больше?
Когда новенький тестировщик приступает к работе, не думайте, что они в курсе всего существующего за пределами компании. Подскажите им полезные ресурсы для развития, поделитесь ссылками на сайты и сообщества тестировщиков, статьи, книги, блоги. Обсудить в форуме
|