Сбор Основанных на требованиях Метрик Тестирования с помощью Непрерывного Интегрирования

Обзор

Основанные на требованиях метрики тестирования позволяют вам оценивать состояние и качество ваших действий основанного на требованиях тестирования (RBT). Можно визуализировать результаты при помощи Модели, Тестирующей Инструментальную панель. Набор этих метрик может быть включен в рабочие процессы непрерывного интегрирования (CI). Непрерывный набор этих метрик помогает вам контролировать прогрессию и качество проекта. Этот пример использует GitLab, чтобы разместить источник проекта и Дженкинса, чтобы создать и протестировать проект, а также заархивировать результаты.

Требования

  • Использование проекта MATLAB

  • Использование менеджера по Simulink Test тестовая обвязка

Настройте проект в системе контроля версий

GitLab Setup

Создайте проект GitLab для управления источника ваш проект. Для получения дополнительной информации см. https://docs.gitlab.com/ee/README.html.

  1. Установите клиент Git.

  2. Настройте переходящий рабочий процесс. Используя GitLab, от основной ветви, создают временную ветвь для реализации изменений в файлах модели. Инженеры интегрирования могут использовать результаты испытаний Дженкинса решить, объединить ли временную ветвь в основную ветвь. Для получения дополнительной информации см. https://git-scm.com/book/en/Git-Branching-Branching-Workflows.

  3. При Настройках> Репозиторий, защитите основную ветвь путем осуществления использования запросов слияния, когда разработчики захотят объединить свои изменения в основную ветвь.

  4. При Настройках, на странице Integrations, добавляет webhook к URL вашего проекта Дженкинса. Этот webhook инициировал задание сборки на сервере Дженкинса.

Добавьте проект

Этот пример использует проект CruiseDashboardExample. Создать рабочую копию этого файла, в командной строке, dashboardCCProjectStart. типа

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

Выведенная фильтрация артефакта

Сбор метрик генерирует файлы, которые вы обычно не хотите зарегистрированный система контроля версий. Git позволяет игнорировать файлы путем добавления фильтров в текстовый файл, названный .gitignore, расположенным в корневом каталоге. Можно добавить файл примера, присоединенный к этому примеру, который отфильтрует файлы, сгенерированные этим примером, которые не должны быть добавлены к системе контроля версий. Можно найти больше информации о gitignore https://git-scm.com/docs/gitignore.

Настройте проект в непрерывном инструменте интегрирования

Непрерывный инструмент интегрирования автоматизирует создание и тестирование проекта. Много различных инструментов могут использоваться, чтобы автоматически сгенерировать основанные на требованиях результаты тестирования путем выполнения тех же общих шагов. В этом примере используйте Дженкинса в качестве средства автоматизации. Чтобы запустить пример, необходимо установить плагины GitLab и MATLAB для Дженкинса.

Создание проекта

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

  1. Нажмите New Item, заполните имя и выберите вольный проект

  2. В вашем проекте Дженкинса нажмите Configure.

  3. На вкладке "Общие" задайте название проекта.

  4. На вкладке Source Code Management, для поля Repository URL, задают URL вашего репозитория GitLab.

  5. На вкладке Build Triggers выберите Build, когда изменение будет продвинуто к GitLab.

  6. Сконфигурируйте Среду сборки, чтобы использовать установленную версию MATLAB, необходимого проекту.

Создание и тестирование

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

Нажмите сборка Add продвигаются и выбирают Run MATLAB Command. Введите команду

openProject(pwd);collectModelTestingResults();runTests();collectModelTestingResults();

Архивация и потребление метрических результатов

Метрические результаты могут быть заархивированы во время шага сборки и затем повторно импортированы в MATLAB, когда это необходимо, чтобы рассмотреть их. В этом примере скрипт набора результата хранит метрические данные в derived директория. Поскольку некоторые метрики используют экспортируемые результаты Simulink Test, необходимо также заархивировать экспортируемый .mldatx файлы.

Чтобы заархивировать результаты для более позднего анализа, сконфигурируйте систему CI, чтобы экспортировать эти файлы:

  • Все файлы расположены в <project-root>/derived директория

  • Все результаты испытаний экспортированы в <project-root>/testresults/.mldatx файлы.

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

Нажмите действие постсборки Add и выберите Archive артефакты. Введите путь derived/**,testresults/*.mldatx заархивировать все файлы, сохраненные в ту директорию.

Наконец необходимо нажать кнопку Save, чтобы сохранить и закрыть настройку.

Выполнение задания сборки в Дженкинсе

Дженкинс теперь сконфигурирован, чтобы выполнить новое задание сборки каждый раз, когда новые изменения в проекте были преданы репозиторию GitLab. Можно также вручную запустить сборку путем нажатия на Build Now на странице проекта Дженкинса.

Рассматривание заархивированных результатов в MATLAB

Дженкинс будет хранить все файлы, сгенерированные и заархивированные для каждой успешной сборки, и они могут быть просмотрены индивидуально или загружены вместе в одном zip-файле. Просмотреть результаты в MATLAB:

  1. Получите версию проекта, который использовался, чтобы сгенерировать результаты системы контроля версий.

  2. Доберитесь заархивированная метрика следует из заархивированного местоположения.

  3. Загрузите и копируйте/извлекайте derived директория и все файлы в корневой каталог проекта.

  4. Загрузите заархивированные экспортируемые файлы результатов Simulink Test и копируйте/извлекайте эти файлы также.

  5. Откройте проект в MATLAB и откройте Модель, Тестирующую Инструментальную панель. Инструментальная панель отображает результаты, сгенерированные от сборки CI.

Альтернативное Интегрирование CI с помощью Командной строки

Если вы используете различное средство автоматизации, можно альтернативно использовать командную строку для тестирования интегрирования. Запустите тесты и соберите метрики путем выполнения соответствующих команд через интерфейс командной строки вдоль использования -batch флаг.

Например, когда вы используете эту команду, MATLAB открывает проект, инициализирует модель, тестирующую результаты, запускает все тесты, собирает метрики модели, и затем закрывается.

matlab -c %LICENSE_PATH% -nosplash -logfile output.log -batch "openProject(pwd);collectModelTestingResults();runTests();collectModelTestingResults(); exit;"