Автоматизируйте тестирование на пример доставки пакета UAV

В этом примере показано, как отредактировать требования, соединяют требования с их реализацией в модели, и проверять их функциональность в контексте приложения UAV. Компоненты модели и требований включают руководство и управление UAV, реализованного примером Доставки Пакета UAV.

Введение

Пример Доставки Пакета UAV показывает, как симулировать маленький сценарий мультивертолета, который взлетает, летит и приземляется в другом месте в городской среде. Пример использует инкрементные итерации проектирования, чтобы создать сложность симуляции. В этом примере представительные тестовые требования соединены с разделами Модели поставки Пакета UAV и подтверждены через тестовый набор.

Чтобы начать, откройте live скрипт в качестве примера и получите доступ к вспомогательным файлам или нажатием Open Live Script в документации или использованием openExample функция.

openExample('uav/AutomateTestingForUAVPackageDeliveryExample');

Анализ требований

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

prj = openProject("verifications/AutomatedTestsPackageDelivery.prj");
open('uavPackageDeliveryReqs.slreqx');

Требования разделены на разделы Руководства и Управления. Эти требования сопоставляют непосредственно с разделами в модели мультиротора примера Доставки Пакета UAV. Просмотрите список требований и элементы нажатия кнопки, чтобы видеть и отредактировать детали справа.

Соединение требований к реализации

Simulink Requirements позволяет вам соединить каждое отдельное требование с компонентом модели Simulink, который реализует такое требование. Чтобы соединить требования, откройте сначала модель мультиротора.

open_system('MultirotorModel');

Введите перспективу требований путем нажатия в Перспективном управлении в нижнем правом углу холста модели.

Выберите перспективу Требований.

В перспективе требований перейдите к Логике Руководства и смотрите некоторые реализованные требования руководства. Требования № 5 и № 6 помечены в сером. Заголовок и пределы команды рыскания реализованы блоком Waypoint Follower.

open_system('MultirotorModel/Guidance Logic/Full Guidance Logic/Guidance Stateflow/Guidance Mode Selector/GuidanceLogic.WP');

В качестве альтернативы можно перейти к реализации каждого требования от раздела Links каждого требования в Редакторе Требований. Откройте Редактор Требований. Выберите функциональное требование и перейдите к Ссылкам>> Реализованный разделом во вкладке Details справа.

open('uavPackageDeliveryReqs.slreqx');

Нажмите на Requirement № 19 (индекс 1.2.1.4). Во вкладке Details под Ссылками щелкните по theta_limit ссылке, чтобы пойти туда, где требование реализовано в модели мультиротора. Предел theta блок реализует это требование.

Автоматизируйте тестирование

Гарантировать каждое из требований соответствуют, этот пример включает три автоматических теста, чтобы работать на модели. Чтобы видеть, как эти тесты реализованы, открывают тестовый файл в менеджере по Тесту. Необходимо видеть два тестовых набора, GuidanceLogicSuite и ControlSystemSuite.

uiopen('MultirotorModelTest.mldatx',1);

Тестирование логики руководства

Тестовый тест Изменений состояния Руководства использует тестовую обвязку для модели. Для получения дополнительной информации смотрите, Управляют Тестовыми обвязками (Simulink Test).

Чтобы видеть тестовую обвязку, кликните по Тестовому тесту Изменений состояния Руководства и расширьте Систему Под Экспериментальным участком теста. Нажмите на кнопку стрелки, чтобы открыть модель:

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

Чтобы подтвердить требования соответствуются в процессе моделирования, тест реализует шесть временных оценок и соединяет каждый из них с требованием. Для получения дополнительной информации смотрите, Оценивают Временную Логику при помощи Временных Оценок (Simulink Test).

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

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

Тестовая Система управления Предельный тест Cmd реализует десять оценок граничной проверки, чтобы убедиться все команды в системе управления, правильно насыщается к значениям, установленным требованиями. Эти оценки соединяются с соответствующими требованиями. Для получения дополнительной информации об оценках граничной проверки, смотрите, Оценивают Временную Логику при помощи Временных Оценок (Simulink Test).

Тестовый Тест производительности Системы управления использует базовый тест критериев, чтобы оценить, является ли система управления в границах или отличается от записанной заранее базовой линии. Для получения дополнительной информации смотрите, Сравнивают Выход Модели с Базовыми Данными (Simulink Test).

Запущение всех тестов

Чтобы запустить оба тестовых набора, нажмите, работает на менеджере по Тесту панель инструментов. Однажды тестовый прогон, вы будете видеть состояние результатов в дереве Результатов и Артефактов.

Проверка требований

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

Для просмотра документации необходимо авторизоваться на сайте