Использование различных форматов для определения входов, выходов и параметров тестовых векторов
Использование различных форматов для определения входов, выходов и параметров тестовых векторов

Simulink Test включает шаблоны для тестирования с помощью симуляций, регрессионного тестирования и тестирования на эквивалентность, которые позволяют выполнять функциональное, модульное, регрессионное и последовательное тестирование в режимах ПО-в-контуре (SIL), процессор-в-контуре (PIL), и режима железо-в-контуре в режиме реального времени (HIL).

С помощью Simulink Test создаются неразрушающие тестовые обвязки для изоляции тестируемого компонента. Оценки, основанные на требованиях определяются с использованием текстового языка. Входные данные для тестов, ожидаемые результаты и допуски задаются в различных форматах, включая Microsoft  Excel . Simulink Test включает блок «Test Sequence», который позволяет создавать сложные последовательности тестов и оценок, а также менеджер тестов для управления и выполнения тестов. Блоки Observer позволяют получить доступ к любому сигналу в проекте без изменения модели или интерфейса модели. Большие наборы тестов могут быть организованы и выполнены параллельно или в системах непрерывной интеграции.  

Тесты связываются с требованиями с помощью Simulink Requirements. Покрытие тестами собирается с помощью Simulink Coverage.

Поддержка отраслевых стандартов осуществляется с помощью IEC Certification Kit (для IEC 61508 и ISO 26262) и DO Qualification Kit (для DO-178).

Использование различных форматов для определения входов, выходов и параметров тестовых векторов Использование различных форматов для определения входов, выходов и параметров тестовых векторов

Создание тестов

Готовые шаблоны тестовых векторов: Симуляция (Simulation Test), Регрессия (Baseline Test), Эквивалентность (Equivalence Test)    Определение тестовых данных с использованием нескольких источников  Входные данные, ожидаемые результаты и допуски для тестов
Готовые шаблоны тестовых векторов: Симуляция (Simulation Test), Регрессия (Baseline Test), Эквивалентность (Equivalence Test) Определение тестовых данных с использованием нескольких источников Входные данные, ожидаемые результаты и допуски для тестов

Создание тестов для функционального, модульного, основанного на требованиях и регрессионного тестирования.

Шаблоны тестов на основе регрессии, взаимного соответствия и требований

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

Определение тестовых данных с использованием нескольких источников

Входные данные, ожидаемые результаты и допуски для тестов могут быть указаны с использованием MAT-файлов или таблиц Excel. Также возможно:

  • Создание входных данных в графическом виде с помощью блока редактора сигналов Signal Editor
  • Программное определение тестовых векторов с помощью блока Test Sequence
  • Автоматическая генерация тестовых векторов с помощью Simulink Design Verifier 

Изоляция компонентов для тестирования с помощью обвязок

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

Готовые шаблоны тестовых векторов: Симуляция (Simulation Test), Регрессия (Baseline Test), Эквивалентность (Equivalence Test)    Определение тестовых данных с использованием нескольких источников  Входные данные, ожидаемые результаты и допуски для тестов Готовые шаблоны тестовых векторов: Симуляция (Simulation Test), Регрессия (Baseline Test), Эквивалентность (Equivalence Test) Определение тестовых данных с использованием нескольких источников Входные данные, ожидаемые результаты и допуски для тестов

Создание логических тестов с оценками и наблюдателями

Создание пошаговых и временных тестовых последовательностей
Создание пошаговых и временных тестовых последовательностей
Создание пошаговых и временных тестовых последовательностей Создание пошаговых и временных тестовых последовательностей

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

Временные оценки для проверки требований

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

Создание тестовых векторов и оценок

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

Наблюдение за сигналами без изменений в модели

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

Управление планами тестирования и выполнением тестов

Инструмент управления тестами Test Manager
Инструмент управления тестами Test Manager

Менеджер тестов Test Manager помогает вам создавать, выполнять, просматривать и организовывать тестовые векторы и наборы тестов. Так же тесты могут быть запущены и в предыдущих версиях MATLAB. Для оценки полноты тестирования, собирается покрытие. 

Поддержка всех режимов симуляции

Тесты выполняются в обычном режиме симуляции, режимах акселератора, быстрого акселератора, а также режимах ПО-в-контуре (SIL), процессор-в-контуре (PIL), и железо-в-контуре в режиме реального времени (HIL, требуется Simulink Real-Time).

Поддержка нескольких версий

Тестовые векторы могут быть запущены, используя несколько релизов MATLAB, (начиная с R2011b), для тестирования модели в рабочем релизе, но с использованием новейших функций верификации Simulink Test.

Измерение покрытия модели и кода

Метрики покрытия, такие как покрытие решений, условий, модифицированное покрытие условий/решений (MC/DC) и покрытие относительных границ, собираются с помощью Simulink Coverage. Собранное покрытие можно использовать для создания дополнительных тестовых векторов для отсутствующего покрытия с помощью Simulink Design Verifier  из менеджера тестов.

Инструмент управления тестами Test Manager Инструмент управления тестами Test Manager

Управление результатами и тестами

Визуализация и отладка результатов тестирования в Test Manager
Визуализация и отладка результатов тестирования в Test Manager
Визуализация и отладка результатов тестирования в Test Manager Визуализация и отладка результатов тестирования в Test Manager

Simulink Test предоставляет инструменты для упрощения отладки, анализа и составления отчетов о результатах испытаний.

Визуализация результатов испытаний, ошибок отладки и обновлений тестов

Simulink Test графически идентифицирует сигналы, которые не соответствуют заданным допускам, и определяет результат прохождения/отказа. Результаты моделирования и записанные сигналы вместе с ожидаемыми результатами могут быть проанализированы для обновления эталонных данных, если отклонения приемлемы.

Управление и архивирование результатов испытаний

Simulink Test отображает сводные данные и подробные сведения о выполненных тестах. Сводная страница результатов для каждого теста показывает результаты моделирования, регрессии или эквивалентности, а также результаты теста: пройденный, неудачный или непроверенный. Результаты тестов могут быть экспортированы в файл, который можно просмотреть позже в Test Manager.

Создание отчетов

Для архивирования и документирования результатов тестирования создаются отчеты, включающие результаты тестов, сводные данные теста и любые критерии, используемые для сравнения тестов. Стандартные отчеты можно создавать в форматах HTML, PDF и DOCX или настраивать с помощью Simulink Report Generator.

Автоматизация тестирования

Настройка и автоматизация тестирования с помощью скриптов MATLAB
Настройка и автоматизация тестирования с помощью скриптов MATLAB

Ускорение тестирования для большого количества тестов, итераций и больших моделей Simulink, с использованием параллельного запуска тестов.

Сценарии и пакетная обработка

Тесты могут выполняться индивидуально или в пакетном режиме для автоматизации тестирования и настройки стандартизированной среды тестирования. Интерфейс программирования (API) Simulink Test позволяет создать тестовый вектор, указать критерии теста, запустить тест и сгенерировать результаты.

Непрерывная интеграция

Тесты могут быть запущены с использованием MATLAB Unit Test, что позволяет интегрироваться в системы непрерывной интеграции (CI), такие как Jenkins.

Масштабирование при помощи параллельного запуска тестов

Для ускорения тестирования больших или сложных моделей Simulink тесты могут быть запущены параллельно (требуется Parallel Computing Toolbox).

Настройка и автоматизация тестирования с помощью скриптов MATLAB Настройка и автоматизация тестирования с помощью скриптов MATLAB