Indholdsfortegnelse
Mars Climate Orbiter – software- og systemfejl
Baggrund
Hvad gik galt?
Hvorfor blev fejlen ikke opdaget?
Relation til software testing
1. Kravspecifikation og interface-kontrakter
2. Integration Testing
3. System Testing & End-to-End Testing
4. Validation vs. Verification
5. Organisatoriske faktorer
Konsekvenser
Mars Climate Orbiter – software- og systemfejl
Baggrund
Opsendt af NASA i december 1998 som del af Mars Surveyor-programmet.
Formål: Studere Mars’ klima og fungere som kommunikationsrelæ.
Missionen gik tabt i september 1999 ved indflyvning i Mars’ atmosfære.
Hvad gik galt?
En softwarekomponent fra Lockheed Martin leverede thrust-data i pound-force (imperiale enheder).
NASA’s navigationssoftware forventede data i newton (metriske enheder).
Enhederne blev ikke konverteret korrekt.
Resultat: Forkert beregning af bane → rumsonden kom for tæt på Mars og brændte op i atmosfæren.
Hvorfor blev fejlen ikke opdaget?
Manglende end-to-end systemvalidering af enheder.
Utilstrækkelig interface-specifikation mellem teams.
Afvigelser i navigationsdata blev observeret, men ikke eskaleret korrekt.
Ingen robust automatisk kontrol for konsistens i måleenheder.
Relation til software testing
1. Kravspecifikation og interface-kontrakter
Klare og entydige enhedskrav burde have været dokumenteret.
Interface Definition Documents (IDD) skal verificeres gennem test.
Manglende enforcement af standarder (SI-enheder).
2. Integration Testing
Individuelle komponenter fungerede korrekt isoleret.
Fejlen opstod i integrationen mellem to systemer.
Integrationstest burde have fanget enhedsmismatch.
3. System Testing & End-to-End Testing
Simuleringer burde have afsløret urealistiske baneafvigelser.
Edge cases og akkumulerede beregningsfejl blev ikke håndteret tilstrækkeligt.
4. Validation vs. Verification
Verification: “Bygger vi systemet korrekt?” → Ja, hver komponent virkede.
Validation: “Bygger vi det rigtige system?” → Nej, helheden var inkonsistent.
Klassisk eksempel på at lokal korrekthed ≠ global korrekthed.
5. Organisatoriske faktorer
“Faster, better, cheaper”-strategi medførte strammere budget og tidsplan.
Kommunikationsproblemer mellem organisationer.
Afvigelser i data blev ikke behandlet med tilstrækkelig risikovurdering.
Konsekvenser
Mission til ca. 125 millioner USD gik tabt.
NASA ændrede procedurer for systems engineering og verifikation.
Øget fokus på enhedsstandardisering og tværgående review-processer.