Wikipedia · einfach zusammengefasst · Stand
Inferenzbaum
Eine so genannte Inferenzmaschine wendet das Regelwerk bei der automatisierten Analyse und Auswertung an.
Inhalt6 Abschnitte
Grundidee und Aufbau
Ein Inferenzbaum bezeichnet in der Informatik, besonders in der Softwareentwicklung, einen Graphen zur Darstellung von Entscheidungen und Folgerungen. Er visualisiert, wie aus Datenbeständen oder Systemzuständen mithilfe eines Regelwerkes Schlussfolgerungen entstehen.
In seiner Darstellung ähnelt er einem Binärbaum: Die Ergebnisse einer Schlussfolgerung werden durch die beiden Kinder eines Knotens repräsentiert. Eine Inferenzmaschine ist ein automatisches Auswertungssystem, das das Regelwerk auf Daten anwendet und daraus Bewertungen oder Entscheidungen ableitet.
Einsatz in der Softwareentwicklung
In der Softwareentwicklung werden Inferenzbäume im Qualitätsmanagement eingesetzt. Sie helfen dabei, Phasen und Methoden eines Entwicklungs- und Testprozesses anhand von Fehlerdaten nach Güte und Zuverlässigkeit zu beurteilen.
Ein Inferenzbaum liefert nicht nur eine Analyse und Bewertung von Test- und Entwicklungsverfahren. Er kann auch Vorschläge und Anleitungen geben, wie ein Prozess einzuschätzen ist und welche Optimierungsmaßnahmen möglich sind. Dadurch unterscheidet er sich von einer reinen Binärbaum-Darstellung, die nur eine IST-Analyse zeigt.
Die Qualität und Aussagekraft eines Inferenzbaumes hängen vor allem davon ab, ob das zugrunde liegende Regelwerk vollständig und korrekt ist.
ODC und Fehlerdaten
Die Software-Metrik Orthogonal Defect Classification (ODC) nutzt unter anderem Inferenzbäume. ODC ist ein Verfahren zur Einordnung von Softwarefehlern. Fehlerdaten, die in einem Softwareprojekt im ODC-Format erfasst wurden, können mit Inferenzbäumen ausgewertet werden.
Ziel ist es, den Reifegrad und die Qualität des Entwicklungsprozesses zu bewerten und zu verbessern. Wenn ein passendes Regelwerk verwendet wird, lassen sich die beteiligten Entwicklungs- und Testprozesse analysieren, bewerten und daraus konkrete Verbesserungsmöglichkeiten ableiten.
Inferenzbaum-Analyse
Die Inferenzbaum-Analyse ist ein Verfahren, das Softwarefehlerdaten im ODC-Format auswertet. Auf Basis eines geeigneten Regelwerkes bewertet sie den Entwicklungsprozess und zeigt konkrete Handlungsoptionen auf, mit denen einzelne Phasen eines Softwareentwicklungsprozesses optimiert werden können.
Dabei berücksichtigt die Analyse, inwiefern einzelne Entwicklungs- und Testphasen das Verursachen oder Aufdecken verschiedener Fehlerarten begünstigen. Ein wesentliches Merkmal ist die Kategorisierung von Softwarefehlern, wie sie im ODC-Konzept vorgesehen ist.
Ergebnisse und Nutzen
Das Ergebnis einer Inferenzbaum-Analyse ist einerseits ein Binärbaum, der die IST-Situation des Softwareentwicklungsprozesses hinsichtlich der Aufdeckung von Fehlern zeigt. Der sogenannte Defekt-Pfad visualisiert diesen IST-Zustand.
Zusätzlich bewertet die Analyse jede Entwicklungs- und Testphase: Entwicklungsphasen werden hinsichtlich Fehlerfreiheit beurteilt, Testphasen hinsichtlich ihrer Zuverlässigkeit bei der Entdeckung spezieller Fehlerarten.
Die gewonnenen Erkenntnisse können direkt in ein Redesign des Entwicklungsprozesses einfließen. Dadurch lassen sich Handlungsfelder genauer lokalisieren und gezielter bearbeiten.
Bewertungen im Regelwerk
Die möglichen Ergebnisse einer Inferenzbaum-Analyse werden den beteiligten Entwicklungs- und Testphasen zugeordnet. Das Regelwerk unterscheidet dabei unter anderem zwischen hohem Fehlertypaufkommen (H) und niedrigem Fehlertypaufkommen (L).
Für die Entwicklung bedeutet Exposed: Die Phase ist fehleranfällig, und auch nach dem Durchlaufen der Tests kann die Korrektheit des Produkts nicht sichergestellt werden. Fixed bedeutet: Die in dieser Phase verursachten Fehler wurden im Laufe der Tests nahezu vollständig behoben.
Für den Test bedeutet Revamp: Die Testphase ist nicht zuverlässig bei der Aufdeckung der dafür typischen Fehlerarten. Good bedeutet: Die Testphase gilt als zuverlässig zur Aufdeckung eines Fehlertyps.