Testowanie bazujące na modelu do kontroli jakości oprogramowania samolotów

Testowanie bazujące na modelu do kontroli jakości oprogramowania samolotów
Po katastrofie Boeingów 737 Max Federalna Administracja Lotnictwa (FAA) zmieniła regulacje dotyczące testowania oprogramowania.

Śledczy przypisali katastrofy Maxów błędnemu działaniu systemu kontroli lotu. Oprócz żądania od Boeinga zmiany projektu śledczy zalecili dokładniejsze sprawdzenie przez regulatorów i producentów, jak różne systemy współdziałają ze sobą.

W konsekwencji FAA zmieniła swoje wytyczne na walidację oprogramowania. Zmiana ma na celu zapewnienie kontroli jakości coraz bardziej złożonych i zautomatyzowanych systemów w samolotach.

FAA wymaga teraz nowego procesu walidacji oprogramowania - "rozwój oprogramowania oparty na modelu" ("model-based development"). Ogólnie rzecz biorąc, oceny oparte na modelu zakładają bardziej szczegółowe testy tego, jak poszczególne systemy współdziałają, gdy są zintegrowane razem i jak zachowują się jako całość. Jest to rozszerzenie testów na systemowe, z których wiele jest wykonywanych przez dostawców pojedynczych komponentów, którzy swoje produkty muszą poddać certyfikacji.

Jak w praktyce mogłoby wyglądać testowanie bazujące na modelu?

Weźmy na początek tradycyjny model rozwoju oprogramowania bazujący na standardzie DO-178B, w którym w uproszczonym podejściu kaskadowym wytwarzamy oprogramowanie.

testowanie-bazujace-1.jpg

Legenda:

  • SW – software
  • HLR – high level requirements
  • LLR - high level requirements

Po dodaniu do niego rozwiązań bazujących na modelu dostajemy opcję zamodelowania wymagań jako podstawę do wytworzenia i weryfikacji kodu źródłowego.

testowanie-bazujace-2.jpg
 
Model sam w sobie nie jest jedynym źródłem projektowania testów, ale jest dodatkową walidacją do już istniejącego procesu. 

testowanie-bazujace-3.jpg

Przypadki testowe powstają tutaj przez połączenie tradycyjnej analizy podstawy testów oraz zasymulowanych przypadków z modelu. 

Gulfstream twierdzi, że jest pierwszym producentem samolotów, który zwalidował oprogramowanie samolotowe przy użyciu metody wymaganej przez amerykańskich regulatorów. Gulfstream został przymuszony do skorzystania podczas walidacji aktualizacji oprogramowania do użycia testowania w oparciu o model dla swoich odrzutowców biznesowych G500 i G600. Co prawda poprawka w samolotach była stosunkowo prosta, ale pojawiła się po zmianach regulacji FAA i wymagała, aby Gulfstream cofnął się i poddał system ocenie opartej na modelu. "Musieliśmy zademonstrować całość kodu" – mówi pracownik firmy. "Następnie musieliśmy zademonstrować... nic innego nie zmieniło się w kodzie bazowym".

Gulfstream zdecydował się zastosować metody oparte na modelach dla wszystkich swoich nowych produktów, w tym do rozwoju G700 i G800, które korzystają z systemu kontroli lotu G500/G600.

Źródła:
https://www.flightglobal.com/airframers/gulfstream-amped-up-software-testing-to-meet-faas-post-max-oversight/150182.article
https://www.faa.gov
https://www.researchgate.net/publication/261050720_Using_Model-Based_Development_as_Software_Low-Level_Requirements_to_Achieve_Airborne_Software_Certification

To powinno Cię zainteresować