Einleitung
Eine frühzeitige fundierte Voraussage von Problemstellen trägt sowohl zu höherer Produktqualität als auch zu deutlich geringeren Fehlerbehebungskosten bei. Auf vielen Anwendungsgebieten liegen ausreichend Datenbestände vor, aus denen gut auf Fehlerquellen geschlossen werden kann. Sogar auf zukünftige Fehler, noch lange bevor sie im Feld bemerkbar werden. Die Effektivität und Effizienz des Testens wird extrem erhöht, wenn diese Information für gezielte Tests in den vorausgesagten Problembereichen genutzt wird.
Die Umkehrung des Entkommens eines Fehlers
Der Begriff der Fehlereindämmung innerhalb der Entstehungsphase bedeutet, dass ein Fehler noch in derselben Entwicklungsphase behoben wird, in der er entstanden ist. Das Gegenteil ist das Entkommen eines Fehlers in eine spätere Phase des Entwicklungszyklus, zum Beispiel eine lückenhafte Anforderung, bei der erst im Abnahmetest die Unvollständigkeit auffällt. Je später ein Fehler korrigiert wird, desto höher die Korrekturkosten, wie in unzähligen Untersuchungen gezeigt wird. Gängige Methoden, um einen Fehler in der Entstehungsphase einzudämmen, sind beispielsweise Anforderungsreviews oder statische Codeanalysen.
Die Durchführung dynamischer Tests ist auf die Implementierung des zu testenden Systems angewiesen. Fehler, die hier gefunden werden, sind meist in einer früheren Phase entstanden. Wohl liefern die Ergebnisse dynamischer Tests wertvolle Erkenntnisse über neue Risikobereiche, in denen unerwartet viele Fehler auftreten. Eine strukturierte Klassifikation der Fehler ist die Basis für fehlerbasierte Testentwürfe. Dabei werden Fehlertaxonomien bereits in ersten Ansätzen statistisch für Prognosen auf Folgereleases oder ähnliche Projekte angewandt. Doch diese Informationen werden in der Praxis viel zu wenig verwertet. Zudem fehlt meist die Verknüpfung mit weiteren Messwerten und Diagnosedaten aus dem Betrieb des Produkts. Aus Messwerten von routinemäßigen Performancetests könnte zum Beispiel über eine Trendanalyse ein zukünftiges Performanceproblem schon lange vor dessen Eintreten vorausgesehen werden.
Eine intelligente Auswertung, die nach Mustern in Diagnosedaten und Fehlern sucht, ermöglicht hingegen schon eine zuverlässige Vorhersage, wo die riskanten Bereiche liegen werden und wann ein unerwünschtes Ereignis auftreten wird. Und zwar noch bevor der Fehler eingebaut wird oder eine gefährliche Kombination an Rahmenbedingungen zustande kommt. Es wird nicht nur das Entkommen des Fehlers verhindert, sondern das Wissen zu seiner Verhütung ist schon vor der potenziellen Entstehungsphase vorhanden.
Weitere Anwendungsbeispiele der vorausschauenden Qualitätsmessung
Industrie 4.0:
Die Einbeziehung von massenhaften Sensormessdaten in der Fertigung ermöglicht, Wartungsintervalle zu optimieren. Verschleißbedingte Ausfälle können punktgenau vorhergesagt und die Vorbereitungen und Durchführung der Wartung optimiert werden. Auch auf Softwarefehlern beruhende Probleme bei Industrierobotern können vorausgesehen werden. Im Betrieb kann zum Beispiel ein Prozess rechtzeitig neu initialisiert werden, bevor es zum Ausfall kommt.
Logistik:
Gerade in Fahrzeugen werden Massendaten im Betrieb gesammelt. Durch die intelligente Auswertung von z.B. Bremswegen, Verlauf von Treibstoffverbrauch, detaillierten Motordaten und so weiter kann der Fahrzeugeinsatz optimiert und können Fahrzeugausfälle verhindert werden. Services werden zum tatsächlich notwendigen Zeitpunkt durchgeführt und nicht in routinemäßigen fixen Intervallen, die aus Sicherheitsgründen oft zu eng angesetzt sind.
Erfolgsfaktoren
Drei wesentliche Voraussetzungen müssen vorliegen, damit eine zuverlässige Vorhersage von Fehlern möglich wird:
- Big Data: Massendaten aus Tests und Betrieb müssen gesammelt werden.
- Keine Vorsortierung, Reduktion oder Filterung der Ursprungsdaten, sondern Aufzeichnung in vollem Umfang.
- Artificial Intelligence: Intelligente, teils selbst lernende Algorithmen zur Mustererkennung im Wust an Daten. Erst in diesem Schritt werden Zusammenhänge analysiert und ausgewertet.
Zusammenfassung
Moderne Algorithmen können Massendaten automatisch zielgerichtet analysieren. Muster und Trends werden über verschiedene Datenquellen hinweg erkannt. Füttert man diese Algorithmen mit Testdaten, Testergebnissen und Messwerten aus dem Betrieb, ist eine Vorhersage von Fehlersituationen mit einer hohen Zuverlässigkeit möglich. Diese Auswertungen können Auskunft über potenzielle Fehler in der Software geben und zu einem fokussierten Testentwurf beitragen. Teilweise können durch die Kenntnis potenzieller Problemstellen Fehler sogar verhindert werden.