
**Titel: Wie NASA ihre Software für das Space Shuttle und den Orion MPCV testet**
Die NASA verwendet verschiedene Testebenen, unabhängige Validierung, Standards, Sicherheitsgemeinschaften und Tools, um die Sicherheit ihrer Software zu gewährleisten. Darrel Raines hielt einen Vortrag über Softwareentwicklung und -test für das Space Shuttle und den Orion MPCV auf der NDC Tech Town. Er erklärte, wie sie aus Fehlern und Beinahe-Unfällen lernen und kontinuierlich ihren Prozess verbessern.
Softwareentwicklung ist heute viel anders als am Anfang der Space Shuttle-Ära, aufgrund der Werkzeuge, die wir zur Verfügung haben, erklärte Darrel Raines in seinem Vortrag "Lernen aus der Embedded-Softwareentwicklung für das Space Shuttle und den Orion MPCV". Verschiedene Testebenen helfen, die sichere Softwareentwicklung sicherzustellen, sagte Raines. Programme erfordern zwischen 4 und 7 Testebenen, bevor die Software für den Flug als sicher eingestuft wird, und jeder hängt von einer anderen Person oder Gruppe ab, die den Test durchführt. Programme haben eine unabhängige Verifizierungs- und Validierungsgruppe, die die für die Sicherheit der Software erforderlichen Tests durchführt. Diese Vielfalt an Personen, die an den Tests arbeiten, hilft, neue Sichtweisen und unterschiedliche Perspektiven als der ursprüngliche Entwickler einzubringen, erwähnte Raines.
Raines erwähnte, dass es bei der NASA eine Sicherheitsgemeinschaft gibt, sowohl intern als auch mit ihren Auftragnehmern. Es gibt auch ein NASA Software Quality Assurance (SQA) Team und in der Regel ein Partnerunternehmen SQA Team: Diese Teams werden gebeten, den Softwareentwicklungsprozess zu überwachen und tatsächliche und potenzielle Mängel in der Software aufzuzeigen. Sie überwachen auch die sicherheitskritische Funktionalität der Software. Mit all diesen Kontrollen können wir beginnen zu glauben, dass wir ausreichende Kontrollen und Ausgleiche haben, um sichere Software zu produzieren, sagte Raines. Aber selbst dann evaluieren wir kontinuierlich unsere Sicherheitsposition und suchen nach Verbesserungen, fügte er hinzu.
Das Softwareentwicklungsteam der NASA wählt Tools, die das Testen erleichtern, ohne die Richtigkeit der Tests zu beeinträchtigen, erklärte Raines: Wir verwenden alles von In-Circuit-Emulatoren bis zu eigenständigen Testumgebungen. Das Ziel ist es, eine Vielfalt von Tools zu verwenden, um alle möglichen Fehler zu finden, indem die Stärken jedes Tools genutzt werden, um Fehler zu finden. Es gibt NASA-Standards für die Softwareentwicklung, und Verträge haben zusätzliche Anforderungen für ein bestimmtes Fahrzeug, sagte Raines. NPR 7150.2 erfordert Unit-Tests zur Messung der Mehrfachbedingungs- / Entscheidungsabdeckung (MC/DC) für alle Tests. Dies hilft, die Qualität der Software sicherzustellen, solange die Unit-Tests darauf ausgerichtet sind, die gesamte Funktionalität zu demonstrieren, sagte Raines.
Quelle: https://www.infoq.com/news/2025/08/test-software-space-shuttle/