Поэтому сертификация программного обеспечения отдельно от системы, в состав которой она входит, не имеет смысла.
Исходя из возможных последствий сбоя, DO-178B определяет уровни опасности и соответствующие им уровни сертификации программного обеспечения (см. таблицу 4.3.1).
Таблица 4.3.1 Уровни сертификации программного обеспечения
Уровень |
Влияние на безопасность |
A |
Программное обеспечение, сбой которого может привести к возникновению или способствовать возникновению катастрофического сбоя самолета. |
B |
Программное обеспечение, сбой которого может создать условия или способствовать созданию условий для опасного сбоя |
C |
Программное обеспечение, сбой которого может создать условия или способствовать созданию условий для крупного сбоя |
D |
Программное обеспечение, сбой которого может создать условия или способствовать созданию условий для малозначительного сбоя |
E |
Программное обеспечение, сбой которого не может влиять на самолет или на нагрузку пилота |
DO-178B требует, чтобы каждая строка кода была выполнена в ходе тестирования.
Запрещается включение в состав приложения какого-либо дополнительного кода, не прошедшего тестирование. Для каждого уровня сертификации заданы свои требования к покрытию тестами проверяемого кода:
Покрытие операторов (Statement Coverage – SC) означает, что в ходе тестирования каждый оператор программы был вызван или использован не менее одного раза. Когда говорят о покрытии кода – «Code coverage» – обычно имеют ввиду именно SC.
Покрытие ветвей (Decision Coverage – DC) означает, что в ходе тестирования каждая точка входа в программу и выхода из нее была использована не менее одного раза так, что каждое возможное значение логических условий принималось не менее одного раза. По сути дела, это означает, что в ходе тестирования каждое логическое условие имело и значение «истина», и значение «ложь».
Покрытие условий и ветвей (Modified Condition/Decision Coverage – MC/DC) означает, что в ходе тестирования каждая точка входа в программу и выхода из нее была использована не менее одного раза так, что каждое решение в программе принимало все возможные значения, и при этом было показано, какое влияние оказывает на решение каждое условие независимо от остальных условий. Для сложных логических операций необходимо разрабатывать таблицы истинности, что бы определить все возможные комбинации значений «истина» и «ложь».
В таблице 3.4.2 показано, какие из требований к покрытию кода тестами предъявляются на разных уровнях сертификации:
Таблица 4.3.2 Требования к покрытию кода
Уровень |
Покрытие |
Требования к покрытию |
A |
MC/DC |
Уровень B + 100% MC/DC |
B |
DC |
Уровень C + 100% DC |
C |
SC |
Уровень D + 100% SC |
D |
100% покрытие требований | |
E |
Нет требований |
Похожие статьи:
Устройство карбюраторов
Устройство карбюраторов отличается довольно большой сложностью и разнообразием конструктивных схем. Рассмотрим в качестве примера наиболее простую схему карбюратора пускового двигателя. Рисунок 2. Карбюратор К16-А Карбюратор К16-А
. Такой карбюратор устанавливают на пусковые двигатели ПД-10У для ди ...
Подбор погрузчика по грузоподъёмности
По окончательному выбору схемы производится предварительный подбор погрузчика по величине его паспортной грузоподъёмности Qп.п, причем Qп.п≤gп Рис. 1 Колесный фронтальный погрузчик с консольным грузоподъёмником общего назначения 1-ведущий мост; 2-внутренняя (выдвижная) рама грузоподъёмника; 3 ...
Расчет длины рамного рельса
Полная длина рамного рельса (рисунок 3.2) зависит от длины остряка, принятой: типа корневого крепления, а также от принятой длины переднего вылета рамного рельса. Длина рамного рельса в стрелочных переводах с двойной кривизной определяется по формуле, мм (4.6) где т1 - длина переднего вылета рамног ...