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

Запись моего выступления на конференции SQA Days #12

В последнее время не хватает времени на полноценные статьи. Это связано с подготовкой конференции Selenium Camp 2013. Мы впервые проводим конференцию в двухдневном формате и поставили себе целью собрать интереснейшую программу для тестировщиков-автоматизаторов и просто любителей Selenium/WebDriver. Поэтому пока другие активности несколько приостановлены… :)

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

А вот и презентация доклада:

Смотрите на здоровье и набирайтесь знаний!

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

Новости от Java Tech Talks в Одессе

Я уже писал о моем выступлении на Java Tech Talks#5 в Одессе. Похоже, компания Lohika решила сделать эти встречи постоянными и собирать Java разработчиков как минимум раз в месяц. Это здорово, когда людям есть чем поделиться и собираются участники послушать. 12 декабря состоится очередная встреча – Java Tech Talks#7.

Темы выступлений достаточно интересные. В докладе «Spring around the bend» Егор Сигарев обещает поведать тайны и нюансы использования Spring, о которых не догадываются большинство разработчиков. Второй доклад «Мир без JSP. Thymeleaf 2.0″ мне еще ближе – ведь я давно отказался от «классических» Java технологий для пользовательского интерфейса веб-приложений. Мне по душе шаблонизаторы как FreeMarker или Mustache. C Thymeleaf я незнаком и было бы интересно узнать об альтернативном подходе. В общем, я даже немного жалею, что не живу в Одессе и пропущу эту встречу. Придется ждать видео. :)

Кстати, уже готовы записи моего выступления на тему использования Hibernate:

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

Почему тестирование занимает так много времени

25 сентября я принял участие в онлайн конференции Chief ConfeT&QA с докладом «Почему тестирование занимает так много времени». Теперь я могу смело опубликовать материалы доклада, потому что по результатам зрительского голосования он занял первое место. Мой доклад выбрало больше 50% проголосовавших участников. Спасибо всем, кто за меня голосовал. Я рад, что сумел донести до вас полезные мысли.

На этот доклад меня вдохновила статья Болтона, которая в далеком 2009 году заставила меня пересмотреть взгляды на тестирование и помогла в дальнейшем избегать очень многих проблем: часть 1, часть 2. С тех пор эта тема является обязательным блоком моего тренинга «QA в Agile».

О содержании доклада говорить нет смысла – проще просто его посмотреть. Есть версия слайдкаста:

Есть вариант видео:

Участники задавали много вопросов. Ответы на самые интересные я приведу тут:

Вопрос: Работали ли вы когда-нибудь тестировщиком?

Нет, я не работал тестировщиком. Но мне не раз приходилось ставить процесс тестирования на проекте с нуля, а также много-много раз консультировать компании по вопросам тестирования и проводить тренинги на эту тему.

Вопрос: Николай, так вроде бы это ты тот человек, у которого в проекте нет тестировщиков. Два предположения, это только предположения или все таки опыт?

От вас ничего не утаить. ;) Да, на текущем проекте мы уже 3 года живем без тестировщиков. Параллельно с этим и до этого проекта мы работали совершенно разными составами команд и там было разное количество тестировщиков. Все, что я рассказываю, из личного опыта. К сожалению, не всегда приятного. :)

Вопрос: Где написание/поддержка тесткейсов?

В данном докладе оно не рассматривалось, потому что тут у меня тоже немного другие подходы и это отдельная тема для долгого обсуждения.

Вопрос: Как эстимировать работу тестировщика? Имеется в виду, что время на работу очень сильно зависит от качества работы девелоперов.

Если вы не делаете оценки в стиле Agile, то в тестировании вы полагаетесь сугубо на интуицию и попытки обезопасить себя буферами времени. В Agile команде вы не оцениваете тестирование как активность, вместо этого вы оцениваете насколько сложно/долго команде сделать ДО КРИТЕРИЯ ГОТОВНОСТИ определенную функцию продукта. А кто и как в команде будет что делать вас мало интересует. Тестирование должно оставаться в рамках каждой задачи, а не быть отдельной фазой в этом процессе. Посмотрите в материалах выступлений мой старый доклад «QA в Agile».

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

О! Это очень долгая тема. У меня несколько другое отношение к понятию бага. Детальнее можно прочитать в этой статье.

Вопрос: Как-то непонятно. Неужели в планировании не было учтено, что вообще найдут баги?

Учтено то может и было, но как учесть сколько найдут. Это ведь зависит от разработчиков. Можно использовать накопленную за большой срок статистику, но ее еще надо накопить. И от колебаний в 20-30% она не защитит (на примере второй команды, которая делала мало багов). А это значит, что тестирование может не влезть в итерацию и снова проблемы…

Вопрос: А разве тестировщик виноват в том, что так много багов?

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

Вопрос: Кажется, хорошо так себя мотивировать, но рассчитывать на отсутствие дефектов – странно.

Так я не призываю на это рассчитывать. Над этим надо работать. Настоящая работа QA инженера – не допустить дефектов. Работа тестировщика (QC инженера) – проверять работу продукта, когда на его качество уже не повлиять. Поэтому мне ближе QA инженеры, часто в лице разработчиков. :)

Вопрос: Хорошее качество кода будет стоить достаточно дорого, дороже чем долгое тестирование. И часто заказчик выбирает именно долгое и более дешёвое тестирование и ре-тест, чем оплатить дорогущих девелоперов.

Долгое тестирование не улучшает качество кода. Его приходится все равно исправлять вашим дорогущим программистам, а чем позже они это сделают, тем больше времени (читать денег заказчика) они потратят. Гораздо дешевле не допустить плохого кода, чем его потом исправлять. А особенно ситуация усугубляется в случае большой ручной регрессии.

Вопрос: Понятно, что внедрившись ранее – ошибок будет меньше. И все же, как это спасет от того, что ошибки таки есть и «производительность» по сравнению с идеалм меньше в 5 раз?

Ну вот тут от вас и зависит как сделать чтобы «меньше» означало не в 5 раз, а на 5-10% к примеру. :)

Вопрос: Код ревью – не панацея. Ревьювить можно отступы и стилистику написания кода. На дев машине никто не гарантирует стабильность и следовательно время будет тратиться больше, что тоже не даст достаточный профит.

Из моего опыта, ревью кода устраняет огромное количество проблем, если оно делается обязательным для каждой задачи. В моих проектах это так уже больше 5 лет. В результате, мы можем работать без тестировщиков и выпускать отличный продукт, которым, без преувеличений, пользуются миллионы людей и множество компаний. Но для этого надо знать, как правильно делать ревью. Об этом мы рассказывали не раз в докладе «Code Review», запись которого можно найти в материалах выступлений. По поводу стабильности на машине разработчика – тут все зависит от его стиля разработки. Если он работает, разбивая задачу на законченные куски, то с чего тут взяться нестабильности? Да и речь идет о первичном тестировании, которое не должно быть слишком детальное. Его задача – найти быстро наиболее видимые проблемы.

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

Я на этот вопрос отвечал уже после доклада. Возможно, команда не понимает сути Scrum и как в него вписывается тестирование. Также, возможны случаи перфекционизма, когда инженерные практики существуют только ради факта применения инженерных практик. В нормальном процессе описанного эффекта быть не должно.

Вопрос: Что делать, если тебя «не пускают» в ранние этапы?

Для вас это означает, что вы не можете влиять на качество, а значит, предсказать продолжительность тестирования. Вам надо продать идеи руководству, команде, менеджерам. Продажа никогда не была простым делом. Но без нее никуда. Отличное место для продажи – это ретроспектива (у вас же она есть?). Давите на «больные мозоли», забрасывая идеи по избеганию проблем. Предлагайте попробовать и делайте все от вас зависящее, чтобы команда в этих попытках не разочаровалась. А для этого вам важно полностью понимать какие могут быть подводные камни и как их обходить.

Вопрос: Какие есть реальные примеры коротких циклов обратной связи, что конкретно надо применять?

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

Вопрос: Автотесты «глупые», да, они много покрывают, но! Всегда есть «непокрытые2 участки, которые не заметили сразу. Как же не проверить еще раз в регрессии?

Автотесты глупые, но вы же умные. ;) Нашли непокрытые участки и расширили набор автотестов. Автотесты должны пополняться постоянно из других активностей тестировщика, когда он видит, что повторная проверка уже попахивает роботизацией человека. :)

Вопрос: Если регрессию нельзя автоматизировать, то что тогда?

Тогда вы в печальном положении. Регрессионная спираль смерти вас все равно нагонит. Вы можете облегчить боль за счет хорошего покрытия модульными тестами и облегченного тестирования в регрессии (например, по чеклистам вместо тестовых сценариев).

Вопрос: Что делать в ситуации когда разработчики отдают новый функционал на тестирование за несколько часов до демо? Тестирование на локальных машинах не всегда возможно и не всегда имеет смысл (тк могут быть блокировки).

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

Вопрос: А как насчет эксплоратори в регрессии?

Я только за, но делать его нужно в определенные запланированные моменты. Проверки основные стоит автоматизировать, чтобы регрессию можно было делать сотни раз за итерацию и она не допускала ошибок.

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

Выступление Андрея Дзыни «Software Testing 2.0″ для пропустивших

Многие из вас знают, что наш тренер Андрей Дзыня в последние пару месяцев активно ездил по городам Украины, разнося в массы свои идеи по поводу новой эры тестирования – Software Testing 2.0. Одна из целей данных поездок – активация локальных сообществ тестировщиков. Кажется, Андрею удалось задуманное. Вот отчеты о некоторых из проведенных встреч:

Мы ждем отчета от Херсона и Донецка. На очереди Львов (3 августа). В этот же день состоится тренинг «Exploratory Testing». Еще есть 3 свободных места для желающих его посетить.

Также доступна видеозапись выступления в Харькове для тех, кто не смог придти:

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

Успешное выступление на онлайн конференции 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” для улучшения качества продукта». Вы можете найти его в видео разделе на нашем сайте. Удачного просмотра!