четверг, 7 сентября 2017 г.

О тест кемпе на SQA Days-21

После долгого перерыва - всем привет, ребят!

Несмотря на то, что после SQA Days-21 в Москве прошло уже несколько месяцев, я бы хотел рассказать об интересном формате, который мы попробовали провести на этой конференции - Test Camp. Мы не собираемся останавливаться на этом единичном случае, поэтому хотелось бы провести что-то вроде ретроспективы: сделать выводы о том, что получилось, что - нет. Тех ребят, которым удалось поучаствовать в Test Camp (а я точно знаю, что некоторые участники читают мой блог :)) - очень прошу оставить обратную связь в комментариях.

Предыстория

Давайте начнем с предыстории.

В зарубежном сообществе формат тест кемпа известен и используется уже довольно давно, но под другим названием - test lab (тестовая лаборатория). Тестовые лаборатории были организованы на нескольких конференциях (к примеру, на Eurostar). Сообществу очень понравился этот формат, о чем свидетельствует множество положительных отзывов (например, почитайте короткий отзыв Майкла Болтона).

Идея о проведении тестовой лаборатории на SQA Days возникла довольно давно, но, как часто бывает, ей не хватало импульса. В нашем случае тем самым импульсом, который помог реализовать эту идею, стало посещение Алексеем Федоровым тестовой лаборатории на Eurostar. Все-таки лучше один раз увидеть, чем много раз услышать :)

Формат

Пару слов о самом формате.

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

Обычно (по опыту зарубежных коллег) для тестовой лаборатории выбирается одна или несколько тем. Например, темой может быть исследовательское тестирование или тестирование мобильных приложений. Дальше идет подготовка практических заданий, с помощью которых эта тема будет раскрываться в рамках тестовой лаборатории: выбирается продукт для тестирования, придумываются активности, идет работа над вводной информацией, необходимой для участников. Внешне тестовая лаборатория выглядит как некоторое пространство с несколькими столами, флип чартами, ноутбуками. Вот как это выглядело на SQA Days:


В общем, на словах все достаточно просто.

Содержание

Не буду рассказывать о технической стороне организации (но скажу спасибо компании Luxoft за предоставленные ноутбуки, ручки и тетрадки!), а расскажу о содержании.

После долгих размышлений мы выбрали 2 темы:

  1. Тестирование API.
  2. Тестирование Internet Of Things.

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


Дальше я расскажу подробнее о выбранных темах.

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

Участникам было предложено выполнить несколько практических заданий (на выбор), в рамках которых предлагалось использовать инструменты Fiddler, OWASP ZAP, Postman. В качестве продукта для тестирования использовался Tracks API. Продукт, как и некоторые идеи для практических заданий, был заимствован из очень хорошей книги по тестированию API - Automating and testing a REST API (автор Alan Richardson).

Задания хранились на сайте, который был специально создан для тест кемпа. Участники могли помечать пройденные задания и тем самым получать доступ к более сложным заданиям (тут мы решили использовать простой механизм gamification). Кроме того, на сайте был таймер - для отслеживания времени выполнения задания. В любой момент участник мог остановить таймер и вернуться к заданию через какое-то время. Мы не рассчитывали, что каждый участник будет безвылазно сидеть в тест кемпе, все-таки главное на конференции - это доклады.

Так выглядели задания на сайте:

Могу сказать, что тема тестирования API была интересна пришедшим на конференцию людям: практически все ноутбуки были заняты, у участников возникали вопросы, шел активный обмен опытом. Некоторые участники, потестировав сами, приводили своих коллег, усаживали их за стол, помогали с выполнением заданий. Кто-то тестировал свой рабочий проект вместо предложенного в рамках тест кемпа :) В общем, шла активная работа / обучение / общение, что не могло не радовать нас, как организаторов.  

Тестирование Internet Of Things
На выбор этой темы повлиял доклад Пола Джеррарда на одной из SQA Days. В докладе Пол рассказывал о том, что скоро все окружающие нас предметы будут подключены к сети: наступит время не только умных домов, но и умных городов, умных кафе, умного транспорта. И что нам, как тестировщикам, нужно быть к этому готовыми. Поэтому мы решили организовать тестовый стенд с реальными устройствами, чтобы участники конференции могли прикоснуться к тестированию IoT.

Тут я хочу сказать огромное спасибо Диме Федорову из компании EPAM! Дима привез из Питера кучу интересных устройств, которые используются для отслеживания времени при проведении раллийных гонок: различные виды датчиков, соединительных кабелей, отражателей, пультов. Из этого всего мы собрали тестовый стенд, который был призван симулировать типичную ситуацию во время гонок: машина при прохождении круга пересекает сначала стартовые датчики, потом датчики финиша, при этом отсечка по времени показывается на ноутбуке.

Жалко, что фоток тестового стенда не осталось, но все вместе это напоминало серверную или какую-то физическую лабораторию: провода, железки, ноутбуки :)

Как мне показалось, участники несколько настороженно отнеслись к тестированию IoT. Желающих было заметно меньше, чем во время тестирования API. И многие приходили просто порулить машинкой на радиоуправлении, что немного нас расстроило. На вопросы: а как бы вы тестировали эти датчики, какие сценарии тестирования вы можете придумать - отвечали единицы.. Наверное, тут была недоработка с нашей стороны, как организаторов. Нужно было придумать конкретные задания, добавить интерактивности. Но лично мне, как человеку, который практически не тестировал ничего подобного, было очень интересно.

Игровые активности
В промежутках между тестированием API и IoT мы проводили игровые активности, которые, на мой взгляд, прошли на ура. Например, мы играли в:
  • Данетки. Для тех, кто не знает, игра заключается в том, что ведущий описывает какую-то ситуацию (например, машины по шоссе двигаются без ограничений в одну сторону, а в другую - намного медленнее). Дальше участники должны отгадать, что произошло, задавая вопросы. При этом ведущий может отвечать только да и нет. Эта игра помогает развить навык задавания вопросов, который так необходим в работе тестера. В среднем, на отгадывание одной загадки уходило минут 30. Очень любопытно было наблюдать за тем, какую тактику выбирают разные участники: кто-то задавал рандомные вопросы, кто-то двигался по продуманной цепочке вопросов. Видно было, что все мы разные и задаем вопросы, основываясь на своем опыте, характере. И интерпретируем ответы мы все по-разному. В этой игре, на мой взгляд, полезно уметь придумывать гипотезы (что произошло) и затем задавать вопросы, ответы на которые либо подтверждают гипотезу (тогда нужно копать гипотезу глубже), либо опровергают (тогда нужно придумывать новую гипотезу). Игра выглядела вот так:      


  • Кубики. В зарубежном сообществе эта игра известна под названием dice game. И до конференции я начитался восторженных отзывов о ней :) В результате мои ожидания оправдались: очень интересно было как самому играть, так и быть ведущим. Суть в том, что берется набор разных игральных кубиков (разного цвета, с разным числом граней). Ведущий выкладывает кубики на стол и про себя загадывает алгоритм, по которому он будет считать эти кубики (например, самое простое, число кубиков с чётными числами на гранях). Дальше участники переворачивают кубики, после чего ведущий называет число, которое получилось при этой комбинации граней. Цель игры - отгадать алгоритм, по которому идет расчет числа. На отгадывание простых алгоритмов у нас уходило минут 5-10, на сложные паттерны - минут по 40-45. Эта игра (вернее, полученные навыки) тоже способна помочь тестировщику в работе. Варьирование входных переменных, наблюдение поведения продукта, построение модели поведения продукта в своей голове - все это очень полезно при тестировании черного ящика. Поэтому советую всем попробовать эту игру! 

Итоги
В целом, я остался доволен тем, как прошел первый тест кемп.

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

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

Благодарности
В заключение, я хотел бы сказать отдельное большое спасибо:

Лёше Федорову - за импульс в проведении тест кемпа, поддержку и помощь во время конференции.
Диме Федорову - за то, что привез кучу различных устройств, терпеливо отвечал на вопросы участников - тем самым оказал огромную помощь в теме тестирования Internet of Things.
Всем участникам тест кемпа - за активность, интересные вопросы, горящие глаза, желание узнать что-то новое.
Организаторам SQA Days - за то, что дали добро на проведение тест кемпа в рамках конференции.

Я все еще с нетерпением жду вашу обратную связь в комментариях :)

Комментариев нет:

Отправить комментарий