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

Обзор

Основанные на требованиях метрики тестирования позволяют вам оценивать состояние и качество ваших действий основанного на требованиях тестирования (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 типа.

dashboardCCProjectStart

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

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

Сбор метрик генерирует файлы, которые вы обычно не хотите зарегистрированный система контроля версий. Git позволяет вам игнорировать файлы путем добавления фильтров в текстовый файл под названием .gitignore расположенный в корневом каталоге. Можно добавить демонстрационный .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;"
Для просмотра документации необходимо авторизоваться на сайте