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

Покрытие относится к определению полноты тестирования моделей и сгенерированного кода путем анализа, сколько из модели было осуществлено. Собрать покрытие с помощью Simulink® Менеджер по тесту Test™ или sltest.testmanager.CoverageSettings, необходимо было установить Simulink Coverage™. Несмотря на то, что можно настроить и запустить тесты с помощью только Simulink Coverage, Simulink Test обеспечивает дополнительные тестовые функции создания и управления тестированием. Для тестов с включенным набором покрытия менеджер по Тесту включает покрытие каждой метрики, которую вы принимаете решение собрать в результатах. Если вам установили Simulink Requirements™, можно также использовать менеджера по Тесту, чтобы проверить, что результаты покрытия прослеживаются до конкретных требований.

Примечание

Покрытие не поддерживается для программного обеспечения в цикле (SIL) или Процессор в цикле (PIL) блоки.

Настройте набор покрытия Используя менеджера по тесту

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

Настраивать менеджера по Тесту, чтобы включать набор покрытия:

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

  2. Выберите тестовый файл и расширьте раздел Coverage Settings. Под Coverage to Collect выберите Record coverage for system under test, чтобы включить набор покрытия для модели, заданной как System Under Test в каждом тесте. Выберите Record coverage for referenced models, чтобы собрать покрытие для моделей, которые сослались из заданной системы под тестом. Выбранные настройки покрытия распространяют от тестового файла до тестовых наборов и тестов в тестовом файле.

    Coverage settings with record coverage for system under test selected

  3. Опционально, чтобы добавить или удалить существующие файлы фильтра покрытия, нажмите Add или Remove, соответственно, в разделе Coverage Filters и выберите файл фильтра. Больше чем один файл фильтра может быть применен одновременно.

  4. Выберите метрики покрытия, чтобы собраться. Для получения информации о метриках смотрите Типы Покрытия модели (Simulink Coverage) и Объекты модели, Которые Получают Покрытие (Simulink Coverage).

  5. Запустите тест. Покрытие собрано для тестовых наборов и тестов в тестовом файле.

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

Просмотрите и отфильтруйте результаты покрытия в менеджере по тесту

Просмотрите агрегированные результаты покрытия и метрики

После того, как вы соберете покрытие, используйте панель Results and Artifacts в менеджере по Тесту, чтобы просмотреть результаты. О результатах покрытия сообщают в наборах результатов. Выберите элемент Results в панели и расширьте раздел Aggregated Coverage Results. Процент покрытия показывают для каждой метрики, и цвета обобщают результаты покрытия.

  • Темно-синий — покрытие, которому Удовлетворяют,

  • Красный — Неудовлетворенное покрытие

  • Голубой — Выровненное по ширине покрытие

Summary and aggregated coverage results for a Result Set in the Test Manager.

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

Определение объема покрытия для основанных на требованиях тестов

Для основанного на требованиях проекта и тестирования, такой что касается податливости к DO - 178B, позволяют Scope coverage results to linked requirements проверять, что ваш проект модели выполняет требования и что тесты проверяют те требования. И Simulink Coverage и лицензии Simulink Requirements требуются. Эта опция доступна, только если набор результатов содержит больше чем одну симуляцию, такую как несколько тестов или итераций.

Когда флажок Scope coverage results to linked requirements устанавливается, результаты покрытия включают только тесты, которые непосредственно соединяются с требованиями и явным образом тестируются. Агрегированные результаты обновляются автоматически, не имея необходимость повторно симулировать модель. Если у вас есть тесты, которые касаются компонента модели, но непосредственно не соединяются с требованием, ваши агрегированные проценты результатов покрытия могут уменьшиться, когда вы позволяете определить объем. Чтобы получить 100%-е покрытие к вашим требованиям, вы можете должны быть обновить свои тесты, добавить ссылки требований, или выровнять по ширине или исключить некоторые элементы из покрытия.

Проследите результаты покрытия до модели

Чтобы перейти от результатов тестового покрытия в менеджере по Тесту к модели, кликните по имени модели в таблице Aggregated Coverage Results.

Модель открывается, и ее Отчет Покрытия открывается в Панели Покрытия окна модели. В этой демонстрационной модели элементы модели являются красными, потому что у них есть меньше чем 100%-е покрытие.

Coverage report with highlighted model elements.

Укажите на элемент модели, чтобы видеть сводные данные его метрик и выполнения блока.

Hover pop up showing decision at 50% and execution at 100% coverage

Кликните по элементу модели, чтобы прокрутить к его подробной информации о результатах покрытия в панели Coverage Details.

Coverage details with model element highlights

Создайте отчет покрытия

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

Фильтрация покрытия Используя менеджера по тесту

Правила фильтра покрытия задают один или несколько объектов модели или линий сгенерированного кода, чтобы исключить из набора покрытия или для которого вы хотите выровнять по ширине результаты покрытия. Набор правил фильтра покрытия содержится в файле фильтра, который может быть применен к модели или протестированному коду. Можно применить больше чем один файл фильтра к тесту и также, файлы фильтра повторного использования для различных моделей. Когда вы применяете новый или обновленный фильтр, агрегированные результаты покрытия, которые показывают для набора результатов, обновляются автоматически. Вы не должны повторно симулировать свою модель. Для получения дополнительной информации смотрите, что Покрытие Фильтрует (Simulink Coverage).

Чтобы просмотреть отфильтрованные результаты покрытия, выберите набор результатов (то есть, элемент Results) в панели Results and Artifacts.

От менеджера по Тесту вы можете:

  • Добавьте или удалите существующий файл фильтра покрытия — В панели Test Browser, выберите тестовый файл и расширьте раздел Coverage Settings. Нажмите Add или Remove в нижней части таблицы Coverage Filters или Applied Coverage Filters и выберите файл фильтра покрытия, чтобы добавить или удалить, соответственно. Больше чем один файл фильтра покрытия может быть применен к результатам покрытия.

  • Отредактируйте или создайте файл фильтра, задайте правило фильтра, и выровняйте по ширине или исключите покрытие — Из Coverage Report или панели Coverage Details модели, откройте Редактор Фильтра Simulink Coverage путем нажатия на выровнять по ширине значок или Justify or Exclude ссылка. Когда Редактор Фильтра открыт, менеджер по Тесту заблокирован. Когда вы закрываете Редактор Фильтра, менеджеру по Тесту включают и результаты и применялся, список фильтров обновляются с вашими изменениями. Для получения информации об использовании Редактора Фильтра смотрите Создание и Используя Фильтры Покрытия (Simulink Coverage) и Создайте, Редактирование и Правила Фильтра Покрытия Представления (Simulink Coverage).

  • Добавьте в настоящее время примененные фильтры покрытия к тестовому файлу — Нажимают Update Test File.

  • Просмотрите результаты покрытия — Выбирают элемент Results в Results and Artifacts, разделяют на области и расширяют раздел Aggregated Coverage Results.

Для получения дополнительной информации о фильтрах покрытия правила и файлы, видят, что Покрытие Фильтровать темы в Анализирует Результаты Покрытия и Представления (Simulink Coverage).

Для получения информации о факторах при сборе покрытия в тестовой обвязке смотрите Факторы Тестовой обвязки в Тестовой обвязке и Отношении Модели.

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

Похожие темы