Архив рубрики 'Глубинные знания'

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

Вторник, Март 21st, 2017

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

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

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

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

(more…)

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

Суббота, Август 27th, 2016

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

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

(more…)

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

Воскресенье, Июль 3rd, 2016

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

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

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

Вторник, Июнь 28th, 2016

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

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

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

(more…)

Куб Неккера. Байка для оруженосца-6

Вторник, Май 6th, 2014

– Некоторая информация о персонажах ————

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

Королева. До сих пор не знаю, то ли она Красная, то ли Белая, то ли Черная. (По английской традиции в шахматах два цвета: белый и красный.) Руководитель разработки. Характер… Многие в соседних отделах считают королеву грубой, но команда в ней души не чает.

Соня. Судя по всему, тестировщик. Хотя в свете последних событий я в этом сильно не уверен.

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

А да, еще. Дисклаймер.
1.    Я не несу ответственности за слова героев данного рассказа. И не несу ответственности за вред, который вы можете нанести себе чтением или применением советов из этого рассказа.
2.    Уровень сложности не «Матан», но и не «Кэп». Берегите мозг.
3.    Российская традиция «Алисы» не соответствует английской. У нас другой культурный контекст, плюс переводчики «Алисы» изменили гендерную идентификацию. Если случайно кто-то будет переводить на английский, знайте, что англичане перевода могут не понять. В «Байках» не Кэрролловские герои, а какие-то другие. Подробнее об изменении характера героев можно прочитать в статье “Багира сказала…” http://magazines.russ.ru/voplit/2009/2/eli12.html Рекомендую.
– ———————————————–
– Скоро, скоро зацветет сирень – мечтательно протянул, глядя в окно и прихлебывая «Спринг Мелоди», Чеширский Кот. Он с интересом следил за крадущимися к Оруженосцу Зайцем и Шляпником.

– У, какая знакомая табличка, – вдруг заявил Мартовский.

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

– Насколько, я тебя знаю, ты достаточно неглуп и достаточно настырен, чтобы не остановиться на одном варианте. – Шляпник поставил на стол круглую коробочку. – А потому переходи к нам, на темную сторону.
– У нас есть печеньки, – пропели в унисон Шляпник и Заяц и зловеще захохотали. Потом так же хором добавили: – сейчас мы эти таблицы анализировать будем.

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

– И что, роль программиста везде не может сочетаться с остальными?

– Не везде. Как минимум с проектированием архитектуры сочетаться может. Хотя бы в одной из моделей, – присоединилась к беседе Соня. Из Сониного угла не было видно полдюжины листков, разложенных Оруженосцем на столе. Но благодаря дурному влиянию коллектива, Соня давно научилась думать на несколько ходов вперед и выдвигать высоковероятные гипотезы.

– Замечательно, – повернулся от окна Кот – Следующий ход?

– Поискать общее, – внесла предложение Соня.

За столом зашелестели бумажками.

– Че вы там шуршите. Я вам и так скажу. Во всех вариантах не рекомендуется сочетание ролей тестировщика и программиста, – прервала их, вставая, Соня.

Быстро проглядев листки, троица подтвердила вывод Сони.
– Иии? – просил с нажимом Заяц, и команда синхронно повернулась и выжидательно уставились на Оруженосца. Только Королева не стала отвлекаться от медитации над своим пауэром.

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

– Неплохо, – резюмировал Шляпник.
– Растешь, – хлопнул по плечу Заяц.
Соня одобрительно хмыкнула и мгновенным движением ухватила печенюшку.

– Но, вообще говоря, этого недостаточно, – начал анализ Чеширский. – Можно возразить, что XP-шники используют свою модель для уменьшения потерь на вариациях. Или что в проектах на полсотни инженеров разделение будет выгодно. Или, что если уже есть разделение на программистов и тестировщиков, то выгоднее запретить изменять роль в рамках проекта, чем не запретить. Для проверки последней гипотезы было бы очень удобно взять несколько параллельных вселенных с одинаковыми командами и одним разрешить, другим запретить. С параллельными вселенными у нас сегодня не получится, поэтому попробуем придумать эксперимент попроще. У нас есть тестировщик Соня. Она регулярно пишет сложные SQL-скрипты. Часто у нее уходит на это полчаса, хотя камрады справились бы с этим за пару минут. А недавно она написала модуль импорта отчетов в Excel. Вполне нормально написала. А еще у нас есть программисты. Которые регулярно пишут тестовые наборы и тестируют по ним. Вы зачем это делаете?

Заяц с Шляпником пожали плечами. Для них вопрос не имел смысла, так как ответ был очевиден.
– Так можно сделать проект быстрее, – ответил Заяц и обратился к Соне: – Ты ведь модуль тоже писала, потому что так быстрее?

– Ну да, – ответила Соня.

– Заметим, наши коллеги в рамках одного проекта регулярно переключаются из одного ролевого кластера в другой. И все отмечают, что это переключение позволяет сделать проект быстрее. Замечу также, что у Сони это переключение происходит несколько легче, чем у остальных. – Увидев непонимающие взгляды, Чеширский пояснил: – Как программисты, да и как тестировщики вы посильнее Сони будете, но вот переключение между ролями для нее менее болезненно.
Участники безумного чаепития согласно кивнули.
– А теперь! – и жестом фокусника Кот достал из шляпы лист бумаги и протянул компании.
eoa-iaeeadha.png
– Что это?
– Это куб Неккера, иллюстрирующий любопытный феномен. Вы может увидеть, что красная грань находится сзади?
Коллеги кивнули.
– Вы можете увидеть, что красная грань находится спереди?
Еще кивки.
– Но довольно трудно видеть и то и другое одновременно. Вероятно, с написанием кода и тестированием ситуация схожая. Довольно трудно мыслить в разных контекстах одновременно. Но можно, зная об этой особенности мышления, сознательно переключать контекст. – Помолчав, Чеширский добавил: – И снять ограничения на совмещения ролей.

– Полагаю, это не единственное ограничение, которое вам встретится в разработке ПО. Очень вероятно, что стоит явно разделять написание плана в терминах результатов, английское planning, и написание другого документа в терминах действий, английское scheduling. Попытка думать одновременно в двух контекстах, как правило, приводит к появлению забавных…
– Уродцев, – закончила Королева. – И хватит на сегодня. У нас еще релиз не выпущен.