Увеличить охват теста путем формирования входных данных теста.
Если в тестах достигается неполный охват модели, можно увеличить охват, генерируя входные данные тестирования с помощью Simulink ® Design Verifier™. В этом примере показано, как увеличить охват теста после начального тестового случая. Измеряется начальное покрытие тестового случая. Затем создаются новые тестовые примеры, добавляются в набор тестов, выполняются тесты и выполняется обзор совокупного покрытия.
В этом примере используются программы Simulink Design Verifier и Simulink ® Coverage™.
В этом примере проверяется компонент системы автопилота с помощью тестового электрического жгута. Данные временных рядов из базового рабочего пространства сопоставляются с корневыми входами в тестовом жгуте. Тестовый файл настроен для сбора данных о покрытии.
Пример рабочего процесса:
Измерение охвата модели начального тестового случая.
Создание дополнительных тестов для обеспечения более широкого охвата.
Добавьте новые тестовые примеры в тестовый файл.
Запустите все тестовые примеры и просмотрите совокупное покрытие.
Задайте пути и имена файлов для примера.
rollModel = 'RollAutopilotRevised'; testHarness = 'RollReference_LoggedDataTest'; testFile = 'RollRefTest.mldatx';
1. Убедитесь, что рабочая папка доступна для записи.
2. Откройте тестовый файл.
sltest.testmanager.view; sltest.testmanager.load(testFile);

3. Запустите тест. В обозревателе тестов выделите набор тестов протоколированных данных и покрытия. Щелкните Выполнить (Run).
4. После завершения теста в результатах теста разверните раздел Coverage Results. Тест достигает частичного покрытия для Roll Reference подсистема.
Охват принятием решений: 80%
Охват условиями: 70%
MCDC 25%

Создание дополнительных тестов для отсутствующего покрытия.
1. Под результатом покрытия щелкните Добавить тесты для отсутствующего покрытия.
2. В диалоговом окне Add Tests for Missing Coverage установите следующие параметры:
Электрический жгут: RollReference_LoggedDataTest. При этом новые входные данные теста сопоставляются с существующим тестовым жгутом.
Тестовый случай: Create a new test case. При этом создается новый тестовый пример с сгенерированными тестовыми входами.
Тип теста:: Baseline Test. Это дает возможность сбора базовых данных, выводимых из модели для созданных тестов.
Тестовый файл:: RollRefTest. При этом повторно используется существующий тестовый файл.
3. Нажмите кнопку OK. В диалоговом окне отображается ход создания тестового примера. По завершении создания тестового случая в диспетчере тестов появляется новый тестовый случай.

1. Вырезать и вставить новый тестовый случай в набор тестов «Зарегистрированные данные и покрытие».
2. Снова запустите набор тестов протоколированных данных и покрытия.
3. По завершении моделирования в разделе Результаты и артефакты выберите набор результатов и разверните окно Агрегированные результаты покрытия. Набор тестов обеспечивает полный охват:
Решение: 100%
Условие: 100%
MCDC: 100%

Очистите переменные и результаты тестирования и закройте модель.
clear reqDoc rollModel testFile testHarness topModel; sltest.testmanager.clearResults; sltest.testmanager.close; close_system('RollAutopilotRevised',0);