{"id":80,"date":"2016-12-17T20:31:30","date_gmt":"2016-12-17T18:31:30","guid":{"rendered":"http:\/\/www.doskay.de\/?p=80"},"modified":"2018-05-18T15:05:26","modified_gmt":"2018-05-18T13:05:26","slug":"the-trouble-with-tribbles-und-bugs","status":"publish","type":"post","link":"https:\/\/www.doskay.de\/?p=80","title":{"rendered":"The Trouble with Tribbles und Bugs"},"content":{"rendered":"<p>Die unendlichen Weiten k\u00f6nnen ein gef\u00e4hrlicher Ort sein und das besonders wenn die Software, die Dein Weltraumgef\u00e4hrt betreibt nicht richtig arbeitet. Dieses Thema ist Bestandteil vieler Science-Fiction-Filme und -Serien wie\u00a0<a href=\"https:\/\/de.wikipedia.org\/wiki\/2001:_Odyssee_im_Weltraum\">2001: Odyssee_im_Weltraum<\/a>. Dort k\u00e4mpft die Crew gegen den Bordcomputer mit &#8222;neurotischen Verhalten&#8220; um ihr \u00dcberleben.<\/p>\n<p>Doch das\u00a0Problem mit fehlerhafter Software, die sich negativ auf das Ziel der eigentlichen Mission auswirkt, gibt es leider schon heute. Als Beispiel m\u00f6chte ich die Missionen\u00a0<a href=\"https:\/\/de.wikipedia.org\/wiki\/Mars_Climate_Orbiter\">Mars Climate Orbiter<\/a>\u00a0der NASA und\u00a0<a href=\"https:\/\/de.wikipedia.org\/wiki\/Schiaparelli_(Marslander)\">Schiaparelli<\/a>\u00a0der ESA und\u00a0Roskosmos.\u00a0Beide Missionen hatten das Ziel ein Labormodul\u00a0auf dem Mars zu landen und beide Missionen endeten im Totalverlust der Module.<\/p>\n<p>Der Mars Climate Orbiter startete zusammen mit dem Mars Global Surveyor startete am 11. Dezember 1998 vom Weltraumbahnhof Cape Canaveral und erreichte am 23. September 1999 den Mars. Dort sollte sie durch verschiedene Bremsman\u00f6ver einen passenden Kurs zum landen einschlagen. Durch einen Softwarefehler wurde aber eine falsche H\u00f6he bzw. der falsche Kurs eingeschlagen. Die einzelnen\u00a0Softwarekomponenten des Mars Climate Orbiter wurden zum einen von der NASA und von\u00a0Lockheed Martin entwickelt. Die NASA \u00fcbergab die Messdaten im \u00a0metrischen System und Lockheed Martin\u00a0im\u00a0angloamerikanischen Ma\u00dfsystem, was zu abweichenden Ergebnissen f\u00fchrte.<\/p>\n<p>Am 19. Oktober 2016 wurde die Landung von\u00a0Schiaparelli mit dem gleichen Ziel wie das Modul der NASA gestartet. Es sollten\u00a0alle Technologien f\u00fcr k\u00fcnftige Landungen auf dem Mars erprobt werden. Aber auch hier konnte die Mission nicht erfolgreich beendet werden. Wie <a href=\"https:\/\/www.heise.de\/newsticker\/meldung\/Absturz-des-ExoMars-Landers-Schiaparelli-ESA-findet-Softwarefehler-3502663.html\">heise.de<\/a> berichtet, haben &#8220; die Messung der Eigendrehung zust\u00e4ndige IMU (Inertial Measurement Unit) aber ungef\u00e4hr eine Sekunde lang eine Messbereichs\u00fcberschreitung registriert, wodurch andere Berechnungen \u00fcberlastet worden seien. Als Konsequenz habe der Lander einen negativen Wert f\u00fcr die gesch\u00e4tzte H\u00f6he ermittelt. Schiaparelli habe sich dann so verhalten, als sei er bereits gelandet, was angesichts einer tats\u00e4chlichen H\u00f6he von 3,7 Kilometern zum Absturz gef\u00fchrt habe&#8220;.<\/p>\n<p>H\u00e4tten sich die beiden Abst\u00fcrze durch Softwaretests vermeiden lassen? Ich denke ja.<\/p>\n<p>Ein Ergebnis der Untersuchung der NASA war, dass die Fehler durch eine bessere Zusammenarbeit und mehr Erfahrung sogar noch beim Anflug behoben h\u00e4tte werden k\u00f6nnen. Hier w\u00e4re die L\u00f6sung ein umfangreicher Integrationstest mit allen Komponenten hilfreich. Dies ist aber meist erst m\u00f6glich, wenn die einzelnen Komponenten einen testbaren Stand aufweisen. W\u00e4hrend der Entwicklung der einzelnen\u00a0Softwareteile sorgen abgestimmte Schnittstellenspezifikationen und darauf aufbauende Mocks f\u00fcr die Pr\u00fcfung der korrekten Zusammenarbeit.<\/p>\n<p>Dabei sollte neben der Pr\u00fcfung der Funktionalit\u00e4t auch andere Aspekte beachtet werden. Bei der\u00a0Schiaparelli h\u00e4tte die\u00a0Tests mit Daten, die auf der Spezifikation beruhten, nicht geholfen. Die Daten, welche zum Absturz gef\u00fchrt hatten, lagen au\u00dferhalb der Spezifikation. Deshalb empfiehlt es sich bei System, die besonders robust sein m\u00fcssen und bei denen ein nachtr\u00e4glicher Eingriff durch einen Supporttechniker schwierig ist, durch den &#8222;Beschuss&#8220; mit randomisierten Testdaten zu validieren. Im Vordergrund steht die Zuverl\u00e4ssigkeit der Software. Das System wird mit sinnvollen Daten, die so im Rahmen des Einsatzes anfallen k\u00f6nnten, aber auch mit anderen Daten (Negative Zahlen, Gro\u00dfe Zahlen, Buchstaben etc.) bombardiert. So wird sichergestellt, dass das System sowohl bei &#8222;falschen&#8220; Daten aber auch zu vielen Daten richtig arbeitet.<\/p>\n<p>Nicht nur bei dem\u00a0Einsatzszenario der beiden\u00a0Weltraumgef\u00e4hrte, sondern bei jeden Softwaresystem sollte der Tester sich \u00fcber den Einsatz Gedanken machen und daraus den Testfokus ableiten und dabei der Fantasie ruhig etwas Freiraum lassen, um dorthin zu gehen, wo nie ein Tester gewesen ist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die unendlichen Weiten k\u00f6nnen ein gef\u00e4hrlicher Ort sein und das besonders wenn die Software, die Dein Weltraumgef\u00e4hrt betreibt nicht richtig arbeitet. Dieses Thema ist Bestandteil vieler Science-Fiction-Filme und -Serien wie\u00a02001: Odyssee_im_Weltraum. Dort k\u00e4mpft die Crew gegen den Bordcomputer mit &#8222;neurotischen Verhalten&#8220; um ihr \u00dcberleben. Doch das\u00a0Problem mit fehlerhafter Software, die sich negativ auf das Ziel [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,8],"tags":[],"_links":{"self":[{"href":"https:\/\/www.doskay.de\/index.php?rest_route=\/wp\/v2\/posts\/80"}],"collection":[{"href":"https:\/\/www.doskay.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.doskay.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.doskay.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.doskay.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=80"}],"version-history":[{"count":5,"href":"https:\/\/www.doskay.de\/index.php?rest_route=\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":85,"href":"https:\/\/www.doskay.de\/index.php?rest_route=\/wp\/v2\/posts\/80\/revisions\/85"}],"wp:attachment":[{"href":"https:\/\/www.doskay.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.doskay.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.doskay.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}