Измененное условие и Decision Coverage в Simulink Design Verifier

В зависимости от настроек, которые вы применяете для Simulink® Coverage™ записи покрытия может быть различие между определением измененного условия и покрытием для принятия решения (MCDC), используемым для анализа покрытия модели в Simulink Coverage, и определением, используемым для анализа генерации теста в Simulink Design Verifier™.

Определения MCDC для Simulink Coverage и Simulink Design Verifier

Simulink Design Verifier и Simulink Coverage представляют цели MCDC двумя различными способами:

  • Simulink Coverage рассматривает каждое условие логического выражения как цель MCDC.

  • Simulink Design Verifier рассматривает истинную и ложную половины каждой пары независимости как отдельные цели MCDC.

Окно Simulink Design Verifier Результатов показов Justified для любых обоснованных целей MCDC. Щелкните соответствующую ссылку View, чтобы увидеть правило фильтра в окне Simulink Design Verifier Analysis Filter.

Неудовлетворительные или неопределенные цели MCDC включают Justify ссылка. Щелкните эту ссылку, чтобы создать соответствующее правило фильтрации. Поскольку каждая цель MCDC в Simulink Coverage соответствует двум целям MCDC в Simulink Design Verifier, цели Simulink Design Verifier MCDC обоснованы парами.

Для примера, на изображении ниже, когда вы нажимаете на ссылку Justify для выражения MCDC expression for output with input port 4 false, создает правило фильтра, которое обосновывает эту цель MCDC, а также цель MCDC, когда это выражение true.

Simulink Design Verifier всегда использует определение MCDC маскировки для генерации теста. По умолчанию Simulink Coverage также использует определение MCDC маскировки при записи покрытия. Однако, если вы задаете CovMcdcMode параметр конфигурации модели в 'UniqueCause'Simulink Coverage вместо этого использует уникальное определение MCDC при записи покрытия. Для получения информации о различиях между определением MCDC маскировки и определением MCDC уникальной причины, смотрите Определения измененного условия и Decision Coverage (MCDC) в Simulink Coverage.

Установка CovMcdcMode параметр конфигурации модели в 'UniqueCause' может привести к различиям между отчетами MCDC в Simulink Coverage и генерацией тестов в Simulink Design Verifier. Пример этого различия можно увидеть в результатах анализа для логических выражений, содержащих смесь AND и OR операторы, как в этом Stateflow® переход.

Учитывая, что A, B, и C являются каждыми отдельными входами, существует пять возможных способов оценить условие на переходе Stateflow, показанное в следующей таблице.

 ABC(A && B) || C
1FxFF
2FxTT
3TFFF
4TFTT
5TTxT

Для удовлетворения MCDC для логической переменной требуется пара вычислений условия, показывающих, что изменение одной только этой переменной изменяет оценку всего выражения. В этом примере MCDC может быть удовлетворен для C с парой 1, 2 или с парой 3, 4. В обоих случаях значение выражения изменилось, потому что значение C изменено, в то время как все другие значения переменных остались неизменными.

Каждая пара имеет разное множество значений для A и B которые остаются постоянными, но каждая пара содержит одну оценку, где C и out являются true и одной оценкой, где 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 показано в следующей таблице.

 ABC(A && B) || C
1FxFF
4TFTT
5TTxT

Оценки 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. Значение по умолчанию CovMcdcMode значение параметра конфигурации модели 'Masking' не вызывает этого расхождения. Однако, если вам требуется использование уникального анализа MCDC в Simulink Coverage, можно минимизировать этот эффект с помощью IndividualObjectives оптимизация тестового набора для анализа генерации тестов в Simulink Design Verifier Для получения дополнительной информации смотрите раздел «Советы» в разделе «Оптимизация тестового набора» (Simulink Design Verifier).

Похожие темы

  • MCDC (Simulink Design Verifier)