К основному контенту

Сообщения

Сообщения за Февраль, 2013

Про "моргающие" тесты

Goblin Game: Перезапуск тестов - хорошо про опасность моргающих тестов.
Одна из причин того, что на "красные" письма никто внимание не обращает.

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

А ведь в каком то докладе на SQA Days'12 даже бредовую формулу с экономией времени давали.

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

В название поста я вынес цитату, которая на мой взгляд лучше всего описывает тему второй конференции "План Б" в питерском офисе Яндекса: "История факапов".

Несмотря на субботний день, да еще и 23 февраля, желающих послушать истории чужих факапов и рассказать про свои, собралось очень много, всем даже мест не хватило:



Сразу оговорюсь, что Миша Карпов обещал видео всех докладов в течении 2-х недель. Воспользовавшись формулой Леши Авдея можно предположить, что в течении месяца точно будут :) Update: уложились в 2 недели :) Видео уже есть.
Рекомендую посмотреть: доклады все были интересные и динамичные (те что до обеда - точно). Следите за анонсами, например в twitter'e Яндекс.Events.

Ниже будут мои впечатления и мысли, которые я для себя отметил.

Первым выступал Леша Авдей из "Яндекс-Маркета" с интересным рассказом-инсайд "Как мы делали Яндекс-Одежда"  (название мое). Немного оффтопа: надо сказать, что до этого доклада я не знал об этом сервис…

Тестируем с помощью Fitnesse+PowerSlim. Часть 2. База.

Часть 1. Введение 
Часть 2. База (эта статья)
Часть 3. Интересные возможности
Часть 4. Демо FitNesse + Jenkins
Часть 5. Пример трансформации PowerShell скрипта в тест
Плагин для sublime, который подсвечивает синтаксис теста на Fitnesse+PowerSlim

Надеюсь, что вы нашли время (или желание?) посмотреть примеры, которые можно найти в пакете PowerSlim. Если вы их не видели, ничего страшного: все равно с нуля там ничего не понятно. Ну или почти ничего (да, Костя?) :)

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

Начнем, пожалуй, с организации тестов.

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


Страницы-сюиты.
Позволяют запустить тесты со всех тестовые страницы, расположенные под сюитой. Тесты при…

Тестируем с помощью Fitnesse+PowerSlim. Часть 1. Введение.

Часть 1. Введение (эта статья)
Часть 2. База
Часть 3. Интересные возможности
Часть 4. Демо FitNesse + Jenkins
Часть 5. Пример трансформации PowerShell скрипта в тест
Плагин для sublime, который подсвечивает синтаксис теста на Fitnesse+PowerSlim

С Fitnesse я познакомился в 2007 году. Начинали мы его использовать совместно с .Net. Потом был Python. После некоторого перерыва, решил посмотреть, как он поживает сейчас.
Товарищи с прошлой работы познакомили с расширением, которое позволяет использовать всю мощь Fitnesse в полной мере. Время на развертывание минимально. Если вы еще и знакомы с PowerShell, то проблем и того меньше.

Итак, разговор пойдет о Fitnesse и расширении к нему PowerSlim.  Название расширения намекает на использование PowerShell и технологии Slim, которая появилась в Fitnesse сравнительно недавно.

Я не буду углубляться в теоретические дебри Fitnesse'a. И не буду пытаться вас уговорить его использовать. Вместо этого, мы постараемся на простых примерах понять, как его…

Группировка С++ юнит-тестов в Visual Studio 2012 Test Explorer

Я уже писал про использование нового фреймворка для C++ unit-тестов в Visual Studio 2012.
Продолжаем изучать новшества.

На работе обсуждали, зачем ввели атрибуты (модуля, класса, метода). Точного ответа пока не нашел, но обнаружил, что группировка тестов Traits отлично с ними работает. Update: тут есть немного подробностей про использование Traits.

И зачем нам теперь группировка по классам в Update 2? ;)


Правда и здесь не обошлось без косяков. Куда же без них? :)

Документация в MSDN утверждает что макросы объявления группы атрибутов модуля и класса имеют параметр. На самом деле они без параметров. И если с атрибутами классов из-за этого проблем не возникает (макрос объявляется внутри класса), то с модулем дела обстоят хуже. Макрос создания атрибутов модуля объявляет (и определяет) глобальную функцию __GetModuleMetadata, что при его использовании в нескольких файлах вызывает проблемы с линковкой.
Проблему можно решить использованием namespace'ов, своего на каждый модуль. Я также п…

Lean по Дорофееву

Интересный слайдкаст от Макса Дорофеева "Intro2Lean"


Intro 2 Lean from Maxim Dorofeev
"Баги - это потери. Их не надо записывать - их надо исправлять...Но багов же много, как их сразу чинить? Их потому и много, потому что их не чинят, а записывают."

Классно - я тоже не люблю багтрекер.

IKIWISI - "I'll known it When I see it"
В переводе на понятный: "Никто сразу не скажет того, чего именно ему хочется. А если заставить это сделать - то возникает сильный соблазн запихать туда ВСЕ"

Как обычно: "Все ТЗ сразу, а потом частями реализуем", поэтому мы постоянно меняем ТЗ. А это снова потери.
Как правильно: ТЗ1+его реализация ТЗ2+его реализация и тд

"Субоптимизация" - плохо, оптимизировать надо "целое"

"45% процентов функционала никогда не используется" - сделали самое важное, выпустили, посмотрели реакцию и только потом продолжаем дальше.

Интересное обоснование полезности обычной доски в сравнении с электронной…

Станислав Протасов "90 минут о карьере менеджера"

Очень интересная запись презентации Станислава Протасова (старший вице-президент Parallels) от клуба "Стратоплан"

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

Но нужны не только технические знания. Станислав рекомендует развивать то, что сейчас называется "soft skills"

3 качества хороших менеджеров
ТолковостьОтветственность (нацеленность на результат)Коммуникабельность
При этом желание работать способно компенсировать недостаток остальных качеств. Станислав считает, что толковость - неразвиваемое качество. Я не согласен, по этим критериям остальные качества тоже неразвиваемые.

Хороший менеджер должен
"проигрывать" со своими людьми 60-80% споровдавать "выигрывать" разным людямиграть роль судьи на поле Рекомендую посмотреть, Станислав рассуждает о карьере менеджера, анализируя свои ошибки на этом нелегком пути длиною почти в 2…