Соберите покрытие в тестах

Если вы используете Simulink® Coverage™, чтобы сгенерировать модель и покрытие кода, то можно собрать метрики покрытия, когда вы запускаете свои тесты. Для тестов с включенным набором покрытия менеджер по Тесту включает покрытие каждой метрики, которую вы задаете, чтобы собраться в результатах.

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

Включите и соберите покрытие для тестового файла

Включите набор покрытия, просмотрите результаты покрытия в менеджере по Тесту и проследите результаты покрытия от менеджера по Тесту к модели. Модель sldemo_autotrans задает покрытие.

Для получения информации о типах покрытия модели смотрите Типы Покрытия модели (Simulink Coverage).

  1. Создайте тестовый файл и настройте тест для своей модели.

  2. В настройках тестового файла, под Coverage Settings, выбирают Record coverage for system under test. Можно также задать, собрать ли покрытие для моделей, на которые ссылаются.

  3. Выберите метрики покрытия, которые вы хотите собрать.

  4. Запустите тестовый файл.

  5. Чтобы просмотреть результаты покрытия, выберите результат теста в Results and Artifacts, разделяют на области и расширяют раздел Coverage Results.

  6. Если ваш тестовый файл или тестовый набор собрали метрики покрытия больше чем для одной модели, можно просмотреть все метрики покрытия в одном месте. Выберите результат и расширьте раздел Aggregated Coverage Results.

  7. Чтобы проследить результаты покрытия до модели, кликните по имени модели в таблице результатов покрытия.

    В модели выберите элементы модели, чтобы видеть данные о покрытии.

  8. Чтобы создать отчет покрытия для модели, кликните по стрелке в соответствии со столбцом Report в результатах покрытия.

Совет

Чтобы видеть агрегированные результаты различных тестовых файлов, в панели Results and Artifacts, выбирают результаты тестового файла, результаты покрытия которых вы хотите видеть в том же файле результатов. Из контекстного меню выберите Merge Coverage Results. Файл результатов, который содержит объединенные результаты покрытия, появляется в списке.

Факторы для сбора покрытия в тестовых обвязках

Загрузка результатов покрытия к модели или агрегация результатов покрытия через модели, требуют модели, сопоставимой с результатами покрытия. Поэтому, чтобы выполнить агрегированный набор покрытия, рекомендуется, чтобы вы использовали тестовые обвязки, сконфигурированные, чтобы автоматически синхронизировать компонент под тестом. Установите SynchronizationMode на Synchronize on harness open and close. Для получения дополнительной информации смотрите, Синхронизируют Изменения Между Тестовой обвязкой и Моделью.

Ассоциация результатов покрытия зависит от тестовой обвязки – основная образцовая синхронизация:

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

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

    • Когда вы закрываете тестовую обвязку, результаты покрытия удалены из памяти.

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

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

Смотрите также

Похожие темы