17 июня 2013

Мероприятие: Selenium Conference 2013 в Бостоне

Место

Бостон,RENAISSANCE BOSTON WATERFRONT HOTEL

Постарайтесь лететь в Бостон прямым рейсом, потому что я просидел в JFK в Нью-Йорке 3 лишних часа по причине абсолютно непонятных задержек со стороны Delta Airlines, и это не предел.
Соответственно стыковка на прямой рейс будет где-то в Европе, но это всяко лучше чем JFK.
JFK - огромный аэропорт, и сделан не самым лучшим образом.


Организация

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

Доклады

  1. Scaling Selenium: The Selenium Infrastructure at Salesforce.com Рассказ о масштабировании инфраструктуры для запуска автотестов в SalesForce. Ребята долго работали со своим собственным гридом , в конечном счете используя API JClouds сделали возможность раскатывать фермы неограниченного размера. То есть если в тестовом запуске есть 1000 тестов то будет запущено 1000 виртуалок в качестве нод. Все это выливается в достаточно большие счета от Amazon EC2?OpenStack/VmWare, анализ которых происходит ежемесячно. Чтобы счета не были большими в запуск попадают только те тесты которые имеют высокий рейтинг стабильности. Определению нестабильных тестов(flappers) был посвящен отдельный доклад.
  2. Phantom.js Ivan de Marino, Amazon. Ничего нового не рассказал, можно спокойно посмотреть видео доклада из Киева
  3. Is your page loaded. Рассказ о достаточно простом приеме определения того что ваша страница загружена.Работает с графическими компонентами, будет плохо работать если на страницу по AJAX приходит что-то что становится графикой не всегда или не все. Средне.
  4. Automated UX Compliance Testing. Рассказ о том что можно попробовать находить баги верстки с помощью анализа скриншотов. Для этого даже есть отдельный плагин для Jenkins-а. Долго, дорого, малоэффективно. Глубокая beta.
  5. Codeless Automation: Selenium Builder+ Github + CI. SauceLabs приложили тонну усилий к тому чтобы в очередной раз воскресить вампира. Итого  - аналог Selenium IDE написанный на node.js, с плагинной архитектурой, пропахали интеграцию с GitHub и Travis CI. Труда положено много, выглядит впечатляюще (Осторожно! на глупеньких менеджеров и обезьянок действует возбуждающе!), но докладчик сам прямым текстом сказал - что это для quick, dirty, throwaway tests (перевожу - записал, попользовался, выкинул). Доклад отличный.
  6. Holistic Cross-Browser Testing. Тут опять про тестирование верстки только уже все серьезнее - ребята сделали это в виде отдельного сервиса DomReactor. Используются три стратегии - снятие скриншотов, computer vision (анализ изображений), эвристики/правила. Все еще тоже не до конца готово, но направление наверное верное.
  7. Testing and Moving Fast - Making Selenium Work for Facebook. Рассказ о процессах обеспечения качества в Facebook. Ребятам пришлось самим написать биндинги для Selenium на PHP, потом переписать их снова. Из интересного -Инженер ответственный за код который он поставляет и должен писать на этот код тесты. Нестабильные тесты уходят в карантин, если тест горит красным и по нему не следует фикса в течении суток то автотест удаляется. Еще из интересного - Facebook пересмотрел свою политику в отношении релиза функционала на мобильную версию, теперь сначала фича выкатывается на мобильную версию, потом уходит на вэб - это позволяет избежать разрыва в функционале.

Общее впечатление

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


Ну и пара инсайдов с конференции:
1. Selenium 3.0 должен выйти в конце года и основной прицел в дальнейшем развитии будет идти в сторону тестирования мобильных приложений. Как мне кажется наибольшее влияние на это окажет Appium в частности и SauceLabs вообще.

2. Google, Facebook, SauceLabs имеют свои реализации инфраструктуры Selenium Grid, Связано это с несовершенством Selenium Grid.

Немонтированные записи всех докладов доступны на Livestream.com


23 мая 2013

Полезняшка: YouTube как генератор данных

Проблема: нужно иметь ссылки на видео, часто и разные.

Решение.
Много видео и ссылок на них на YouTube.
А у YouTube есть API.
По шагам.

  1. Регаем гугловый акканут.
  2. Идем в API Console (https://code.google.com/apis/console)
  3. Активируем там YouTube API
  4. Получаем ключ для отправки запросов YouTube на поиск видео.
  5. Отправляем запросы, получаем результаты. 
  6. ????
  7. PROFIT!
Пример кода для отправки запросов тут.
Спасибо Гуглу за API - ребята, вы круты.

06 мая 2013

Новости автоматизации

Моя говорящая голова с Selenium Camp


Связка TestNG + WebDriver + Spring в виде open-source проекта - один Великий Ктулху знает зачем это было делать и опенсорсить, но тем не менее.
https://github.com/persado/stevia

Workaround для установки куки - всякое в жизни случается
http://www.w3schools.com/js/js_cookies.asp

BrowserMob Proxy переехал в частный репозиторий на GitHub и обновился до 2.0-beta-8
http://blog.lightbody.net/post/49611369740/browsermob-proxy-2-0-beta-8-released

Google Test Automation Conference 2013 показывает пример того как надо делать конференции по автоматизации тестирования и уже выложили видео и презентации докладов
https://developers.google.com/google-test-automation-conference/2013/presentations


И в 100500-ый раз про то как надо дожидаться элементов на странице - уже не смешно видеть рукописные ExpectedConditions.
http://seleniumsimplified.com/2013/04/10/categorised-selenium-webdriver-api-mindmap-on-mindmeister/
http://assertselenium.com/2013/01/29/webdriver-wait-commands/

26 апреля 2013

Обучение: Курс MongoDB for Java Developers от 10gen

Курс закончился, и время подвести итоги. 

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

Откуда предубеждения?  На последнем курсе ВУЗа нас прокатили по нескольким предметам через INTUIT,  при том предметы эти были профильные.  Качество как курсов,  так и самой системы ЭДО оставляло желать лучшего.  Контроль знаний и сама методика преподавания были вообще никакими.
На курсы по монго я стал смотреть только исходя из практической нужды освоения NOSQL баз данных,  и более в силу того,  что хотелось сгладить кривую обучения.
Первые же занятия убили предубеждения на корню -  я никогда не думал,  что ЭДО может быть настолько эффективным. Ну и еще  - я сам ра

Секрет конечно же в подготовке самого курса и тщательной методической работе людей из 10gen. 

Курс разбит на 7 недель,  каждая неделя это набор видеолекций (от 11 до 40) с вопросами на самостоятельный контроль знаний,  и 3-5 домашними заданиями на проходной контроль.
Для прохождения на следующую неделю нужно получить 65% по домашним работам,  вопросы для самоконтроля в зачет не идут. 

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

Обучение для меня было эффективным,  так как после 3 недель я уже знал все, что мне нужно было знать для того, чтобы закатать монгу в свое окружение. 
У курса есть и недостатки: 
  1. темы по репликации и шардингу плохо рассказано,  я бы даже сказал запутанно.  
  2. авторы курса не дают никаких ссылок на документацию на сайте,  хотя она более чем богатая.
  3. тема использования MongoDB в комплекте со средствами ORM просто пропущена как класс.

Несмотря на это все курс все равно был полезен,  рекомендую.


P.S. После этого курса я поставил себе в список задач прошерстить курсы на Coursera.org. Очень хочу надеяться, что методическая работа других преподавателей будет не хуже.
  

25 апреля 2013

Назад в прошлое: О знании

Когда-то давно, написал в личном блоге вот это.
А сегодня на глаза попалась картинка вот отсюда.


Дальше можете думать все что хотите - "у дураков мысли сходятся", "все умные люди думают об одном и том же".

12 апреля 2013

Напочитать - Поднакопилось для второго выпуска

Вот и второй выпуск


Просто кусочек лирики о том как мы спасаем этот мир. От самих себя кстати.


Доходчиво от Uncle Bob про то, что "быстро можно только качественно" (с) Максим Дорофеев

Профессор Савельев о головах, начинке голов и прямоходящих приматах семейства Homo.
Речь и коммуникация возникли как основа для совместных действий при охоте в воде. Но очень быстро их начали использовать по-другому — для обмана. В любом мире продемонст­ри­ровать способность к действию гораздо проще и выгоднее, чем что-то сделать. Вот представьте себе: приходит самец к самке и рассказывает, что он поймал огромную рыбу, но вдруг появились злые звери, ­отняли ее и съели. У вас уже рождается образ — а событий-то никаких не было. Он все это придумал, чтобы достичь результата: покорить самку и изготовить себе потомка. Речь стала эволюционировать потому, что она не подразумевает никакой дея­тельности. Она энергетически более выгодна. Врать выгодно везде, и этим занимаются все. Речь ­помогала ­в конкурентной борьбе за пищу, за самку, за доминантное положение в стае. Однако речь не такое приобретение, которое перестраивает или увеличивает мозг. У микроцефалов, например, мозг меньше, чем у шимпанзе, но при этом они неплохо говорят.

Технология CRUD-матрицы. Упоминалась на одном из видое про защиту проекта.

Интересная техника проведения ретроспективы - влезть в чужую шкуру.

И очень популярно о том на что же тратиться время при автоматизации тестирования.
Полезно для тех кто любит считать ROI всякие.



02 апреля 2013

Книга: Андре Кукла. Ментальные ловушки. Глупости, которые делают разумные люди, чтобы испортить себе жизнь.



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

Сразу скажу - мне книга далась очень трудно.

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

Как справедливо заметил кто-то из коллег - автор конечно хорошо все написал, но не сказал, что со всем этим делать и как с этими ловушками бороться.
Рецепта избавления в этой книге действительно нет, зато есть в GTD Аллена.
Ну и mindmap по книге для оценки полезности.




Моя оценка 6/10.
Могло быть написано и лучше.

Мероприятие: CodeFest 2013 в Нске

Вот наконец-то я и слетал за Урал.

Дальше, как обычно, по пунктам.

Место
Экспо-центр, Новосибирск.
Экспо-центр - отличная площадка.
Места много, инфраструктура вся есть, вентиляция нормальная.
Место - 5/5.


Организация мероприятия
С организацией все тоже хорошо.
Девочки-феи помогали ориентироваться на местности, представители организаторов регулярно подходили к нашему стенду, спрашивали все ли в порядке.
Организаторы также очень классно продумали afterparty вечером первого дня, за что хочется сказать отдельное спасибо.
Единственной серьезной недоработкой на мой взгляд является обед - он был, и был даже вкусный, но ощущение того, что это не стоит 1000 рублей за два дня все равно осталось. Впрочем я не единственный кто так думает.
Организация мероприятия  - 4/5.

Доклады
Больше всего (естественно) ходил на QA секцию.

  1. Саша Баяндин про использование JS при работе с WebDriver.
  2. Александр Хозя про screenshot-based подход при тестировании ios - отличный обзор средств тестирования. Практически полезный вывод (точнее наглядное подтверждение его) - iOS не лучшее место для автоматизации тестирования, без своих велосипедов - никак.
  3. Michael Palotas о том что есть и куда идет профессия тестировщика - хороший доклад, я бы даже сказал зажигательный - слушая таких людей видишь что и у других просыпается вера в будущее тестирования.
  4. Francois Reynaud о ios-driver - тут только про Safari на iOS. В принципе хорошо что возможность автоматизации там вообще есть, но печаль изложенная в п.2 меньше не становится - браузер на мобильном устройстве вещь не самая быстрая, нативные приложения все равно нужны, и нужен инструмент для их автоматизации.
  5. Максим Дорофеев о моделях управления и как их клеить правильно. Макс жег, уже можно смотреть слайдкасты (часть 1, часть 2).
  6. Олег Анастасьев про то как у нас используется Cassandra - несмотря на то, что Олег читал нам отдельную лекцию о том что есть Cassandra и как с ней можно жить, все равно было очень интересно. Исходники  на github - берите, пользуйтесь.
В общем и целом - CodeFest конференция практиков, и очень хочется чтобы она таковой и оставалась.
Программа конференции  - 4/5, потому что WOW-доклада после которого я бы побежал что-то применять у себя я не услышал.

Субъективное и личное.
А кроме конференции было еще очень много общения с разными людьми.
И о них тоже хочется сказать.
Макс Иванов - мужик, я был очень рад с тобой наконец-то увидится.
Егор Баяндин - тоже очень приятно познакомится, остаемся на связи.
Артем Ерошенко, Александр Андряшин, Сергей Высоцкий - спасибо за интересные технические посиделки в кулуарах.
Лена Василевская - просто спасибо!
Новосибирск  может и не самый яркий город, но в нем живут очень яркие и приятные люди, которые тоже делают CodeFest - отличным мероприятием.

05 марта 2013

Мероприятие: SeleniumCamp 2013 в Киеве

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

Место.

Киев, БЦ "Парус".
От нашего отеля (мы жили в Космополите) добираться было не очень удобно, но это не критично - цены на такси в Киеве демократичные (по сравнению с Москвой и Питером), пробок также не наблюдается.

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

Организация мероприятия.

Тут я могу сказать только одно - XPInjection все сделали отлично.
Все было продумано до мелочей - всегда можно взять программку конференции даже если ее потерял, всегда можно попить кофе и найти бутылку воды, есть место для курения, лаундж для посидеть и поговорить.
По уровню комфорта - конференция оправдывает те деньги, которые за нее просят (чуть более чем полностью).
Организаторы устраивали для докладчиков afterparty после каждого дня конференции - тоже очень приятная и полезная практика.  В первый день я успел его посетить, во второй к сожалению нет - улетал на утро из Киева в 6.00.

Доклады.

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


  • Less Selenium, more unit testing , Dima Kovalenko, GroupOn - доклад про то, что если есть возможность тестировать без Selenium-а , то лучше это и делать. Используйте Jasmine, об этом уже не только Дима рассказывал.


  • Using Selenium At Google Scale, Daniel Wagner-Hall, Google UK - в принципе интересный доклад.
  • Дэниел рассказывал о концепции использования Hermetic Servers - сервер который инкапсулирует внутри себя все тестовое окружение и интеграцию с внешними сервисами. Гораздо более интересной оказалась беседа лично с Дэниелом - больше деталей и подробностей было выведано.



  • Test-driven web development with Selenide, Андрей Солнцев, Вадим Герасимов, Codeborne - честно не понял, почему они сделали Selenide именно так, но подход имеет право на жизнь.


  • Тестирование безопасности web приложений с использованием Selenium и Zed Attack Proxy (ZAP), Антон Шапин - интересный доклад про Zed Attack Proxy. Раскрыты не все моменты, но буду ковырять сам.



  • Getting started with GhostDriver, Ivan de Marino - автор и главный разработчик Ghost Driver интересно рассказывал про то, что есть Ghost Driver и про то, почему он не всегда фиксит баги. В целом следующий релиз Ghost Driver должен быть многообещающим.



  • Наш путь от 90 до 6500 тестов. За кулисами, Иван Медведев, СКБ Контур - не знаю было ли это случайно или специально, но Иван отлично разогрел публику на открытии второго дня. Весело, по делу, улыбнул. 


  • Single-page vs. Multi-page. Особенности автоматизации тестирования., Татьяна Курносова,  2ГИС. Не совсем понял о чем этот доклад. Точнее даже зачем его было делать.


Общее впечатление от того, о чем рассказывали на конференции сложилось следующее.
На постсоветском пространстве тяжелая беда с квалификацией тех, кто приходит в автоматизацию тестирования.
Судя по темам докладов от "наших" докладчиков - люди которые идут в автоматизацию тестирования у нас не понимают, что это инженерная профессия.
Поэтому и много докладов на тему того, как правильно начать что-то делать - докладов, кстати говоря, хороших.
В странах  "загнивающего империализма" - уже наоборот.
Software Engineer in Test, который объясняет Software Engineer как писать код так чтобы он был тестируемый - в порядке вещей.
При этом сам Software Engineer in Test тесты не пишет, а строит инфраструктуру для того, чтобы команда могла автоматизировать тестирование с наименьшими трудозатратами.

Для себя я сделал вывод, что "мы" и "они" просто находимся на разных этапах зрелости процесса.

В целом - мне понравилось.

Большое спасибо Коле Алименкову и Алексею Солнцеву за отличную организацию мероприятия. Из последних конференций по тестрованию на которых я был - SeleniumCamp была лучшей.


21 февраля 2013

Напочитать - Новая рубрика в моем уютненьком

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

Постить ссылки на статьи по одиночке не имею времени, благо http://getpocket.com позволяет удобно складировать их после прочтения.

Первый блин может быть комом, но не стоит забывать про эффект второй системы (Брукс).
Поехали .


Интересная статья на тему того кто и что на самом деле изобрел первым.
Про Waterfall, диаграммы Ганта, ядерные бомбы, ракеты и что там делали на самом деле.
Ну еще и про Kanban, Lean, метод критического пути и прочее.
Читать

Почему персентили рулят, а средние сосут в измерениях производительности.
Читать

Про цели, людей, победы, поражения и непобеды.
Вот откуда "овощи", "планктон" и вся остальная флора и фауна в офисах.
Читать

Пачка ссылок по теме мозгового штурма и генерации идей.

Техкника 100 для мозгового штурма. Вкратце:
Стараемся сгенерировать 100 идей
0..30 - очевидный мусор
30..70 - возникновения образов
70..100 - реально новые идеи
Читать

Мозговой штурм с картинками
Читать

Метод SCAMPER для работы с идеями
Читать

На первый раз хватит.
Читаем.