Входные параметры модели раздела для инкрементной генерации тестов

Как описано в Ограничивают Данные, можно ограничить значения входных параметров модели с помощью Simulink® Блок Design Verifier™ Test Condition.

Как другие параметры Simulink, ограничительные значения могут быть совместно использованы через несколько блоков путем ссылки на общую переменную рабочей области; можно инициализировать ограничительные значения с помощью MATLAB® команды. Если у вас есть несколько входных параметров, связанных со скоростью, таких как желаемая скорость, измеренная скорость и средняя скорость, вы можете принять решение ограничить всех их к тому же множеству значений.

Как усовершенствованный метод для опытных программистов MATLAB, можно использовать параметрированные ограничения и последовательные запуски Simulink Design Verifier, чтобы реализовать инкрементный метод генерации тестов:

  1. Модель раздела вводит так, чтобы некоторые считались постоянные, некоторые ограничиваются к наборам констант с помощью блока Test Condition, и у некоторых может быть любое значение.

  2. Сгенерируйте тесты и запустите те тесты, чтобы собрать покрытие модели.

  3. Выберите новые значения и разделите входные параметры с этими новыми значениями.

  4. Сгенерируйте тесты для недостающего покрытия с помощью sldvgencov функционируйте и текущее тестовое покрытие.

    Примечание

    Чтобы просмотреть пример расширения существующего тестового набора, чтобы достигнуть недостающего покрытия модели, введите следующее в командной строке в командном окне MATLAB:

    showdemo('sldvdemo_incremental_test_generation')

  5. Повторите шаги 3 и 4, пока вы не достигли желаемого покрытия.

Разделите входные параметры модели, которые включают дальнейшее упрощение, когда анализ запускается. Рассмотрите следующую модель, которая имеет три взаимно независимых активированных подсистемы:

  • NormalMode

  • Завершите работу режима

  • Тип отказа

Можно инкрементно сгенерировать тесты для каждой подсистемы путем ограничения первого входа к постоянному значению прежде, чем запустить анализ. Таким образом, когда вы создаете тесты для каждой подсистемы, программное обеспечение игнорирует сложность других двух подсистем.