В зависимости от настроек вы подаете заявку на запись покрытия 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 оптимизации Тестового набора.