Стандарт 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: Разработка теста