среда, 7 марта 2012 г.

Что такое Testing Dojo?

Совсем недавно, перед конференцией XP DaysJohannes Brodwall привез в Украину "Coding Dojo". Это очень интересный формат, где участники не только соревнуются между собой в программировании, но и осваивают на практике определенные навыки.
Мы подумали. А не провести ли нам что-то подобное и для тестировщиков? Оказывается, наши недалекие коллеги уже давно занимаются организацией мероприятий для тестировщиков под названием Testing Dojo.

После тщательных переговоров с организаторами, где мы смогли выяснить всевозможные детали. Было решено провести Testing Dojo в Киеве!

Что же такое Testing Dojo?

Это встреча тестировщиков, которая направленна на практическое применение индивидуальных навыков в группе. Обычно, во время соревнования будет использоваться исследовательское тестирование (Exploratory Testing). Testing Dojo помогает тестировщикам попрактиковаться в тех областях и с теми практиками, которые они еще не успели освоить в своей работе.

Что для этого нужно?
  • Место на 20 человек
  • Ведущий
  • Проектор
  • Ноутбук у каждого из участников (достаточно одного на пару)
  • Блокноты, ручки для заметок
  • Флипчарт или доска
Роли

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

Тестировщик(Tester)
Участник, который держит контроль над клавиатурой, он тестирует программу. Это очень важно для тестировщика быть сфокусированным только на тестировании и не отвлекаться на посторонние объяснения, что именно и как он тестирует.

Регистратор(Recorder)
Регистратор делает заметки после действий тестировщика. Если нету выделенного человека, который будет заниматься этой ролью, тогда сам тестировщик уделяет время этому процессу.

Наблюдатель(Observer)
В Testing Dojo обычно от одного до нескольких наблюдателей, в зависимости от размера группы. Главная обязанность наблюдателя - обзор процесса. Наблюдатель, первым делом, должен смотреть на людей, а не на экран. Так же ему не стоит фокусировать свое внимание на всех вещах. Достаточно выбрать один-два пункта и за ними понаблюдать более детально. Например: test heuristics, test framing, oracles, охват идей, управление фокусом, обсуждения, монологи, паузы в разговорах, паузы в тестировании, зрительный контакт.

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

Механика
Testing Dojo, начинается после того как ведущий объявляет правила. Он или она должны озвучить миссию и уточняет структуру dojo. Участники в группе могут работать индивидуально или в парах.

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

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

Миссия
Тестовые миссии определяют цель для любых активностей тестирования. Миссии могут быть нескольких типов:
  • тестирование продукта
  • использования инструментов
  • использование новых подходов

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

Использование инструментов
Вы можете исследовать инструмент. Обычно это очень полезно, для того чтобы составить тестовую документацию к нему или найти новые неполадки. Выберите один из open-source инструментов,  например Selenium.

Использование новых подходов
В мире тестирования очень много неисследованных подходов. Можете выбрать один из них и более детально углубиться в изучение.

Обратная связь
После каждой тестовой сессии делайте перерывы, чтобы поделиться своими наблюдениями и идеями. Каждый из участников может предлагать свои улучшения к процессу тестирования. Это так же могут быть новые идеи или области, на которые стоит обратить внимание. Попробуйте использовать шаблон "Я предлагаю .... ", но так же не забывайте регулярно напоминать участникам о миссии Dojo.

Говоря о Testing Dojo в целом
Встречи Testing Dojo помогает тестировщикам, собравшимся в одной группе, получить общее представление о подходах и методиках тестирования. Совместная работа позволяет с небывалой скоростью распространять индивидуальные навыки. Новички могут непосредственно понаблюдать за более опытными коллегами. И это, конечно же, поможет им обрести новые знания. Программисты, проектные менеджеры так могут принять участие в Testing Dojo. Это поможет им понаблюдать за работой тестировщиков, чтобы лучше понимать тонкости их профессии.  

Веселого вам тестирования и до встречи на Testing Dojo!

Материалы: