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

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

.
Парное тестирование: эксперимент по распространению знаний среди Agile-команд
21.07.2016 10:40

Автор: Катрина Клоки

Оригинал статьи: http://katrinatester.blogspot.ru/2015/06/a-pairing-experiment-for-sharing.html

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

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

Структура эксперимента

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

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

Я решила, что эксперимент будет продолжаться три-четыре месяца, итеративно. В течение месяца каждая пара тестировщиков будет посвящать совместной работе один час в неделю, еженедельно меняя или проект, над которым они работают, или напарника. К примеру, Сэнди, работающая над проектом А, попала в пару к Дэнни (проект Б). В течение первой недели они тестируют проект А за столом Сэнди, затем тестируют проект Б за столом Дэнни, и так далее. В конце каждого месяца каждая пара проводит четыре сессии тестирования, работая дважды над каждым проектом.

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

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

На картинке – пример трех итераций тестирования, в которых задействована Сэнди:


Пример сессии

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

За рабочим столом хозяев проходит сессия. Они ставят задачу для тестирования и несут ответственность за ее выполнение. Некоторая предварительная подготовка не помешает, но чтобы избежать жестких рамок, достаточно ограничить ее простым чек-листом или списком идей для тестирования.

Гость учится у хозяина чему только может, при этом делясь собственными идеями и взглядами на задачу.

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

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

10 минут – обсуждение контекста, истории вопроса и задачи для сессии.

Хозяин знакомит гостя с задачей и делится своими идеями для тестирования, или высокоуровневым планом сессии. Гость задает вопросы, чтобы убедиться, что задача и дальнейшие действия ему понятны.

20 минут – хозяин тестирует, гость делится идеями, задает вопросы и делает заметки.

Хозяин лучше знаком с приложением и поэтому сессия начинается с клавиатурой в его руках. Он объясняет, что именно происходит, в процессе тестирования. Гость удостоверяется, что все действия хозяина ему понятны, задает необходимые вопросы, и записывает все любопытные моменты сессии – например, эвристики или баги.

20 минут – гость тестирует, хозяин помогает, задает вопросы и делает заметки.

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

10 минут – завершение сессии, сбор баг-репортов, размышления над эвристиками, обновление документации.

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

Когда сессия закончится, гость возвращается на свое рабочее место, и пара может заняться обновлением документации/wiki независимо друг от друга.

На картинке ниже – пример возможных вопросов, которые стоит задать в ходе сессии.


Результаты эксперимента

Знакомство с другими командами

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

Эта изоляция приводила к синдрому самозванца – тестировщики начинали сомневаться в своих способностях и перестали чувствовать уверенность, что делают все как надо.

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

Расширение кругозора

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

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

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

Улучшенная коммуникация

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

Хозяин сессии зачастую делал неверные предположения о глубине познаний гостя. Его объяснения – якобы "на пальцах" – звучали очень сложно для человека, незнакомого с проектом.

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

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

Новые подходы

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

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

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

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