Байка-18. Периодическая система видов тестирования программного обеспечения.

Март 21, 2017

Очередное чаепитие, очередное подтрунивание друг над другом, очередная  постановка мозгов.
Шляпник предложил:
– А давайте попробуем масалу по рецепту чайной «Дом белого журавля»?
– Что за чайная? – заинтересовался Заяц
– Шикарнейшее место с потрясающей атмосферой. Как раз для наших посиделок.
– А что такое масала?
– Чай на молоке с индийскими специями и имбирем.
– О! А мне как раз прислали высокогорный шен-пуэр, – как обычно внезапно появился Кот и принялся колдовать над огромным чайником. – А в «Дом белого Журавля» обязательно сходим.
Читать дальше »

Решил собрать в кучу ссылки на мои доклады

Февраль 12, 2017

Я не помню все доклады, которые делал. Но пусть хоть часть будет. Потихоньку буду собирать.

SQADays:

Летний аналитический фестиваль:

AnalystDays-2012

Secr:
2016. Подбор и адаптация методологий разработки ПО под различные типы производственных цепочек.

Немного россыпью:

PS. Говорят по моим статьям и докладам многие учились.

Байка для оруженосца — 17. Декада не в счет, или Совершенная и несовершенная форма управления.

Январь 13, 2017

Примечание. Байка за номером 16 на текущий момент содержит ненормально большое количество ненормативной лексики и пока не может быть опубликована.

——–
Жизнь перед Новым Годом текла неторопливо. Подчищали старые хвосты, обновляли документацию, писали дополнительные скрипты для мониторинга промышленного стенда и т.д. Только код не писали. Кто ж выводит релиз в последнюю декаду? Нет, слухи о том, что это может окончиться благополучно, естественно, ходят. Многие любят рассказать о том, как они нарушали правила безопасности и все оканчивалось благополучно. К сожалению, альпинисты, которые нарушили правила и погибли, уже не могут поделиться опытом. Типичная «ошибка выжившего».

Потому занимались относительно безопасными видами работ. Заяц давно носился с идеей сделать мониторинг промышленной среды не как в девятнадцатом веке, а по взрослому, с использованием карт Шухарта. И вот пришел Время и дал отмашку. Хороший мониторинг на каникулах — это не только спокойное дежурство саппорта, но и крепкий сон программистов. Для начала решили реализовать все критерии из «ГОСТ Р 50779.42-99. Статистические методы. Контрольные карты Шухарта.»

Читать дальше »

Байка для оруженосца-15. Четвертое правило воронки.

Сентябрь 27, 2016
Fais ce que dois, advienne, que pourra -
Делай, что должно, и будь, что будет.

В этот раз собрались не в офисе и не в рабочий день, а арендовали коттедж в загородном доме отдыха в воскресенье. И не от фирмы, а просто от себя. Такие вот IT-шашлыки [1]. Шашлыков, правда, не предвиделось. Приехала команда Королевы и хорошие ребята из других команд. Отмечали день тестировщика и день программиста. И заодно возвращение Оруженосца.

Читать дальше »

Байка для оруженосца- 14. Сбалансированная производственная цепочка.

Август 27, 2016

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

Так что за огромным столом был традиционный для команды “five o’clock”. Но и на нем не обошлось без игр. Играли в игру из романа “Слишком много поваров” Рекса Стаута. Чеширский отобрал множество ингредиентов для заварки. Чабрец, липовый цвет, листья земляники … Всего дюжину добавок. И заварил пять огромных пузатых чайников. Но в каждый положил только десять компонентов. И теперь надо было угадать в каком чайнике чего не хватает. Организовалось две команды. Одной верховодила вернувшаяся с Байкала Соня, другой Шляпник. Королева и почтивший чаепитие свои вниманием Время были простыми участниками.

Читать дальше »

Байка для оруженосца- 13. Стратегия тестирования “Синдром стажера”.

Август 1, 2016

- Чего звали? - ввалился в кухню Армигер.
- Естественно, чайку попить. У вас же небось чай из пакетиков. - Заяц был само гостеприимство. - Садись, вот, лимончика отрежь. Или черничного варенья положи.
- Ага, черничное варенье самое то. У, как вкусно!
- Как у тебя с проектом? - перешел к делу Шляпник.
- Все отлично. Запускаем в промышленную эксплуатацию. Вот сегодня справочники залили.
- Справочники? Серьезно? В этом малюсеньком проекте? - Сарказм Зайца явно превышал температуру за окном.
- Ну да. ОКАТО, ОКПО…
- А тебя не смутило, что вторая буква “К”, а не “С”? Почему не ОСАТО? Не ОСПО? - Шляпник, как всегда, был доброжелателен.
- Так, стоп. - И Армигер открыл крышку своего нута. - Сейчас я посмотрю.
Пока Оруженосец яндексил, все наслаждались изысканным букетом чая с Шри-Ланки.

Читать дальше »

Байка для оруженосца-12. Китайская комната.

Июль 3, 2016

В этот раз друзья решили нанести визит вежливости и отправились на чай к Оруженосцу, который все еще был в краткосрочной командировке. В гости отправились вчетвером: Соня, Шляпник, Заяц и новая сотрудница Синица.

Компания ввалилась на кухню, и Шляпник представил нового коллегу:
- Знакомьтесь, это Синица, наша новая тестировщица, а это Оруженосец Королевы. Ну, или будет им.
- Приятно познакомиться.
- Взаимно.
- Чего такой смурной? Приемо-Сдаточные Испытания завалил? Из командировки не отпускают?
- Нет, с испытаниями все отлично. Заказчик был в восхищении и никак не мог поверить, что это не муляж, а готовый к эксплуатации софт. Кстати, спасибо, что натаскали писать программу и методику испытаний. До сих пор в шоке от того, насколько ГОСТ 34.603 позволяет настолько хорошо и быстро сделать софт.
- Дело не в ГОСТе, - нравоучительно сказал Заяц, - а в умении мыть руки перед употреблением бубликов и перед тем, как садишься за клавиатуру.
- Просто умение пользоваться ГОСТами осталось в 90-х. Ладно, колись. Чего случилось? - надавил Шляпник.
Читать дальше »

Байка для оруженосца — 8. Жизненный цикл задачи на изменение кода.

Июль 2, 2016

Дисклеймер.

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

———————————————-

Сегодня в кухоньке были все свои. Чеширский, Заяц с Шляпником, Соня и, конечно, Королева. Небольшой «чай-брейк» после релиза. Команда всегда делала небольшие паузы между большими блоками задач. Только Армигера не было. Его послали в небольшую командировку. Порулить в несложном проекте с чужой командой.

Соня, как всегда, дремала, лениво перелистывая очередную статью по тестированию, Шляпник с Зайцем азартно вели один из вечных споров типа «Пробелы-Табуляции», иногда скатываясь к проблемам генерации идентификаторов, а Королева с Чеширским просто пили чай. 15 минут это немного. Но и не мало.

— Я не опоздал? — с порога спросил Армигер.
— Заходи, заходи. Пока чай льдом не покрылся. Сегодня мы пьем какой-то редкий сорт, который Чеширский привез из Китая. — И Шляпник наклонил чайник над кружкой с эмблемой SQADays-10.
— Позавчера сам собирал. На плантации старого приятеля. Цените. — Поистине, связям Чеширского Кота оставалось только позавидовать.

Читать дальше »

Байка для оруженосца- 11. Ложная слепота и задача трех тел.

Июнь 28, 2016

grid_3.png
В кухне Шляпник предавался воспоминаниям и травил безумные истории.

- Разрабатывала как-то одна фирма мегасофт. И, как полагается мегасофту, багов там тоже было как термитов в термитнике. Заказчики выли в голос. В какой-то момент руководство узнало о такой профессии, как тестировщик. Круто. Организовали отдел, наняли кучу народа. И процесс пошел. Все как надо: выделенные тестовые стенды, трекер, чеклисты. Да-да процесс поставили как по-взрослому. С маджонгом и гейшами. Но почему-то заказчики выть не переставали. Примерно через полгода руководство робко поинтересовалось: а в чем собственно дело? Слова были немного другие, но смысл такой. И тут выяснилось, что забыли поставить процесс исправления ошибок. Трекер был полон багов в состоянии “New”.

В комнате раздались смешки, но быстро стихли. История выходила совсем невеселая.

Читать дальше »

Байка для оруженосца-10. Военные маневры.

Июнь 18, 2016

Армигер маялся в кухне. Он пришел слишком рано, но ему было невмоготу. Наконец пришли Шляпник и Заяц. Пришли так же неожиданно рано.
— У тебя вид, как будто собираешься на первое свидание и не знаешь, какой букет выбрать.
— Примерно так. Мне завтра программистов собеседовать. А я ж тестировщик.
Шляпник вздохнул, открыл окно, сорвал с растущей рядом липы полною горсть липового цвета и занялся завариванием чая.
— Не умеешь проводить собеседования — не проводи их. У тебя что, времени как у дурака махорки? — Заяц, как всегда, был в своем репертуаре.
— Кстати, ты в курсе, что корреляция между умением проходить интервью и умением работать отсутствует? — поддержал Мартовского Безумный коллега.
— Э-э-э…
— Ладно. Завариваем чай и ждем. Не наливаем. Просто ждем.

Через пару минут дверь отворилась, и вошло около дюжины незнакомых Оруженосцу людей во главе с Соней.
— Привет, Храбрый Мыш. На рекорд идешь? Какой ты раз? Пятый? — спросил Шляпник у одного из вошедших.
— Пятый, пятый. Пока до минус двенадцати не дойду — не успокоюсь.
Рипичип водрузил в центр стола огромную коробку и открыл ее. По кухне разнесся восхитительный запах свежеиспеченных плюшек с маком.
— Угощайтесь.
— Так, коллеги. Берем кружки, берем плюшки, пьем чай, — скомандовала Соня, — а Заяц тем временем все объяснит.
Когда все расселись за огромным столом и сделали по глотку, Заяц приступил к вводной части.
— Первое. Ваши резюме мы не читали. В нашей команде предпочитают добротную фантастику. Кэрролла, например. И да, у нас есть отдел кадрового учета, но нет отдела персонала. Так что ваши резюме вообще никто не читал.
Кто-то за столом закашлялся.
— Как нет отдела персонала?!
Заяц задумался.
— Как-то так. Надо у Чеширского спросить. Тебе надо, ты и спросишь. Продолжим. Собеседования у нас тоже нет. Ибо нефиг.
— Кстати, наличие и собеседования, и испытательного срока противоречит Трудовому Кодексу, — вставил реплику Шляпник.
— Для простоты мы просто берем на работу по краткосрочному контракту на две недели. По итогам двух недель делаем предложение. Или не делаем. Потом идет стандартное трудоустройство с трудовой и прочим. Иногда испытательный срок сокращается до недели.
— А как же три месяца?
— Зачем? — удивился Заяц. Если менеджер за две недели ничего не понял…
— То эти менеджеры работают в других командах, — прервал его Шляпник, — в отличных, замечательных командах. Но других. Не у Королевы.

— О чем это я? Ах, да. Но мы понимаем, что прийти сразу на две недели не для всех удобно. Поэтому мы регулярно проводим «Военные маневры». Никаких задач про люки и мух. Никаких инвертирований списка и сортировок.
— Понимаете, нам с Зайцем за последнею дюжину лет ни разу не приходилось писать сортировку. В реальных проектах.
— Точно. На этой работе вам в основном придется читать и править чужой код. Поэтому если вы умеете инвертировать список, но не способны читать чужой код, вам лучше попробовать свои силы в другой команде.
— Отличной, замечательной команде. Но другой.

— Несколько лет назад мы сохранили копию одного проекта. Все как полагается. Репозиторий, трекер, вики и прочая, и прочая.
— А репозиторий какой?
— Ты текст вакансии читал? Там все написано. Заметим, мы не требуем знания и опыта работы с этими средствами коллективной работы. Мы говорим, что в проекте придется работать с ними. Это не требования, как у некоторых, — и Заяц скосил глаз на соседний корпус. — Не требования, а условия работы. Так вот, на основании этого реального проекта у вас по четыре задачи трех разных типов. Все задачи делать не нужно, делайте шесть. Но нужно сделать минимум по одной задаче каждого типа. Исправить ошибку, сделать рефакторинг чужого кода и реализовать небольшую новую фичу. Рабочие места у вас оборудованы, но интернета нет. Телефон в бункере не ловит. Сделали задачи, залили в транк — свободны. Вечером пришлем ваш результат. На основании этого результата мы не принимаем. Эта оценка — ваш ориентир, на что вы можете рассчитывать. Мы берем и ведущих, и обычных, и начинающих. Стажеров тоже берем. Но мы рассчитываем, что ведущий программист наберет не более полудюжины минусов. И найти ведущего — большая редкость. Сделанная вами работа проходит юнит тесты, ревью кода. А потом начинается самое страшное. Ваш код начинают проверять тестировщики. И это самая точная оценка качества вашего кода.
— Вопросы есть? — скомандовала Соня. — Если нет, хватаем кружки, хватаем плюшки, идем в бункер.
Группу отправляющихся в бункер возглавила Соня, а в арьергарде пристроился Заяц.

— А ты тормозни, — придержал Оруженосца Мартовский. — В бункер успеешь.
Когда все вышли, Шляпник продолжил:
— Тебе, наверное, интересно, как идет оценка?
Оруженосец кивнул и налил новую чашку чая.
— Идеальная работа оценивается в ноль баллов. Это ровно шесть задач, с выдержанным стилем кодирования, прошедшие не только юнит тесты, но и тесты Сони. Такой результат встречается исключительно редко. Если точнее — встретился один раз за последние три года. Соня нашла, правда, одну ошибку, но сама признала, что для равновесия по Паретто это неизбежность.
— А кто это?
— К сожалению, он к нам не пошел. Живет в другом городе, а к нам просто зарулил на огонек. Продолжим. За каждый косяк идет от одного до дюжины минусов. Сделал меньше шести задач — минусы. Сделал больше — минусы. Вышел за час — минус. Не смог сделать по одной задаче каждого типа — минусы. Пренебрег кодестайлом — минусы. Использовал неправильную венгерскую нотацию — минус. Мы рассчитываем, что ведущий программист знает разницу между правильной и неправильной венгерской нотацией. Завалил юнит тесты — много минусов. Ошибку нашла Соня — меньше минусов. Не запустил юнит тесты после сборки — сразу дюжина минусов. Принципиально не уходит в фичебранч… За это надо бить ногами, но мы просто минусуем. При коммите не указал номер задачи из трекера — минусы. Не перевел задачу в «Open» при бранче — минус. Не перевел при мерже в транк — полная обойма из минусомета. Не оставил комментарий — ладно, есть номер задачи. Оставил бессмысленный комментарий — четыре минуса. За каждый бессмысленный комментарий. И т.д. Вот полный список.
И Шляпник протянул брошюру.
— Большая часть проверок автоматизирована.
— А если минусов больше шести, то не берем на работу?
— Почему не берем? Берем. Еще как берем. И даже если минусов больше сотни, тоже берем. И даже при полном бите минусов тоже берем. Просто будет не ведущий. Но, по-любому, это решается после двухнедельного испытательного срока.
— А почему Храброго Мыша не взяли?
— Мы бы его взяли, да он директор одной из софтверных компаний. К нам ходит из любви к искусству. Как сам говорит, что если бы платил за каждый сеанс по штуке баксов — его фирма все равно была бы в огромном плюсе. И он с удовольствием берет тех, кто к нам не пошел, но показал высокий результат. Набрал не более 128 минусов.

Помолчав, Шляпник добавил:
— У него сейчас великолепный результат. За полгода и четыре сеанса он поднял свой уровень очень сильно. Ну все, тронулись. Смени Зайца в бункере.

——————-

[1] Рипичип, он же Храбрый Мыш - герой романа “Покоритель Зари, или Плавание на край света” из цикла “Хроники Нарнии”