Расширенный Измененный Decision Coverage условия (MCDC) рассматривает цели покрытия по умолчанию тестового блока, которые обнаруживаемы на сайте обнаружения. Чтобы проверять состояние обнаружительной способности пользовательской цели тестирования, можно создать цель тестирования объекта модели, и затем выполнить Расширенный анализ MCDC.
Рассмотрите эту модель, которая состоит из блока продукта и блока Min. Можно создать пользовательскую цель тестирования для блока продукта, чтобы представить выходное значение меньше, чем 0
и обнаружить эффект пользовательской цели тестирования на сайте обнаружения.
Этот рабочий процесс описывает шаги для авторской разработки пользовательских целей тестирования для блока.
Шаг 1: Создайте библиотеку атомарной подсистемы маскированной, чтобы создать пользовательские цели тестирования. Подсистема маскированная состоит из этих блоков:
Блокируйте на рассмотрении, например, блок продукта.
Логика, чтобы закодировать пользовательскую цель тестирования, например, блок MATLAB function.
Блоки Simulink® Design Verifier™ Test Objective.
Шаг 2: В подсистеме маскированной:
Добавьте параметр isEnabledForDetectability
и установите параметр на On
.
Добавьте параметр detectBlock
с именем блока на рассмотрении.
Установите атрибут Evaluate
параметра detectBlock
к Off
.
Шаг 3: Задайте заменяющее правило блока заменить блок на рассмотрении на подсистему маскированную.
Чтобы создать пользовательские цели тестирования, используйте заменяющий файл правила блока blkrep_rule_product_customTestObjective в качестве примера. В заменяющем файле блока вы обновляете rule.BlockType
и rule.ReplacementPath
на основе ваших блоков модели. Для получения дополнительной информации смотрите Замены Блока для Неподдерживаемых Блоков.
Шаг 4: Сконфигурируйте свою модель с заменяющим правилом блока. В диалоговом окне Configuration Parameters, в Design Verifier> панель Block Replacements, вводят List of block replacement rules.
Шаг 5: Выберите Enhanced MCDC
for Model coverage objectives и выполните анализ генерации тестов.
Этот пример показывает, как создать пользовательские цели тестирования для блока продукта в модели sldvCustomTestObjectiveExample
. Затем это показывает, как можно обнаружить эффект цели тестирования на сайте обнаружения.
Откройте sldvCustomTestObjectiveExample модель.
addpath(fullfile(docroot,'toolbox','sldv','examples')); open_system('sldvCustomTestObjectiveExample');
Библиотека атомарной подсистемы маскированной: blkReplacementlib_customTestObjective библиотека состоит из замаскированной подсистемы custProduct
. Логика, чтобы закодировать пользовательскую цель тестирования задана в блоке MATLAB function.
Блок MATLAB function getCustomTestObjectives
состоит из двух пользовательских условий для блоков Цели тестирования.
Замаскированная подсистема custProduct
предварительно сконфигурирована с этими параметрами. Для получения дополнительной информации см. Редактор Маски Обзор (Simulink).
Блокируйте заменяющее правило заменить блок на рассмотрении на подсистему маскированную: модель sldvCustomTestObjectiveExample
предварительно сконфигурирована с заменяющими опциями блока. Заменяющее правило блока задано в blkrep_rule_product_customTestObjective файле, который заменяет блок продукта на замаскированную подсистему custProduct.
Чтобы сконфигурировать модель для Расширенных целей MCDC, в Редакторе Simulink, выбирают Analysis> Design Verifier> Options. В панели Test generation, для Model coverage objectives, выбирают Enhanced MCDC
. Нажмите OK.
Чтобы сгенерировать тесты, выберите Analysis> Design Verifier> Generate Tests> Model.
Программное обеспечение анализирует заменяющую модель для генерации тестов.
Нажмите Highlight analysis results on model.
Чтобы анализировать обнаружительную способность блока продукта, кликните по блоку продукта.
Результаты показывают, что цели тестирования блока продукта обнаруживаемы. Тест сгенерирован.
Программное обеспечение не может подтвердить состояние целей через результаты валидации для целей, введенных заменой блока. Поэтому о состоянии цели тестирования сообщают как Satisfied - needs simulation
. Для получения дополнительной информации о валидации смотрите Приближения Создания отчетов Через Результаты Валидации.
Нажмите View test case. Модель тестовой обвязки открывается, и блок Signal Builder отображает тест.
Чтобы просмотреть отчет детального анализа, нажмите HTML в Сводных данных Результатов. Заменяющие Сводные данные Блока предоставляют подробную информацию о замененных блоках.
Раздел Test Objectives Status перечисляет цели. Цель тестирования, которая обнаруживаема на сайте обнаружения, получена в итоге в таблице.