Понятие технологии программирования

Страница 9

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

Исходя из возможных последствий сбоя, 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

Нет требований

Страницы: 4 5 6 7 8 9 10 11

Похожие статьи:

Навигация

Copyright © 2024 - All Rights Reserved - www.localtransport.ru