„It’s not a bug, it’s a feature.“ (Microsoft-Statement zu einem Fehler der Software)

In der Erprobung müssen die Verantwortlichen immer wieder die Fragen beantworten,

  • Warum haben sie diesen Fehler nicht gefunden?
  • Finden sie so alle Fehler?

Für diese Fragen gibt es eine rein mathematische Antwort. Die Mathematik ist die einzige Wissenschaft, die innerhalb der eigenen Festlegungen beweisen kann. Kann man also die Festlegungen in einem mathematischen Beweis auf ein System übertragen, dann gilt das Ergebnis des Beweise auch für das System.

Der österreichische Mathematiker Kurt Friedrich Gödel beschäftigte sich mit verschiedenen mathematischen Problemen der Logik. Aus erkenntnistheoretischer Sicht sind die zwei Unvollständigkeitssätze von Herrn Gödel interessant.

Erster gödelscher Unvollständigkeitssatz: 

Jedes hinreichend mächtige, rekursiv aufzählbare formale System ist entweder widersprüchlich oder unvollständig.

Zweiter gödelscher Unvollständigkeitssatz:

Jedes hinreichend mächtige konsistente formale System kann die eigene Konsistenz nicht beweisen.

Jedes Testprogramm ist ein rekursiv aufzählbares formales System und jedes Testprogramm für die Absicherung in einer komplexen Umgebung ist hinreichend mächtig. Damit gelten die beiden Sätze für jedes Testprogramm.

Wichtig ist, dass die Komplexität der Nutzungsumgebung des Produkts relevant ist. Prinzipiell könnte das Produkt auch als komplex beschrieben werden. Das führt aber oft zu logisch falschen Schlüssen. Zum Beispiel erfolgt der Test von Passagierflugzeugen in einer weniger komplexen Umgebung als der Test eines PKWs. Folglich ist auch der Testaufwand für Passagierflugzeuge geringer. Bei Jagdflugzeugen gilt das nicht mehr.

Im ersten gödelschen Unvollständigkeitssatz ist die Biopolarität bzw. der Gegensatz zwischen widersprüchlich und unvollständig wesentlich. Ein Prüfprogramm ist immer unvollständig, bis es widersprüchlich ist. Ob es vollständig ist, wenn es widersprüchlich wird, kann nicht gesagt werden. Widersprüchlichkeiten von Prüfprogrammen sind damit Indizien, für eine zu hohe Komplexität des Versuchsprogramms.

Merksatz: Jedes Testprogramm, dass wir machen, ist unvollständig oder widersprüchlich. Folglich ist ein Abbruchkriterium für das Vorantreiben der Testtiefe das Auftreten von Widersprüchen im Testprogramm.

Merksatz: Wir können niemals beweisen, dass wir richtig testen.

Merksatz: Die Umgebung, in der das Produkt genutzt werden soll, bestimmen die Komplexität des Tests entscheidend.

 

Dieser Beitrag ist eine Zusammenfassungen eines Abschnitts aus einer Mitarbeiterschulung unter dem Titel „Erkenntnistheorie als Grundlage der Fahrzeugerprobung. Für Fragen, Anregungen und Diskussionen steht Ihnen der Autor gerne zur Verfügung.

Pin It on Pinterest

Share This

Soziale Medien

Bitte teilen Sie diesen Beitrag!