DO - 178C стандарт вызывает три типа тестирования, все из которых основаны на требованиях к программному обеспечению:
Тесты Оборудования/Интеграции программного обеспечения
Тесты интеграции программного обеспечения
Низкоуровневые тесты
Кроме того, для DO - 178C, тесты должны включать:
Нормальные тесты области значений
Тесты робастности
Для исполняемого объектного кода, разработанного из моделей, высокоуровневые тесты и ожидаемые результаты могут совпасть со случаями симуляции и ожидаемыми результатами (см. рисунок 3). Они разрабатываются из документа требований высокого уровня и абсолютно независимы от Simulink®, Embedded Coder® и компилятор используется для проекта. Тесты и ожидаемый результат должны также включать случаи робастности. Эти тесты могут быть выполнены с помощью возможности процессора в цикле (PIL) в сочетании с окружением Simulink, используемым в качестве тестовой обвязки, или на абсолютно отдельной тестовой обвязке программного обеспечения.
Низкоуровневые тесты и ожидаемые результаты основаны на моделях, которые представляют низкоуровневые требования. Simulink Design Verifier™ может использоваться, чтобы разработать эти тесты (см. рисунок 3). Simulink Design Verifier использует модель в качестве своего первичного входного параметра и также имеет возможность ввести данные о покрытии. DO - 178C вызывает это, если можно показать, что высокоуровневые тесты покрывают низкоуровневые требования, затем те низкоуровневые требования не должны быть покрыты определенными низкоуровневыми тестами. Покрытие модели может использоваться в качестве доказательства, что высокоуровневые тесты покрывают низкоуровневые требования, в частности для логических решений в моделях, но также и для данных об интерполяционной таблице и данных о диапазоне сигнала в моделях. Simulink Design Verifier может затем использоваться, чтобы сгенерировать тесты для остающихся низкоуровневых требований, которые не покрыты высокоуровневым тестированием, например, выведенные требования в модели. Пользователь может также вставить ограничения сигнала и определяемые пользователем цели тестирования в моделях или в тестовых обвязках модели, чтобы завершить тестирование. Использование целей тестирования на входных параметрах к модели, чтобы вставить тестовые данные вне нормальных областей значений является хорошим способом проверить робастность, например.
Случаи Оборудования/Интеграции программного обеспечения и случаи Интеграции программного обеспечения (см. рисунок 3) обычно разрабатываются вручную на основе высокоуровневых требований к программному обеспечению. Эти тесты выполняются на итоговой цели в среде, независимой от среды моделирования. Итоговая цель включала бы RTOS или планировщик и драйверы устройств, которые взаимодействуют через интерфейс к целевому компьютеру.
Рисунок 3: разработка теста