В зависимости от настроек вы подаете заявку на запись покрытия Simulink® Coverage™, может быть различие между определением измененного условия и решением (MCDC) покрытие, используемое для анализа покрытия модели в Simulink Coverage и используемом для анализа генерации теста в Simulink Design Verifier™.
Simulink Design Verifier всегда использует маскирование определение MCDC для генерации теста. По умолчанию Simulink Coverage также использует маскирование определение MCDC при записи покрытия. Однако, если вы устанавливаете параметр конфигурации модели CovMcdcMode
на 'UniqueCause'
, Simulink Coverage вместо этого использует уникальную причину определение MCDC при записи покрытия. Для получения информации о различиях между маскированием определение MCDC и уникальной причиной определение MCDC, смотрите Измененное Условие и Decision Coverage (MCDC) Определения в Simulink Coverage (Simulink Coverage).
Установка параметра конфигурации модели CovMcdcMode
к 'UniqueCause'
может привести к различиям между MCDC, сообщающим в Simulink Coverage и генерацией тестов в Simulink Design Verifier. Пример этого различия виден в результатах анализа для логических выражений, содержащих смесь AND
и операторов OR
, как в этом переходе Stateflow®.
Учитывая, что A
, B
и C
, каждый разделяет входные параметры, существует пять возможных способов оценить условие на переходе Stateflow, показанном в следующей таблице.
A | B | C | (A && B) || C | |
---|---|---|---|---|
1 | F | x | F | F |
2 | F | x | T | T |
3 | T | F | F | F |
4 | T | F | T | T |
5 | T | T | x | T |
Удовлетворение MCDC для Логической переменной требует пары оценок условия, показывая, что изменение в одной только той переменной изменяет оценку целого выражения. В этом примере MCDC может быть удовлетворен для C
или с парой 1, 2 или с парой 3, 4. В обоих из тех случаев изменилось значение выражения, потому что значение C
изменилось, в то время как все другие значения переменных остались такими же.
Каждая пара имеет различное множество значений для A
и B
, которые считаются постоянные, но каждая пара содержит одну оценку, где C
и out
верны и одна оценка, где C
и out
являются ложными. Чтобы удовлетворить MCDC для C
, анализ генерации тестов Simulink Design Verifier принимает любую пару, содержащую одну оценку истинных значений и одну оценку ложных значений для C
и out
. В этом примере анализ генерации тестов Simulink Design Verifier принимает не только пару 1, 2 и пару 3, 4, но также и пару 1, 4 и пару 2, 3. Анализ покрытия модели Simulink Coverage с помощью уникальной причины определение MCDC удовлетворен только парой 1, 2 или парой 3, 4.
Предыдущий пример принимает, что A
, B
и C
являются всеми отдельными входными параметрами. Когда вход A
ограничивается быть тем же значением как C
, как в этой модели, только подмножество оценок условия возможно.
Это подмножество оценок условия для перехода Stateflow показывают в следующей таблице.
A | B | C | (A && B) || C | |
---|---|---|---|---|
1 | F | x | F | F |
4 | T | F | T | T |
5 | T | T | x | T |
Оценки 2 и 3 более не возможны, таким образом, ни пара 1, 2, ни пара 3, 4 не возможны. В результате уникальная причина MCDC для C
больше не может удовлетворяться в анализе покрытия модели Simulink Coverage. Поскольку пара 1, 4 все еще возможна, однако, анализ генерации тестов Simulink Design Verifier сообщает, что MCDC для C
выполним.
Сложность анализа MCDC для логических выражений со смесью AND
и операторов OR
вызывает это различие между результатами набора Simulink Coverage к уникальной причине анализ MCDC и Simulink Design Verifier. defaultCovMcdcMode
значение параметра конфигурации модели 'Masking'
не вызывает это несоответствие. Однако, если вы требуете использования уникальной причины анализ MCDC в Simulink Coverage, можно минимизировать этот эффект при помощи оптимизации тестового набора IndividualObjectives
для анализа генерации тестов в Simulink Design Verifier Для получения дополнительной информации, видеть раздел Tip оптимизации Тестового набора.