Записи с метками видео

Успешное выступление на онлайн конференции Auto ConfeT&QA 2012

онлайн конференция Auto ConfeT&QA

13-15 февраля с 17 до 19 часов по московскому времени проходила онлайн конференция для специалистов по автоматизации тестирования – Auto ConfeT&QA. Организаторы собрали докладчиков из России, Украины и Беларуси, которые представили на суд слушателей 10 докладов. Уровень организации был достаточно высоким, докладчикам помогали подготовиться к выступлению, репетировали с ними доклады, делали ревью презентаций. В результате все выступили достойно.

Я тоже принимал участие в качестве докладчика с докладом «TDD c помощью функциональных тестов на WebDriver». Я давно хотел выступить на данную тему и как раз представилась неплохая возможность это сделать. TDD (Test Driven Development) является популярным подходом среди разработчиков. Сначала пишется тест, а только потом на основании этого теста пишется реализация. Эта практика дает много преимуществ, позволяя сосредоточиться на небольшом аспекте функциональности и автоматизировать проверку правильности его реализации. Таким образом, разработчик сразу думает о вариантах использования и реализует минимальный необходимый функционал.

TDD можно применять не только на уровне модульных тестов, но и на уровне функционального тестирования. Это дает возможность задуматься о структуре и особенностях функциональности еще до ее реализации. Вам не придется мучиться в попытках протестировать приложение, которое не задумывалось для тестирования (сложные локаторы, непонятная структура страниц, запутанные связки элементов). В качестве сопутствующего эффекта, TDD позволяет сократить время на ручную проверку разработчикам и автоматизировать 100% функциональных тестов.

Многим понятны преимущества TDD, но они не знают с чего начать. Некоторым кажется, что написание теста до появления реализации вообще невозможно. В своем докладе я рассказал не только о преимуществах и особенностях данного подхода, но и на примерах продемонстрировал, как работать с TDD на практике. Были рассмотрены варианты распределения ролей, техники написания тестов и особенности их использования. В качестве основного инструмента для тестирования использован WebDriver.

Доступен слайдкаст доклада:

Так как я показывал живую демонстрацию, то посмотреть доклад в полном объеме можно на видеозаписи:

Лично мне понравилось несколько докладов. Отлично выступил Алексей Баранцев на тему «Разработка стратегии автоматизации». Леша очень опытный докладчик, особенно в онлайн режиме. Доклад был насыщен полезными советами, которые помогут многим начать автоматизировать и снизить риски провала.

Яркий и живой доклад получился также у Ольги Киселевой, которая выступала первый раз. У нее была очень спорная тема «Можно ли писать автотесты на родном языке?», которая вызвала много споров и дискуссий. Но сам доклад никого не оставил равнодушным.

Еще я для себя отметил доклад «Обходные пути в автоматизированом тестировании», с которым выступал Дмитрий Жарий. Не всегда получается жить в идеальном мире и к нему приходится приспосабливаться. Именно о таких способах обходить препятствия и рассказывалось в докладе. Просто и со вкусом.

Остальные докладчики тоже молодцы. Спасибо всем за подготовку и потраченное время!

Организаторы проводили голосование среди участников за лучший доклад на конференции. Результаты опубликовали сегодня. С отрывом в один голос я занял второе место после Алексея Баранцева. Леша благородно отказался от приза по причине причастности к организации конференции. В результате, первый приз достался мне – игровая приставка Xbox 360 + сенсор Kinect. Я несказанно рад этому факту! Значит, мои усилия были интересны людям и приносят пользу. А теперь мое выступление принесло пользу и мне лично. ;)

Я буду с удовольствием выступать в очередной онлайн конференции из этой серии – Chief ConfeT&QA. На этот раз с докладом «Жизнь без тестировщиков: миф или реальность?». Не подумайте, я не против тестировщиков. Наоборот – я за то, чтобы они занимались интересной работой и приносили большую пользу проекту. Подробности можно будет услышать на моем выступлении.

Участники задавали достаточно много вопросов после доклада. Ниже вы можете найти мои ответы:

Вопрос: Какими средствами CI докладчик пользуется (советует пользоваться) наряду с TDD?

Лично я уже давно почти везде пользуюсь TeamCity (http://www.jetbrains.com/teamcity/). Отличный UI, множество уникальных фичей, отличная интеграция с различными IDE, поддержка для практически всех известных мне инструментов, классная архитектура и т.д. Бесплатная версия подойдет для большей части проектов и не вызовет проблем или нехватки чего-то. На втором месте Jenkins (http://jenkins-ci.org/). Основной аргумент за него – бесплатный с огромным сообществом, а это значит куча плагинов под все, что только можно придумать. Но UI достаточно беден и нужно конфигурировать плагины самостоятельно.

Вопрос: А если ошибки возникнут потом при эксплуатации? Те тесты, которые не предусмотрели в «чек-листе», согласованном с клиентом?

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

Вопрос: По факту все же получается, что тест пишется паралельно с реализацией?

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

Вопрос: А какую test management system посоветуете?

В идеале – никакую. Я уже говорил о дублировании усилий на поддержку тестов и тест кейсов. Я вижу этот процесс как полную автоматизацию, поэтому предлагаю избегать использования test management систем. Они заведомо склоняют нас к дублированию.

Вопрос: Авто тесты лучше писать до разработки приложения или после и кто должен за это отвечать?

Конечно же их лучше писать до разработки. В этом и есть подход TDD. Таким образом вы сможете получить весь спектр преимуществ, о которых я упоминал в докладе.

Вопрос: Что делать если UI достался от legacy проекта?

Legacy код будет проблематичным для всех, включая тестировщиков. Но TDD заставляет работать над проблемами всей командой. Разработчики будут помогать победить проблемы. Вам придется разработать с течением времени тонкую прослойку над вашим нетестируемым UI и в будущем будет на порядок легче.

Вопрос: Опиши детальнее возможности инструмента testdox.

TestDox – это очень простой, но удобный инструмент. Он ставится как плагин к IDE и позволяет разбирать названия тестовых методов на слова. Таким образом можно включать гораздо больше полезных данных в название теста, причем писать просто на английском языке, избегая особенностей языка программирования (подчеркиваний, camel case и прочих). Поддерживается редактирование, список тестов, создание новых тестов. Таким образом, данный плагин приближает вас на шаг к тестам в качестве документации. Остается только подключить мозг. :)

Вопрос: Что ты думаешь по поводу BDD?

BDD – отличная практика, которая является подмножеством TDD. Вместо тестов рекомендуется начинать с поведенческих шаблонов приложения, причем оформлять их в человеческом виде (в основном предложениями английского языка). Не всегда дополнительные расходы времени на специализированный инструмент действительно оправданы. Если никто со стороны бизнеса не заглядывает в эти тесты, то возможно стоит перейти на уровень технических тестов с DSL.

Вопрос: Прокомментируй еще раз рекомендации с чего начать.

Начать стоит с того, чтобы осознать четко для себя зачем и почему стоит работать по TDD. После этого стоит донести свои мысли и идеи до всех членов команды. Причем не то, что вы собираетесь работать по TDD, а то, какие преимущества могли бы получить все от этого. Если у вас получится это сделать, то все будут хотеть применить TDD. А потом дело лишь в стратегии. Вам нужно найти удобный момент и начать внедрение. Поддержка команды поможет вам сделать это достаточно быстро (я имею ввиду начать). А дальше у вас будет освобождаться все больше времени за счет 100% автоматизации новой функциональности и вы сможете укрепить свои позиции. И не забудьте подготовиться морально к тому, что придется поломать мозг, как свой так и коллег. :) Удачи!

Oдесса – солнце, море, IT Jam!

Наконец-то дошли руки до отчета о прошедшей в прошлую субботу конференции IT Jam. Я прочитал уже несколько отчетов и во многом согласен с их авторами. Все же хочу внести свою лепту в обзор конференции.

Начну с хорошего. Одесса – это отличный выбор для подобного рода мероприятий летом. Море, солнце, красивый город с кучей ресторанчиков и интересных мест. Что может быть лучше для мероприятия, которое своей целью имеет общение IT-шников? А собралось их действительно немало. По предварительным анонсам ожидалось 1800+ участников, но по личному ощущению было не больше 1000 (я не претендую на объективность). Все равно это большая победа организаторов, потому что собрать такое количество участников удается далеко не каждой конференции.

Сама конференция проходила в конференц-залах морского вокзала. Регистрация открывалась в 10:30, но принять такое количество человек организаторы были явно не готовы. К регистрационным стойкам были огромные очереди. Самих регистрационных стоек было маловато для такого количества желающих зарегистрироваться и они были сосредоточены в одном месте, что существенно затрудняло передвижение. В очередной раз не порадовал бейдж. Очень хотелось бы видеть побольше информации о человеке (хотя бы город и должность). Это помогло бы многим найти больше интересных людей. Совсем печальной была ситуация с утренним кофе. Я пришел в 10:40 и от кофе с чаем уже ничего не осталось. А многие ехали напрямую с вокзала и им бы не помешало взбодриться. Тут организаторы явно не рассчитали.

Очень порадовал Wifi – он не переставал работать на протяжении всего мероприятия. Это действительно большое достижение, особенно с учетом количество пользователей. Я побывал на многих конференциях, где Wifi падал уже через 10 минут после начала мероприятия. Иногда тормозила основная точка, но дополнительные работали как часы. Респект организаторам!

Открытие конференции вышло несколько сумбурным, потому что многие уже к тому времени занимали места в залах для выступлений. И не зря они это делали! Оказалось, залы просто не способны вместить всех желающих. Во всех залах без исключения достаточно много людей стояли. Для меня это более чем непонятно. Если расчет шел на такое количество людей, то возможно стоило поискать помещение побольше? Я конечно понимаю, что мероприятие бесплатное и ждать качественного сервиса не приходится, но тут явно был очень большой просчет. Ведь стоять полчаса на докладе не очень приятно. Вторая проблема, которая просто преследует IT Jam из года в год – это разделение залов. Тоненькие перегородки не дают полной звукоизоляции и на некоторых сценах докладчикам и участникам приходилось туго.

Теперь по поводу самих докладов. В принципе каждый мог выбрать себе сцену согласно интересам. Их было целых 6 с совершенно разными направлениями. Конференция не является тематической, поэтому ждать высокого уровня докладов не приходилось. Хотя некоторые были очень даже неплохие. Опыт посещения всех конференций IT Jam показал, что нововведение прошлого года в виде 30-минутных докладов является неудачным. За это время докладчик не может раскрыть детально тему, а тем более ответить на вопросы участников. В итоге многие уходят с ощущением очень поверхностной подачи информации. Я выступал на Java сцене с докладом «Scalable Java Application Development on AWS». Этот доклад я уже презентовал на конференции JEEConf, где было гораздо больше времени. В этот раз пришлось немного ужать информацию. Но доступно видео, поэтому все желающие могут посмотреть доклад в полном объеме:

Самая большая ошибка организаторов на мой взгляд – это не выделить время на обед. Я думаю, что многие рассчитывали на кофе паузу, которая по программе должна была состояться около 16:00. Но случилась «битва за бутерброды». Все размели буквально за несколько минут. Те, кто не успел, остались голодными. Опять же, в силу бесплатности мероприятия, не стоило рассчитывать на достаточное количество людей. Но можно было сделать обеденный перерыв, уменьшив количество докладов, тем самым дав людям возможность перекусить в близлежащих кафешках. Зато на данной ситуации сделало немало денег кафе в холле конференции. Сосиски в тесте и бутерброды разлетались на ура, а кофе с ужасающим вкусом (лично попробовал) лилось рекой. Очень сочувствую тем, кто утром приехал прямиком с поезда и не завтракал. Досидеть до вечера было нереально. Я ушел с последних трех докладов на обед. Очень жалею, так как были интересные для меня темы. Но предстояло еще одно выступление и надо было подкрепиться.

После докладов началась панельная дискуссия с руководителями компаний. Многие к тому времени уже покинули конференцию, отправившись кто на пляж, кто гулять по городу, а кто на ужин. По моим подсчетам осталось около 500 человек. На панельной дискуссии обсуждалась достаточно интересная тема подготовки и набора сотрудников. Не порадовал тот факт, что некоторые руководители упорно игнорировали задаваемый вопрос и в очередной раз просто начинали пиарить свою компанию. При этом «модератор» просто наблюдал со стороны и не вмешивался. Мне кажется, что было бы логичнее потратить больше времени на вопросы из зала, которых было достаточно много.

Еще состоялся розыгрыш призов, который больше напоминал раздачу ненужного хлама. Разыгрывались скидки или пригласительные на другие конференции. Но народ собрался очень разный, поэтому трудно было ощутить пользу от подобных призов. Несколько iPod-ов думаю просто разорвали бы публику.

Последний час конференции заняла Pecha Kucha. Мне кажется, что только ради этого стоило посетить конференцию. Доклады были яркими и интересными, а самое главное короткими. Всего 400 секунд выделялось каждому докладчику на то, чтобы донести до аудитории свою идею. Темы были очень разнообразными, начиная от мифов о дизайне и заканчивая проведением интересных корпоративов. С нетерпением жду публикации презентаций. Я выступал с темой «Небольшие гипер-продуктивные команды». В докладе речь шла о том, какие преимущества дает небольшая команда и как ее построить. Презентация пока без звука, но скоро будет полноценной:

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

В целом я отлично провел время в одном из любимых городов Украины, повстречал много знакомых и выступил перед интересной аудиторией. Можно сказать, что мероприятие удалось! Большое спасибо организаторам! Надеюсь, что они учтут все жалобы и промахи, сделав следующий IT Jam еще лучше. Небольшой фотоотчет с места событий:

Видео со встреч «Клуба анонимных разработчиков»

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

Второй ролик – это вступление к встрече на тему применения статического анализа кода.

Напоминаем вам, что очередная встреча клуба состоится 25 августа и будет посвящена рефакторингу. Это будет уже четвертая встреча клуба и мы рады пригласить всех присоединиться к составу наших участников.

Отголоски AgileDays’11 в Москве

Уже много времени прошло с последней конференции AgileDays’11, которая проводилась в Москве весной этого года. Мы уже выкладывали видео с одного из наших выступлений на этой конференции. Теперь, благодаря усилиям Стаса Фомина, мы имеем возможность выложить еще видео еще двух наших докладов. За это ему большое человеческое спасибо.

Видео с конференции JEEConf

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

Первым выступал я с докладом про использование Unitils для модульного тестирования в Java. Существует множество инструментов и библиотек для модульного тестирования в Java, но каждый из них требует определенных настроек и знаний правил использования. При этом отсутствует единый стиль подключения и применения подобных инструментов. Unitils – это библиотека, которая собрала воедино все, что нужно для тестирования различных частей Java-приложения. С помощью Unitils можно легко организовать тестирование доступа к базе данных, интеграции с Spring и Hibernate, а также сильно облегчить работу с модульными тестами и использованием Mock объектов. В докладе, на примере реального проекта, были продемонстрированы основные преимущества и достоинства данной библиотеки, подходы и практики для написания простых и стабильных модульных тестов.

Сразу после меня Леша Солнцев выступил с докладом, посвященном Maven 3. Полной автоматизацией процесса сборки приложения уже никого не удивишь. Не в последнюю очередь благодаря Maven – системе управления жизненным циклом проекта. Однако проекты растут очень быстро: увеличивается количество модулей, тестов, зависимостей, используемых плагинов. И всего лишь за год легковесный проект, на сборку которого уходило 5 минут, превращается в монстра, который пожирает время разработчиков 30-минутной сборкой. Чтобы справится с этой проблемой разработчикам приходится постоянно чистить свой код и бороться со скоростью выполнения тестов. Это верное решение, но не следует забывать о том, что и сам процесс сборки можно улучшить. В этом докладе Леша рассмотрел, как при помощи простых и нехитрых шагов можно оптимизировать работу с зависимостями и обогатить скрипты сборки полезными плагинами, а также тонкости конфигурации основных плагинов и особенности работы с командной строкой, которые появились в последней версии Maven.

Мне выпала честь закрывать конференцию своим докладом об особенностях разработки Java проектов на AWS. Разработка «облачных» приложений сильно отличается от разработки в обычной среде. Amazon предоставляет набор сервисов для полноценной работы «облачных» приложений – EC2, S3, EBS и другие. В докладе речь шла о возможностях AWS, специфике разработки приложений, особенностях использования Java-технологий и библиотек, а также принципах построения гибкой масштабируемой архитектуры в данном окружении. На примере реального приложения были продемонстрированы подходы и практики, которые позволят вам создавать и поддерживать надежные распределенные системы на базе Java и AWS.

У участников будет отличная возможность посмотреть те доклады, которые они пропустили на конференции. Материалов хватит не на один день – 21 час записанного видео. Надеемся, что это поможет всем узнать что-то новое и расширить свой спектр знаний. Будем рады видеть вас на следующей конференции!

Доступно видео с конференции Agile Base Camp 2

На тренингах, касающихся инженерных практик, нас часто спрашивают о применении «Code Review». Об этой практике можно рассказывать очень долго и мы обычно упоминаем доклад, подготовленный нами для конференции Agile Base Camp 2, проходившей этой весной в Киеве. Наконец-то стало доступно видео с этой конференции, включая наш доклад «Применение практики “Code Review” для улучшения качества продукта». Вы можете найти его в видео разделе на нашем сайте. Удачного просмотра!

Видео с Agileee 2009 уже доступно

Видео презентация «People factor as failure reason of Agile adoption» от Алименкова Николая с конференции Agileee 2009 доступна в видео секции.