Построить световой индикатор
Тема этой статьи Википедии может не соответствовать общему правилу по известности . ( август 2012 г. ) |
Световой индикатор сборки — это простой визуальный индикатор, используемый в гибкой разработке программного обеспечения для информирования команды разработчиков программного обеспечения о текущем состоянии их проекта. Реальный используемый объект может варьироваться от манометра до лавовой лампы ли программный процесс (например, «сборка» , но его цель остается той же: быстро сообщить , успешен ) или нет.
История
[ редактировать ]Световой индикатор сборки произошел от CruiseControl , [ нужна ссылка ] инструмент непрерывной интеграции, созданный сотрудниками ThoughtWorks . Хотя в первую очередь оно функционировало как панель управления веб-страницы, которая могла сообщать более подробную информацию о сборке, программа также могла управлять внешними устройствами для упрощения отчетности. [1]
Использовать
[ редактировать ]Традиционное использование индикатора сборки заключается в определении успеха сборки программного обеспечения в системе непрерывной интеграции (CI). [2] Разные команды разработчиков использовали разные индикаторы, но популярным выбором является зелено-красная лавовая лампа: зеленая, когда сборка успешна, и красная, когда что-то не так. [3] К осветительным приборам можно даже получить удаленный доступ через веб-камеру или другие средства. [4] Однако, поскольку многие тесты в загруженных офисах разработки всегда будут находиться в состоянии повторного тестирования после последних изменений, некоторые индикаторы имеют три состояния отображения. [2] – пройти , не пройти и пройти повторное тестирование , чтобы предоставить более детальный индикатор для сотрудников и менеджеров. [5]
Помимо отдельных показателей
[ редактировать ]С переходом от непрерывной интеграции к непрерывному тестированию количество одновременных целей сборки может увеличиться даже для одной кодовой базы. Помимо простой цели сборки (т. е. компиляции), теперь будет модульное тестирование и различные уровни тестирования системы. Поскольку обширные тесты выполняются медленно и желательно, чтобы быстрые тесты выполнялись в быстром цикле, чтобы обеспечить быструю обратную связь с разработчиками, количество целей сборки может увеличиться до пятидесяти и более. Это слишком много, чтобы показать это с помощью простой лавовой лампы. Серверы интеграции, такие как Jenkins, предлагают страницу панели управления, доступную через Интернет, и вместо этого она может постоянно отображаться на настенном мониторе с плоским экраном. Детали такой информационной панели слишком малы, чтобы их можно было прочитать в офисе, но изменения цвета дают общую картину статуса.
Благодаря методологии непрерывной разработки через тестирование новые тесты выпускаются до того, как будет разработан рабочий код для их прохождения. Таким образом, существует период, когда известно, что некоторые тесты не прошли успешно. [6] Неудачные тесты необходимы, поскольку они демонстрируют способность новых тестов обнаружить вызывающую беспокойство ситуацию. Как только новый код будет разработан и заработает, эти тесты начнут проходить. Среда непрерывного тестирования, в которой новые тесты выпускаются до того, как их код, таким образом, требует двух целей сборки: одна отслеживает последний код и тесты, а другая «кандидат на выпуск» обновляется постепенно, только когда все тесты выполняются путем передачи кода. Для индикатора сборки это также означает, что одна из этих целей часто будет отображаться как «не прошедшая» тесты. Поскольку этот ожидаемый «провал» может ввести в заблуждение наивных наблюдателей, индикатор сборки должен либо скрыть его, либо представить его отчетливо.
Если несколько целей кода, например старые версии продуктов, все еще поддерживаются для CI, но не находятся в такой активной разработке, то во всей информационной панели могут доминировать «устаревшие» цели, которые редко меняются. В этом случае более подходящей может оказаться выбранная информационная панель, на которой отображаются только те цели, которые либо не работают, либо недавно были активны. Полная панель управления доступна для настольных компьютеров разработчика, но на настенном дисплее отображаются только наиболее важные моменты. Такие информационные панели часто кодируются локально путем очистки экрана основной информационной панели и применения к ней соответствующих локальных фильтров в соответствии с местными потребностями. Одним из недостатков информационной панели с динамической фильтрацией по сравнению со статической информационной панелью является то, что положение значков для конкретной цели может смещаться на экране, что затрудняет их чтение в другом месте офиса. В этом случае вместо простых цветных блоков могут отображаться характерные значки, например логотип продукта.
Ссылки
[ редактировать ]- ^ Майк Кон (10 июля 2009 г.). Как добиться успеха в Agile: разработка программного обеспечения с использованием Scrum . Пирсон Образование. стр. 245–. ISBN 978-0-321-57936-2 . Проверено 23 августа 2011 г.
- ^ Jump up to: а б «Сфера — индикаторная лампа сборки» . agileskunkworks.org . Архивировано из оригинала 11 июня 2010 года.
- ^ Кен В. Коллиер (27 июля 2011 г.). Гибкая аналитика: ориентированный на ценность подход к бизнес-аналитике и хранению данных . Аддисон-Уэсли. стр. 281–. ISBN 978-0-321-50481-4 . Проверено 23 августа 2011 г.
- ^ Карстен, Пол; Канниццо, Фабрицио (2007). «Создание распределенной Agile-команды» . Гибкие процессы в программной инженерии и экстремальном программировании . Конспекты лекций по информатике. Том. 4536. Ассоциация вычислительной техники . стр. 235–239. дои : 10.1007/978-3-540-73101-6_44 . ISBN 978-3-540-73100-9 .
- ^ Build Light - непрерывная доставка сочетается с реинжинирингом и [sic USB-драйвером]. Архивировано 15 сентября 2013 г., в Wayback Machine - Бернд Зутер, comSysto GmbH, 2013 г.
- ^ Мадейски, Л.; Кавалерович, М. (4–6 июля 2013 г.). Непрерывная разработка через тестирование — новая практика и вспомогательный инструмент гибкой разработки программного обеспечения . Учеб. 8-я Международная конференция по оценке новых подходов к программной инженерии (ENASE). Анже, Франция. п. 262.