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

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

Настройка набора покрытия с помощью диспетчера тестов

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

Чтобы настроить диспетчер тестов для включения коллекции покрытия, выполните следующие действия.

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

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

    Coverage settings with record coverage for system under test selected

  3. Чтобы добавить или удалить существующие файлы фильтра покрытия, нажмите Add или Remove, соответственно, в разделе Фильтры покрытия и выберите файл фильтра. Одновременно может быть применено несколько файлов фильтра.

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

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

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

Просмотр и фильтрация результатов покрытия в Диспетчере тестов

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

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

  • Темно-синий - Удовлетворенный охват

  • Красный - неудовлетворенный охват

  • Светло-синий - Обоснованное покрытие

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

Чтобы агрегировать результаты из различных тестовых файлов в один Набор результатов, выберите отдельные результаты в списке 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% покрытие ваших требований, вам может потребоваться обновить тесты, добавить ссылки на требования или обосновать или исключить некоторые элементы из покрытия.

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

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

Откроется модель, а его отчет о покрытии откроется на панели Сведения о покрытии окна модели. В этой выборке элементы модели красны, потому что они имеют покрытие менее 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).

В Диспетчере тестов можно:

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

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

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

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

Для получения информации о соображениях при сборе покрытия в тестовом жгуте, смотрите Соображения о тестовом жгуте в Тестовом жгуте и Зависимости модели.

См. также

Похожие темы