среда, апреля 29, 2009

Агрегирование RSS-лент: как я выбирал агрегатор

Написал на хабр статью про то, как я боролся с онлайновыми сервисами, которые умеют делать из нескольких RSS-лент одну агрегированную.

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

Кросс-пост делать не стал, просто дам ссылку:

Агрегирование RSS-лент: как я выбирал агрегатор

Писать можно в комменты и здесь, и там.

суббота, апреля 25, 2009

Расписание онлайн-семинаров в мае

На правах рекламы себя и не только

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

Как минимизировать стоимость обучения без потери качества? Самый очевидный путь -- сэкономить на организационных расходах. Именно поэтому мы предлагаем обучение в онлайновом формате -- можно учиться, находясь на своём рабочем месте или у себя дома. Это позволяет совместить качество и минимальную стоимость обучения.

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

В мае и начале июня сего года планируются следующие онлайн-семинары:

Дата Название тренинга Тренер
12.05 Функциональное тестирование веб-приложений Алексей Баранцев
16.05 Управление командой тестирования Вячеслав Панкратов
23.05 Менеджмент процесса тестирования Вячеслав Панкратов
30.05 Основы функционального тестирования программного обеспечения Алексей Баранцев
06.06 Cеминар-обзор бесплатных инструментов тестирования Алексей Баранцев
13.06 Тест-дизайн Вячеслав Панкратов

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

среда, апреля 08, 2009

15 апреля: Онлайн-семинар “Обзор бесплатных инструментов тестирования”

По просьбам тех, кто не смог принять участие в предыдущем семинаре по причине того, что он состоялся в субботу, проводим ещё один, на этот раз в рабочий день – в среду 15 апреля. Подробности – на сайте Software-Testing.Ru

В апреле будет также уже ранее анонсированный онлайн-семинар “Основы функционального тестирования” в субботу 11 апреля. После этого до мая семинаров не будет, потому что буду занят на конференции SQA Days 2009 Piter.

Отзывы участников онлайн-семинара “Обзор бесплатных инструментов тестирования” 28 марта

В связи с активной подготовкой к конференции SQA Days 2009 Piter, проведением других семинаров и наличием ещё кучи разной другой работы, не хватает времени на то, чтобы сесть, порефлексировать и описать свои ощущения от проведения онлайн-семинара про бесплатные инструменты тестирования. Сделаю это после проведения ещё одного такого семинара, который состоится 15 апреля.

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

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

Ирина Куликова
ОАО "Комсофт", Тольятти

Самое главное – было достаточно «практики» - живых демонстрации инструментов. Новых инструментов на полгода изучения хватит!

Лидия Лебедева
Junior Tester
ООО "Вентор-Софт" (Daxx), Санкт-Петербург

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

Также приятным дополнением были дополнительные тулы для работы тестировщиков – это обязательно возьму на вооружение и, по-возможности, буду распространять в отделе.

Татьяна Голубева, aka culver
Senior Test Lead
Aricent Ukraine, Винница, Украина

Информация удобна для восприятия и анализа и подается в очень живой и интересной форме. Приятно было слушать и воспринималось все легко. Достаточно исчерпывающе и в меру кратко. То, что нужно! Мои ожидания не совсем оправдались, но я получила очень много полезной информации, а также ниточку, следуя которой буду двигаться дальше в своем поиске. Вы – очень хороший лектор. Не каждого человека можно без утомления слушать 4 часа :) , а в Вашем случае это получилось.

И отдельное спасибо за список ссылок на полезные ресурсы! Это просто нить Ариадны в лабиринте доступного ПО :)

Жанна Битюкова
Инженер по качеству программного обеспечения
Лаборатория качества ПО
"ИнноВинн", Винница, Украина

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

Главное качество тестировщика с моей точки зрения – это любопытство, стремление узнать что-то новое, потрогать и пощупать всё, что можно. И если я хоть чуть-чуть поспособствовал пробуждению или развитию у вас этого качества – я достиг своей цели.

И напоследок ещё один отзыв, полученный буквально только что:

Я очень извиняюсь за столь поздний ответ, просто мне захотелось посмотреть семинар ещё раз и уже после этого написать отзыв...

Мне очень понравилось. Удалось систематизировать знания. С удовольствием приму участие в следующем семинаре.

Было бы здорово после такого семинара получить что-нибудь наподобие сертификата «Я учился на тренингах Баранцева», например, в виде кнопки для блога. Честно признаюсь, что ради такого дела я бы даже блог завела.

Алиса Евсеева
Инженер-программист (тестировщик)
ООО "Газинформсервис", Санкт-Петербург

Кнопка имени меня? Гм… Вообще-то я в меру скромен, но ради появления нового блога о тестировании я готов пойти на такой шаг. В конце концов, фан лишним не бывает :) Решено, сделаю кнопку! Главное, чтобы никто не додумался показывать эту кнопку работодателю и требовать повышения зарплаты. Хотя… А почему бы и нет?

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

понедельник, апреля 06, 2009

11 апреля: Онлайн-семинар “Основы функционального тестирования”

Постепенно перевожу свои семинары и тренинги в онлайновую форму. Настала очередь самой центральной темы во всём тестировании ПО – функционального тестирования.

11 апреля 2009 г. в 10:00 по московскому времени состоится открытый онлайн-семинар «Основы функционального тестирования программного обеспечения».

Формат: Онлайн-семинар, продолжительность 4 часа.
Семинар организует компания «Лаборатория тестирования».

Программа семинара:

  • Краткое введение в тестирование, чтобы договориться о терминах
  • Место функционального тестирования по сравнению с другими видами
  • Системное, интеграционное и модульное тестирование
  • Методы "чёрного ящика" и "прозрачного ящика"
  • Способы определения полноты тестирования
  • Техники функционального тестирования
    • Покрытие области входных данных
    • Тестирование на основе сценариев
    • Тестирование на основе вариантов использования
    • Тестирование на основе гипотез об ошибках
    • Стохастическое тестирование
    • Тестирование на основе рисков
    • Тестирование на основе моделей
    • Исследовательское тестирование
  • Как выбрать среди различных техник тестирования?
  • Комбинирование различных техник тестирования
  • Ручное и автоматизированное тестирование
  • Регрессионное тестирование
  • Работа с требованиями, тестами и дефектами

Подробнее об условиях участия в семинаре можно узнать здесь: http://www.software-testing.ru/events/610-functional-testing

пятница, апреля 03, 2009

Отчёт о конференции Agile Labs, 31 марта 2009 г.

Два дня назад, 31 марта, я посетил конференцию Agile Labs, организованную УЦ Люксофт при поддержке ГУ ВШЭ.

Изначально я был настроен скептически, потому что доклады про agile-методы уже примелькались, осенью было много сказано об этом на конференции SECR 2008, была специализированная мини-конференция AgileDays. В общем, я ждал повторения в докладах тех же уже порядком затёртых идей. Поэтому я планировал сходить послушать парочку докладов утром, а потом ещё прийти вечером на обещанную "битву гигантов: противники agile против сторонников, Панкратов против Уразбаева.

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

Открыл конференцию Асхат Уразбаев с докладом "Процессные заболевания и методы их лечения". Я думал, что это иносказательное название. Ничего подобного -- доклад был чисто медицинский! Мне всегда нравился организмический подход, поэтому я с большим удовольствием послушал Асхата.

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

А где там agile, спросите вы? Да в общем-то не было там ничего про agile. Ну так, разве что в качестве примера. Предложенные методы лечения довольно универсальны. И это самое замечательное!

Затем Слава Панкратов удивил своим докладом "Почему я не верю в Agile". Он нападал на гибкие методы гораздо слабее, чем я ожидал. Слава в основном упирал на два пункта:

  1. что делать, если проект большой или распределённый (включая возможное наличие субподрядчиков),
  2. что делать, если заказчик не работает по agile (либо не вовлекается, либо вовлекается, но начинает играть "против", гипертрофируя особенности agile -- например, меняет требования слишком часто).

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

Далее Александр Ермакович должен был выступить с рассказом про "Тестирование в agile-проектах". Но он с самого начала прямо заявил, что не является поклонником agile, занимает нейтральную позицию, и будет на самом деле говорить про тестирование вообще. Даже напротив, некоторые из его тезисов, на мой взгляд, совершенно не совместимы с agile. Как вам, например, такое утверждение: планирование тестирования должно быть независимым от планирования разработки, ну и само тестирование, понятное дело, тоже должно быть независимым. Боюсь, что это уже за гранью agile. Картинки в его презентации тоже были как будто срисованы с RUP-диаграмм -- артефакты, рабочие процессы, роли.

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

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

После обеда Максим Дорофеев сделал отличный доклад про "Agile в мире снобов". В качестве снобов выступали "жрецы" великого стандарта DO-178B, основного регламентирующего документа в области разработки встраиваемого ПО для авионики. Вот это было действительно про agile.

Максим продемонстрировал, что ум и смекалка позволяют справиться даже с такими снобами, причём играя по их правилам и на их поле. Снобы требуют, чтобы у вас был план проекта, а вам хочется сохранить гибкость? Нет проблем, пишем план, в котором в качестве работ указаны "Итерация 1", "Итерация 2", "Итерация 3" и так далее, а на вопрос, что является результатом каждой из этих итераций, отвечаем, что это будет "работающий продукт, но с не полностью реализованной функциональностью". Нужен план конфигурационного управления? Рисуем на бумажке или белой доске схему репозитория, правила обозначения версий и релизов, диаграмму процесса сборки, сканируем или фотографируем, на получившейся картинке проставляем нужные данные (кто и когда создал документ, кто и когда завизировал) и дело в шляпе. Ну и так далее, принцип ясен? Всё гениальное, как всегда, очень просто.

Следующий доклад, на котором Александр Кондаков рассказывал про то, как скрестить agile и CMMI, я практически полностью пропустил. Про это я с разными вариациями наслушался на прошедшей конференции SECR.

Доклад Сергея Архипенкова про "Антипаттерны командного поведения" опять не имел ни малейшего отношения к agile, но от этого он не стал менее интересен. Замечательное психологическое исследование, прекрасно дополняющее не менее замечательные книги того же автора, посвященные управлению проектами. Как книжки, так и презентацию доклада можно найти на сайте http://www.arkhipenkov.ru/. Даже писать много не буду -- качайте и читайте, оно стоит того.

Дальше все пошли играть в Lego. Под чутким руководством Алексея Кривицкого три команды по шесть человек строили игрушечный город -- домики, машинки, светофоры, деревья. Но строили не просто так, а в полном соответствии со Scrum'ом. Играли в Planning Poker, двигали жёлтые бумажки по белой доске, вели переговоры, в общем, всё как на самом деле. К сожалению, как это часто бывает с играми-симуляциями, отведённое время закончилось когда игра была в самом разгаре. Получаса явно не хватило, для полноценного результата надо было бы выделить часа полтора, чтобы можно было не только доиграть до конца, но и обсудить полученный опыт. Тем не менее, это было весело, ждите видео!

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

Увы, битвы не получилось. Бойцы покружили друг вокруг друга и разошлись без особых шрамов и повреждений. Со стороны нападения прозвучали главным образом все те же агрументы, которые Слава высказывал ещё утром и которые я уже перечислил выше. И даже несмотря на то, что Сергей явно подыгрывал нападающим, Асхат без труда отбил все нацеленные в agile удары. Точнее говоря, он вообще не стал их отбивать, а просто погасил, признав по всем пунктам, что agile иногда работает, а иногда нет. Что, в общем-то, и так практически всем ясно.

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

Сейчас в англоязычных форумах и блогах обсуждаются более серьёзные проблемы, которые есть в agile-движении и которые в большей степени связаны не с самой сущностью agile-методов, а с практикой их применения. Мне было бы интересно обсуждение именно этих практических проблем, но этого как раз не случилось.

Ну а под конец Сергей (на мой взгляд совершенно напрасно) добавил ещё одну ложку дёгтя, решив напомнить всем, что собственно предмет спора весьма неопределён, никто не может внятно сформулировать, что же такое agile, где он начинается и где заканчивается. В результате вся дискуссия сразу стала ни о чём и сдулась. Гиганты издалека погрозили друг другу и разошлись.

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

Ждём следующую конференцию в серии -- в июне планируется проведение Training Labs.

Иллюстрации в тексте кликабельные и ведут вот на эту коллекцию фотографий с конференции.

четверг, апреля 02, 2009

Отчет о семинаре "Обзор бесплатных инструментов тестирования" 28 февраля 2009 г.

С некоторым опозданием решил написать отчёт о прошедшем 28 февраля семинаре "Обзор бесплатных инструментов тестирования".

После этого 28 марта состоялся ещё и вебинар на ту же тему, в котором сделана работа над ошибками, упоминаемыми в этом отчёте. Но отчёт о вебинаре будет позже, не буду нарушать хронологический порядок.

Про участников

В семинаре приняли участие 11 человек, из них: 4 руководителя отдела тестирования или группы, 4 ведущих тестировщика, 2 разработчика, 1 руководитель проекта.

Про организационные моменты

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

Вывод: Надо спрессовать эту часть, не "разжевывать" материал. Во второй версии эта проблема была устранена (к чему это привело я напишу в следующем отчёте).

Суббота, 9 часов утра -- не самое лучшее время для семинара. Народ роптал, намекая, что 11 или даже 12 часов было бы куда лучше. С одной стороны, я вроде хотел сделать как лучше, чтобы хотя бы послеобеденну часть субботы сохранить людям для отдыха. Однако же 9 часов -- таки очень рано для многих...

Вывод: Онлайновый семинар надо начинать часов в 10, а оффлайновый лучше даже в 11. Чтобы все успели проснуться.

Кофе-брейки -- очень важный момент. Они должны быть -- и они были. На кофе-брейках должна быть еда, не только печенье, а что-нибудь достаточно сытное, типа бутербродов (они тоже были). Потому что некоторые утром явно не позавтракали. Участники в отзывах писали про кофе-брейки с такой теплотой, какой не было в комментариях по поводу самого семинара :)

В целом организация семинара вызвала у участников исключительно положительные эмоции (ну, кроме жалоб на то, что будить людей утром в субботу бесчеловечно):

"Задержка на час. Но это простительно, потому что было интересно!"

"Всё удобно, встретили на входе и проводили"

"Организация на высоте. Оч. приятно!"

Всей организацией занималась моя жена, за что ей огромное спасибо! :)

Про содержание тренинга

Выбранная тема семинара "Обзор бесплатных инструментов тестирования" совершенно необъятна. С одной стороны, это хорошо, есть возможность показать людям много разных инструментов, из разных областей.

Это и хорошо, и плохо одновременно. Каждый участник приходит на семинар с каким-то бэкграундом и с какими-то своими ожиданиями и интересами. Один занимается веб-приложениями и тестирование десктопных приложений ему совершенно неинтересно. Другому наоборот. Тест-менеджерам возможно больше хотелось бы послушать про инструменты управления тестами, чем про инструменты для их разработки. В итоге каждый остаётся наполовину неудовлетворён:

"Было акцентировано внимание на Java и Web приложениях".

"Хотел ещё услышать о security и usability. Модульное тестирование преподносилось очень долго".

"О некоторых упомянутых инструментах было бы интересно услышать подробнее".

"Лично мне .NET инструменты были не очень интересны, не хватало баз данных и приёмочного тестирования. Но тема реально ОЧЕНЬ большая".

"Хотелось бы немного большего разнообразия инструментов Win".

Вывод: Нужно делать несколько более узкоспециализированных семинаров, дробить во-первых по технологическому признаку (unit-тестирование, веб-приложения, Java, Windows, Linux), а во-вторых инструменты поддержки процесса вынести отдельно.

Я заметил, что большинству слушателей интересны в первую очередь "утилиты", несложные инструменты, которые можно начать применять немедленно и которые дают мгновенную отдачу. Чёрт возьми, и мне самому тоже было бы интересно именно это!

Вывод: Нужно больше работать над тем, как "уравнять" более рутинные инструменты с "фановыми". Рутинные инструменты, если их начать внедрять в правильном порядке тоже могут дать быстрый эффект, надо научитьсяч показывать эти пути.

Ну и напоследок приведу усреднённые оценки по ряду параметров, данные участниками после семинара (по пятибалльной шкале):

1 Тренер
1.1 Компетентность тренера -- общее впечатление о том, насколько хорошо тренер знает то, что рассказывает, как тренер отвечает на вопросы, в том числе смежные с основной темой тренинга 4,77
1.2 Регламент -- насколько хорошо тренер контролирует время и управляет ходом событий 4,05
(я ожидал гораздо худшего, с учётом задержки на час)
1.3 Риторика -- текст (что тренер говорит) и речь (как тренер говорит) 4,82
2 Тренинг
2.1 Соответствие описания содержанию 4,27
2.2 Полнота раскрытия темы 4,27
2.3 Интересность 4,41
3 Общее
3.1 Организация тренинга 4,59
3.2 Оправдались ли ожидания от тренинга? 4,5
3.3 Общее впечатление 4,45