пятница, 17 апреля 2015 г.

четверг, 16 апреля 2015 г.

Приглашение - Кедровка


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

Как обычно - принимаются предложения.

Субботу обещают дождливой, потому - воскресенье.

понедельник, 13 апреля 2015 г.

Урок 5. Слайд 263

Поехали:

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

воскресенье, 12 апреля 2015 г.

Стихов на память пост

Еще немного из Мельниковой, просто оставлю здесь.
Раз:
мы менялись. реже звонили, копили на что-то средства,
боролись за статус и реже верили чьим-то словам.
и из всех друзей из далёкого светлого детства
в итоге остались лишь те, кого каждый придумал сам.
Два:
забывают лица, слова и даты,
но живёт веками один сюжет:
не забыть того, кто тебя когда-то
так и не сумел полюбить в ответ.
И три:
у нас проблема, хьюстон.
только давай без лжи во спасение,
иначе сразу отбой.
"всё будет хорошо!" — самое хреновое утешение,
гораздо лучше "я не знаю, что будет дальше, но проживу это вместе с тобой".

четверг, 9 апреля 2015 г.

У страха глаза велики

Версия плана следующего велозаезда.

Название "У страха глаза велики"
Ссылка на карту.

По трассе ехать практически не придется - лишь выбраться за ЕКАД.
В основном - асфальт и грунт вдоль леса. В одном месте - мимо комбината по захоронению радиоактивных отходов.

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


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

Урок 5. Слайд 261-262

Поехали:

Слайд 261
Баг воспроизвелся в такой ситуации: каждый раз. когда удерживаемый звонок сбрасывался, в стек попадал мусор, но каждый раз, когда телефон находился в режиме ожидания - стек очищался. Проблема проявлялась в случае, когда у вас было много звонков на ожидании и суммарное количество удерживаемых и сброшенных звонков превысит 20.Тогда стек переполнится.
Когда стек переполнится, телефон начинает переводить настоящие звонки на номера из режима ожидания. Вы звоните кому-то, ждете на линии, затем слышите голос: "Здравствуйте, кто вы и чего хотите?"
Телефон продолжает переводить звонки дальше по стеку.

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

понедельник, 6 апреля 2015 г.

Урок 5. Слайд 259-260

Поехали:

Слайд 259
Предположим, что вызывающий вешает трубку в то время, когда вы поместили его вызов на удержание. Это редкий кейс в 1980-е. Стандарты клиентского сервиса были очень высокими. 90% вызовов на удержании пересоединялись в течении двух минут и не очень много людей бросали трубку, пока их вызов удерживали. И мы хорошо обрабатывали этот случай. Когда вызывающий бросал трубку, мы убирали его имя с дисплея, помечали линию, как доступную, все выглядело так, как будто звонок закончен. Но запись о звонке оставалась в стеке. Недоступная, но не удаленная. И стек переполнялся.

Слайд 260
Вам кажется, что мы могли бы заметить сразу эту проблему, так как наши тестировщики работали с 10 вызовами на удержании и  сбрасывали вызовы.
Но проблема более тонкая.
В действительности наш код проверял стек каждый раз, когда мы добавляли или удаляли из него что-либо. И мы поймали бы этот баг. К сожалению, к этому времени прошло слишком много времени и мы были уверены, что удержание и ожидание звонка работают корректно и не ожидали обнаружить проблемы со стеком.
Баг был создан позже, когда мы увеличили размер стека до 20 звонков в очереди. Так что даже если мусор и попадал в стек, у нас все равно было в нем место для настощих звонков. Также мы добавили сброс стека в некоторые места программы, например в состояние режима ожидания телефона. Так мы убеждались что если в стек и попадет мусор, то он будет очищен.

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

воскресенье, 5 апреля 2015 г.

Настроения пост

Кто ненужных вычеркнул, те свободные,
Нужно отпускать, с кем вы слишком разные.
Ведь, если настроение не новогоднее,
Значит, точно не с теми празднуешь

Это некая Ок Мельникова.
Хрен ее знает, сильно не все мне нравится, а это зацепило. Взгуглите этот стих целиком, да и остальные. А вдруг?

Велоотчета пост

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

В лесу еще полно снега, но лежит плотно, с настом, потому ехать - вполне можно. Даже как я - на сликах, благо, широкие, 2.3''
По лесу полно бегунов, которые удивленно на нас смотрят.

Как-то так:

И фоточки. Все вместе:

Снежок, примерно так выглядела треть дороги:
Так выглядела очень небольшая часть дороги:
Уже почти дома:

пятница, 3 апреля 2015 г.

Разведка боем


Время встречи - 10 утра, 4 апреля, суббота.
Место: Шефская-Баумана около Монетки:

Маршрут:
https://maps.yandex.ru/?um=dQ8EO1Px9sCrSJE1PNgzaiX3yUq9_zf2&l=sat%2Cskl


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

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

среда, 1 апреля 2015 г.

Shonin XM Anomaly in YEKATERINBURG

В минувшую субботу прошел сабж. Ссылка на гплюс событие.

Те, кто не в курсе, что это вообще такое,  гуглите, смартфонная игра с геопривязкой. По всему миру.
В субботу очередной тур - в Екатеринбурге.

Я принимал участие в составе мобильной группы энлайтов.
Сперва не очень понимал суть - почти полгода не заходил в ингресс, но через час движухи уловил и вспомнил смысл.


Мы - энлайты - выиграли в екб.

Расскажу о том, что мне особенно запомнилось и понравилось.

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

Напоминаю, несколько сотен по большей части незнакомых людей с общей идеей и целью.

Что было сделано для обеспечения такого качества координации? Дальше смесь того, о чем  знал точно и о чем примерно догадался.

Нас разбили на группы по 4-8 человек, названия групп - по фонетическому алфавиту ИКАО. Я был в группе Лума. Как я понимаю, первые несколько групп - альфа, браво, чарли - аналитики и небо.
У капитанов шевроны с буквой группы.
Каждый игрок шарит свое местоположение капитану и небу и слушает командную рацию.
Каждый капитан случает рацию операции.
У каждого капитана есть аналитик - небо, который дает ему указания из штаба и пересылает карты с оперативной информацией по задаче.
Задания для мобильных групп выдаются не заранее на всю игру, а за час-полчаса перед отсечками.
Группа аналитиков следит за явными действиями противников и за их перемещениями - косвенно, плюс по донесениям от полевых игроков.

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


Вывод: мотивация - необходима, но не достаточна. Дисциплина и грамотная организация решает не меньше.


Урок 5. Слайд 257-258

Поехали:


Слайд 257
Один из наших бета тестеров являлся брокером. В те дни брокеры были все равно, что Олимпийские атлеты среди пользователей телефона. Они совершали сделки по телефону. Они совершали множество звонков и могли работать по одному соединению, удерживая другое. В пиковой нагрузке они могли принимать множество звонков, ставить их на удержание и брать заказы так быстро, как могли.
Брокеры любили нашу систему. Вместо жонглирования телефонными трубками, с одной на плече, другой в руке и третьей на столе, у них был один телефон, который мог жонглировать десятью соединениями. Оденьте гарнитуру и работайте весь день, не напрягая шею, пытаясь записывать, пока говорите по телефону.
С сожалению, в тяжелые дни, иногда некоторые из наших телефонов ломались. Затем ломались другие. И третьи. Затем первый телефон перезагружался, возвращался на линию, но снова зависал после нескольких минут разговоров. Такое могло продолжаться час или больше.

Слайд 258
Наконец, мы выяснили, в чем проблема. Вот простая диаграмма состояний. У вас есть возможность удерживать 10 звонков. Ваш телефон обычно находится в режиме ожидания. Затем телефон звонит, вы берете трубку, телефон переходит в состояние на линии, либо вы не берете трубку и через некоторое время звонящий тоже кладет трубку.
Если вы соединились, то у вас есть возможность говорить некоторое время и повесить трубку. Тогда телефон также переходит в режим ожидания. Или вы могли бы поставить вызов на удержание. Когда вы это делаете, мы берем данные звона и помещаем их в стек.