Увеличьте охват теста путем генерации тестовых воздействий.
Если ваши тесты достигают неполного покрытия модели, можно увеличить охват путем генерации тестовых воздействий с помощью Verifier™ Simulink ® Design. Этот пример показывает, как увеличить охват теста после начального теста. Вы измеряете начальное покрытие теста. Затем вы генерируете новые тестовые примеры, добавляете их в тестовый набор, запускаете тесты и просматриваете совокупное покрытие.
Этот пример использует Simulink Design Verifier и Simulink ® Coverage™.
Этот пример проверяет компонент системы автопилота с помощью тестовой обвязки. Данные временных рядов из базового рабочего пространства сопоставлены с корневыми входными портами в тестовой обвязке. Тестовый файл сконфигурирован для сбора покрытия.
Пример рабочего процесса:
Измерьте покрытие модели начального теста.
Сгенерируйте дополнительные тесты, чтобы достичь большего охвата.
Добавьте новые тесты в тестовый файл.
Запустите все тесты и проверьте совокупное покрытие.
Задайте пути и имена файлов для примера.
rollModel = 'RollAutopilotRevised'; testHarness = 'RollReference_LoggedDataTest'; testFile = 'RollRefTest.mldatx';
1. Убедитесь, что рабочая папка доступна для записи.
2. Откройте тестовый файл.
sltest.testmanager.view; sltest.testmanager.load(testFile);
3. Запустите тест. В Test Browser выделите Записанные данные тестового набора и покрытия. Нажмите Запуск.
4. После завершения теста в результатах теста разверните раздел «Результаты покрытия». Тест достигает частичного покрытия для Roll Reference
подсистема.
Decision Coverage: 80%
Покрытие условия: 70%
MCDC 25%
Сгенерируйте дополнительные тесты для недостающего покрытия.
1. Под результатом покрытия нажмите Добавить тесты для недостающего покрытия.
2. В диалоговом окне «Добавление тестов для недостающего покрытия» установите следующие опции:
Обвязка: RollReference_LoggedDataTest
. Это сопоставляет новые тестовые воздействия с существующей тестовой обвязкой.
Тест: Create a new test case
. Это создает новый тест с сгенерированными тестовыми воздействиями.
Тип теста:: Baseline Test
. Это дает опцию получить базовые данные, выведенные из модели для сгенерированных тестов.
Тестовый файл:: RollRefTest
. При этом повторно используется существующий тестовый файл.
3. Нажмите OK. Диалоговое окно показывает прогресс генерации теста. Когда генерация тестового примера завершена, в Диспетчере тестов появляется новый контрольный пример.
1. Вырежьте и вставьте новый тест в тестовый набор Записанные данные and Coverage.
2. Еще раз запустите тестовый набор Записанные данные and Coverage.
3. Когда симуляция завершится, в разделе Результаты и программные продукты выберите набор результатов и разверните Агрегированные результаты покрытия. Тестовый набор достигает полного покрытия:
Решение: 100%
Условие: 100%
MCDC: 100%
Очистите переменные и результаты тестирования и закройте модель.
clear reqDoc rollModel testFile testHarness topModel; sltest.testmanager.clearResults; sltest.testmanager.close; close_system('RollAutopilotRevised',0);