Индикатор сборки - Build light indicator

Серия индикаторов сборки, применяемых к таким процессам, как модульное тестирование в дополнение к реальной сборке

А световой индикатор сборки простой визуальный индикатор, используемый в Гибкая разработка программного обеспечения сообщить команде разработчики программного обеспечения о текущем статусе своего проекта. Фактический используемый объект может отличаться от манометр к лава лампа, но его цель остается прежней: быстро сообщить, является ли программный процесс (например, 'построить' ) успешно или нет.

История

Световой индикатор сборки возник из Круиз-контроль,[нужна цитата ] инструмент непрерывной интеграции, созданный сотрудниками ThoughtWorks. Хотя оно в основном функционировало как информационная панель веб-страницы, которая могла сообщать более подробную информацию о сборке, программное обеспечение также могло быть интегрировано во внешние устройства для упрощения отчетности.[1]

Использовать

Традиционное использование света сборки - это определение успеха сборка программного обеспечения в непрерывная интеграция (CI) система.[2] Разные команды разработчиков использовали разные индикаторы, но популярным выбором является зеленая и красная лавовая лампа - зеленая, когда сборка успешна, и красная, когда что-то не так.[3] Строительные огни могут быть даже доступны удаленно через ВЭБ-камера или другими способами.[4] Однако, поскольку многие тесты в загруженных офисах разработки всегда будут находиться в состоянии повторного тестирования после последних изменений, некоторые индикаторы имеют три государства дисплей[2]проходят, провал и повторное тестирование, чтобы предоставить более подробный показатель для сотрудников и руководителей.[5]

Помимо отдельных индикаторов

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

С методологией непрерывная разработка через тестирование, новые тесты выпускаются до того, как будет разработан рабочий код для их прохождения. Таким образом, есть период, когда некоторые тесты известны, и действительно требуется быть неудачником.[6] Неудачные тесты необходимы, так как они демонстрируют способность новых тестов обнаруживать проблемную ситуацию. Как только новый код разработан и работает, эти тесты начинают проходить. Таким образом, среда непрерывного тестирования, в которой новые тесты выпускаются до их кода, требует двух целей сборки: одна отслеживает последний код и тесты, а другая «кандидат на выпуск» обновляется только постепенно, когда все тесты выполняются путем передачи кода. Для индикатора сборки это также означает, что одна из этих целей часто будет отображаться как «не прошедшая» тесты. Поскольку этот ожидаемый «сбой» может ввести в заблуждение наивных наблюдателей, индикатор сборки должен либо скрыть его, либо представить отчетливо.

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

использованная литература

  1. ^ Майк Кон (10 июля 2009 г.). Успех с Agile: разработка программного обеспечения с использованием Scrum. Pearson Education. С. 245–. ISBN  978-0-321-57936-2. Получено 23 августа 2011.
  2. ^ а б "Сфера - индикаторная лампа сборки". agileskunkworks.org. Архивировано из оригинал 11 июня 2010 г.
  3. ^ Кен В. Коллиер (27 июля 2011 г.). Agile Analytics: ориентированный на ценность подход к бизнес-аналитике и хранилищам данных. Эддисон-Уэсли. С. 281–. ISBN  978-0-321-50481-4. Получено 23 августа 2011.
  4. ^ Карстен, Пол; Канниццо, Фабриццио (2007). «Создание распределенной agile-команды». XP'07 Труды 8-й Международной конференции по гибким процессам в программной инженерии и экстремальному программированию. Конспект лекций по информатике. Ассоциация вычислительной техники. 4536: 235–239. Дои:10.1007/978-3-540-73101-6_44. ISBN  978-3-540-73100-9.
  5. ^ Build Light - непрерывная доставка встречает реинжиниринг и [sic Драйвер USB] В архиве 15 сентября 2013 г. Wayback Machine - Бернд Зютер, comSysto GmbH, 2013 г.
  6. ^ Мадейски, Л .; Кавалерович, М. (4–6 июля 2013 г.). Непрерывная разработка через тестирование - новая практика гибкой разработки программного обеспечения и вспомогательный инструмент. Proc. 8-я Международная конференция по оценке новых подходов к программной инженерии (ENASE). Анже, Франция. п. 262.