Automated testing dojo - how to play game

4,739 views
4,836 views

Published on

Мы разработали automated testing dojo специально для тестировщиков - автоматизаторов. Теперь и у вас есть возможность провести время с фаном, продемонстрировать свой инструментарий из чемоданчика, которым каждый день пользуетесь.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,739
On SlideShare
0
From Embeds
0
Number of Embeds
3,828
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Ребята, моего коллегузвать Сергей, а меня Саша. Сегодня мы поговорим про одну нашу разработку, которая называется 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 в частности.
  • Automated testing dojo - how to play game

    1. 1. Зачем это все?
    2. 2. На проектах нужна автоматизацияАвтоматизаторы – это программистыПрограммисты - пишут кодКод должен быть качественный А где тут узкое место?
    3. 3. Нововведение?!А стоит ли овчина выделки?
    4. 4. АвтоматизацияЗапуск → Анализ → Корректировка
    5. 5. Песочница – место для экспериментов
    6. 6. IT’шники любят веселые тренинги...
    7. 7. Dojo для проггеров уже есть...
    8. 8. …а для прогеров-автоматизаторов нет
    9. 9. …вот мы и подумали, что хорошо бы уравновесить…
    10. 10. В чем суть игры? Есть web приложение – оно соджержит баги.Баги то появляются, то пропадают – вы их ищете, автоматизируя. Найдете - получите +1. Ошибетесь или не найдете -1. И так - кто быстрее  Как умеете, главное как можно больше отловить.
    11. 11. Соревнование – придает драйва
    12. 12. … и мы в этом убедились
    13. 13. Здорово, что появилось такое мероприятие для QA. Было интереснопоучаствовать, посоревноваться. Сделатьпокрытие для небольшого приложения за коротки сроки и всю ту радость которую получаешь автоматизируя проекты и находя баги в течении полугода, на Этом мероприятии уже начинаешь получать на 15йминуте. Формат соперничества, помогает всегда бытьв моменте, а знание что не все еще найдено, наводит на мысли правильности покрытия автотестами, ирассматривать уже покрытые тестами области с новой стороны.… и мы в этом убедились
    14. 14. Как играть?
    15. 15. Регистрируемся Автоматизируем Радуемсярезультату
    16. 16. Вот «оно» В Major Release 1 – все просто* *be agile
    17. 17. И это все товарыв магазине
    18. 18. Каждый новый Minor Releaseдобавляет багов
    19. 19. Первые пол часа разогрев – без багов
    20. 20. Потом включаем баги…..
    21. 21. Описаниесценариев
    22. 22. IP сервера Ваше имя
    23. 23. Номерсценария Код теста
    24. 24. Какначисляются очки?
    25. 25. Бага, которую нашли +10
    26. 26. Нашли багу еще раз*+8, +6, +2*спустя несколько minor releases
    27. 27. Тест лжец-100
    28. 28. Баги нет и тест зеленый 0
    29. 29. Бага есть, а тест зеленый -10
    30. 30. Баги нет, а тест слетел -10
    31. 31. При переключении majour Σ (-10) iза каждую ненайденную багу
    32. 32. Веренмся к игре
    33. 33. Имя не забываем
    34. 34. Это страничка ваших логов
    35. 35. Номерарезлизов
    36. 36. Время до апдейта минорного
    37. 37. Описаниесценариев
    38. 38. Подсказки по игре
    39. 39. Тут описание сценария
    40. 40. Списокиграющих
    41. 41. А тут логи
    42. 42. Пусть победит сильнейший!

    ×