Мы разработали automated testing dojo специально для тестировщиков - автоматизаторов. Теперь и у вас есть возможность провести время с фаном, продемонстрировать свой инструментарий из чемоданчика, которым каждый день пользуетесь.
10. …вот мы и подумали,
что хорошо бы уравновесить…
11. В чем суть игры?
Есть web приложение – оно
соджержит баги.
Баги то появляются, то пропадают –
вы их ищете, автоматизируя.
Найдете - получите +1.
Ошибетесь или не найдете -1.
И так - кто быстрее
Как умеете, главное как можно
больше отловить.
14. Здорово, что появилось такое
мероприятие для QA. Было интересно
поучаствовать, посоревноваться. Сделать
покрытие для небольшого приложения за
коротки сроки и всю ту радость которую
получаешь автоматизируя проекты и
находя баги в течении полугода, на
Этом мероприятии уже начинаешь получать на 15й
минуте. Формат соперничества, помогает всегда быть
в моменте, а знание что не все еще найдено, наводит
на мысли правильности покрытия автотестами, и
рассматривать уже покрытые тестами области с новой
стороны.
… и мы в этом убедились
Ребята, моего коллегузвать Сергей, а меня Саша. Сегодня мы поговорим про одну нашу разработку, которая называется automated testing dojo.
Чтобы ответить на этот вопрос - копнем немного в прошлое и попробуем понять как это все получилось.
Стоит признать, что без тестов проект долго не живет. Проекту нужны тесты на всех уровнях – от юнит, до функциональных. Раньше функциональные тесты писали сами программисты, позже для этого выделили отдельную роль. Те тестировщики, которые небезразличны к программированию стали понемногу кодить – автоматизировать мануальную рутину. И это здорово, поскольку тестировщик смотрит под другим углом зрения на требования, программный продукт. Но есть и другая сторона медали – программист-новичок сталкивается с непростой задачей и без опыта сложно сразу написать качественный код. И ему не всегда помогает опытный программист – у него свои задачи. Работая с автоматизаторами на разных проектах мы пришли к одному выводу – программисты, не важно, что они решают – автоматизацию или сам код программы, должны обмениваться опытом! В одиночку им не стоит.
Но хорошо! Обменялись ребята опытом, что дальше?Как понять эффективна ли новая практика?Стал ли лучше код? Будет ли автоматизация после нововведения проще/быстрее/качественнее? Что даст нововведение?И тут субъективное мнение экспериментатора не в счет!
Если бы все было так просто, тогда ответить на вопросы о эффективности нововведения было бы не сложно. Но в реальной автоматизации каждый из этапов можно разбить на ряд подэтапов – это все время. За этой всей работойсложно углядеть преимущество нововведения. Вот если бы упростить процесс максимально...
«Попробуй это в песочнице» - часто говорят программисты друг другу, когда стоит задача получить быстрый фидбек. Это может помочь и в автоматизации. Мы пошли тем же путем, создав простое web приложение в котором есть баги, которые то появляются то исчезают. Но это не все – чего-то не хватает.
Замечание из тренерского опыта - люди не любят слушать тренера, они любят играть. А играючи люди учатся. В игре быстрее получаешь/принимаешь фидбек. И происходит это естественно – тебе никто не говорит, что ты неправ в чем-то. Ты сам делаешь выводы на основе своей игры и ее результатов.Есть стимул действовать, а значит быстрее обучаешься. Но как скрестить игру и программирование?
Для этих целей есть один хороший формат – названный их авторамиcoding dojo.Мы его проводили неоднократно для программистов и с уверенностью можем сказать, что это работает! Ребята с удовольствием собираются на coding dojo встречи и играючи делятся опытом. Причем делают это часами подряд.
…тольковот для программистов-автоматизаторов ничего подобного мы не нашли. Что огорчает!
И вот в одно субботнее утро, мы брейнстормили возле доски на тему, а чтобы такого сделать для автоматизаторов, чтобы АХ?! Идея не заставила себя ждать...
Через месяц родилась игра, правила которой вкратце описаны тут. Мы сжали одну обычную scrum итерацию до нескольких часов,оставив при этом все те грабли, которые подстерегают тестировщика на пути автоматизации его приложения. Разработчики кодят, выкатывают релизы с новой функциональностью, но вместе с тем они регулярно делают фиксы в текущей – дизайн меняется, баги то появляются то исчезают. Каждые 10 минут ситуация меняется.
Можно играть самому, но лучше это делать в компании – тогда включается элемент соревнований, а это придает драйва! А очки всех игроков можно вывести, скажем, на один большой экран.
Мы провели эту игру несколько раз и заметили, что отзыв, в отличие от других не игровых тренингов, практически 100% положительный. Значит – наша идея получилась.
Какие фидбеки мы молучили? - это весело- соперничество стимулирует - лучше всего работать парой - тестировщик плюс программист автоматизатор- Фреймворк можно использовать не только в группе, но индивидуально – тау уже был обучен джаве один тестировощик-программист Но каждый участник унес из встречи что-то свое, уникальное – то что нужно было только ему.
Расскажем более подробнее про то, как играть
После подключения к серверу вы увидите меню. Тут можно зарегистрироваться, перейти к приложению, которое предстоит автоматизировать и увидеть доску почета,а там все зарегистрированные участники и их очки.
А вот и приложение. Это супер-веб-магазин, но мы agile разработчики, а потому сделали для начала возможность найти товар. Каждое будущее добавление новой функциональности мы называем major release.
Это все, что у нас есть в магазине. Называйте это тестовыми данными. И это константа.
Но есть и minor release – несущественное изменение в пределах одного major release. Внем разработчики занимаются багфиксом, но вероятно добавят новых багов. Тут уж постарайтесь, отловите их.
Чтобы вам было проще подготовить инфраструктуру для тестирования – первые пол часа багов нет, а значит очки никто не будет снимать. Автоматизируйте, привыкайте к приложению, заготавливайте свой test framework.
Но потом разработчики начнут что то менять в приложении – баги неизбежны. Они приходят, другие уходят. И только ваши тесты смогут отловить их.
Вся функциональность разбита на сценарии поведения приложения. В каждом отдельном сценарии может появиться бага. Не более одной баги на один сценарий.
Для рипортинга серверу о багах мы подготовили клиентский шаблон. В нем будут размещены ваши тесты. Он будет сообщать серверу о работоспособности сценариев.
Видите аннотацию Scenario с номерком. Тестов с такой аннотацией может бытьнесколько. Каждый тестирует свой аспект сценария. Но если один из них нашел багу – значит сценарий поломан. Об этом узнает сервер и начислит вам очки.
Всех автоматизаторов, участников игры, этот вопрос интересовал больше всего.
Но чаще бывает, что вы успеваете, а потому получите плюшку!
Спустя несколько minor’ныхвыкаток старые баги могут появляться повторно. За каждую такую повторно пойманную багу вы получаете немного меньше очков чем раньше.
Бывает и такое, что тест находит багу, но потом, через несколько minor release, перестает ее видеть. Он лжет. Это страшный грех, причем за первый рипорт вы получили плюшку, так что теперь с вас снимут по полной.
Нет багов, нет денег
Ваш тест говорит неправду. Тоже минус.
Снова неправда – снова минус.
Если за время между двумя minor release ваши тесты не нашли ни одной баги – получите за кажду штраф
Но надавайте отвлечемся от очков
После регистрации в игре (кстати, имя не забываем – оно указывается в вашем тесте)…
…вы попадаете на страничку ваших логов. И тут много полезной информации.
Например, номера текущихрелизов
Сколько времени у вас осталось до следующей выкатки дивелоперами своего minor release
Можно даже почитать описание всех сценариев текущего Majour release
И лог вашей игры. Что когда вы рипортили, по каким сценариям и в каких релизах, а так же сколько очков вам за это начислил игровой сервер.
Опять же можно посмотреть описание отдельно взятого сценария
А на «доске почета» можно ознакомиться с суммой очков каждого игрока – этот экран будет виднеться на общем большом экране во время всей игры.
Так же можно подглянуть на логи соперника
Хочется подсуммировать все сказанное. Играйте на работе – так знания усваиваются легче, а фидбек передается естественно (то есть без конфликтов) и пусть победит сильнейший.
А вот наши контакты для тех, кто заинтересован игровыми тренингами и at dojo в частности.