exponenta event banner

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

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

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

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

  1. Входные данные модели секционирования так, что некоторые из них поддерживаются постоянными, некоторые ограничены наборами констант с помощью блока «Тестовое условие», а некоторые могут иметь любое значение.

  2. Создание тестовых примеров и выполнение этих тестовых примеров для получения охвата модели.

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

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

    Примечание

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

    showdemo('sldvdemo_incremental_test_generation')

  5. Повторяйте шаги 3 и 4 до тех пор, пока не будет достигнуто требуемое покрытие.

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

  • Обычный режим

  • Режим отключения

  • Режим отказа

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