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