Orthogonal Defect Classification


Orthogonal Defect Classification

Orthogonal Defect Classification (ODC) ist ein Modell zur Fehlerklassifikation in der Softwareentwicklung, das bei IBM entwickelt wurde. Durch die Klassifikation von Fehlern nach bestimmten Kategorien und Attributen lassen sich Zusammenhänge zwischen dem Entwicklungsprozess und der Ursache von Fehlern in der Software aufzeigen. Anhand der dabei gewonnen Erkenntnisse lassen sich Maßnahmen zur Verbesserung des Entwicklungsprozess ableiten.

Inhaltsverzeichnis

Konzept

ODC gehört zur Klasse der Ursachenanalyse (Root cause analysis) und ist eine Technik aus dem Bereich Software Engineering. Im Gegensatz zur klassischen Ursachenanalyse werden hierbei die einzelnen Fehler nicht detailliert und zeitaufwändig analysiert, sondern mittels vordefinierten Kategorien semantisch klassifiziert.

Fehlerklassifikation

Bei der Fehlerklassifikation mit ODC wird der Fehler zweimal klassifiziert – bei Feststellen des Fehlers nach den Kriterien der sogenannten „Opener Section“; nach dem Beheben dann noch einmal nach denen der „Closer Section“. In der Opener Section liegt der Fokus auf den Umständen, die zum Fehlverhalten geführt haben – so können diese auch später reproduziert werden. In der Closer Section wird die Ursache bestimmt, die zu dem Fehler geführt haben. Die Opener Section bietet drei Kategorien, die Closer Section fünf.

Opener Section

Die Opener Section besteht aus den Kategorien:

  • Activity: Wann wurde ein Fehler gefunden? Hierbei ist nicht das Datum gemeint, sondern der Zeitpunkt innerhalb des Entwicklungsprozesses bzw. des Produktlebenszyklus.
Beispiel: Design- oder Codereview, Modul- Komponenten- oder Systemtest.
  • Trigger: Wie wurde der Fehler gefunden? Hierbei darf der Trigger nicht mit dem Symptom, also der Auswirkung eines Fehlers bzw. dem Fehlverhalten eines Programms verwechselt werden.
Beispiel: Durch einen Fehler in einer Zählschleife wird ein falscher Wert auf der Benutzeroberfläche angezeigt. Das Symptom ist dabei die Anzeige des falschen Wertes. Der Trigger könnte in diesem Fall ein Boundary-Value Test gewesen sein. Der Trigger ist sozusagen der „Katalysator“, der einen Fehler zu einem Fehlverhalten werden lässt.
  • Impact: Welche Auswirkungen ergeben sich für den Kunden bzw. hätten sich ergeben können, wenn der Fehler erst beim Kunden entdeckt worden wäre in Bezug auf ISO 9126?

Closer Section

Die Closer Section besteht aus den Kategorien:

  • Target: Welches Objekt wurde verbessert, damit der Fehler behoben werden konnte?
  • Defect Type: Was genau musste verbessert werden, damit der Fehler behoben werden konnte?
Beispiel: Zuweisung, Schnittstelle, Algorithmus
  • Qualifier: Spezifiziert, ob die Behebung eines Fehler aufgrund von: Fehlendem, fehlerhaftem oder überflüssigem Quellcode erfolgte.
  • Age: Spezifiziert, ob der Fehler in einem neuen, basis, umgeschriebenen (refactored code) oder fehlerbereinigtem Codezweig auftrat.
  • Source: Spezifiziert, ob der Fehler innerhalb des Quellcodes aus Eigenentwicklung, Wiederverwendung (reuse), Portierung oder von einem fremden Anbieter stammt.

Schwierigkeiten bei der Verwendung von ODC

Da es sich bei der Fehlerklassifikation mit ODC um einen von Menschen durchgeführten Prozess handelt, besteht die Gefahr, dass aufgrund von unterschiedlichen subjektiven Auffassungen die Klassifikation eines Fehlers zu Unterschieden führt. Dies kann durch eine gezielte Anpassung der Attribute an die jeweiligen Umstände in der Entwicklung für die einzelnen Kategorien in der Opener und Closer Section positiv beeinflusst werden. Daher sollten die einzelnen Attribute einer Kategorie orthogonal zueinander sein, um somit den Raum für eine etwaige Interpretation durch den Einzelnen gering zu halten.

Literatur

  • Ram Chillarege et al.: Orthogonal defect classification -- A concept for in-process measurements. In: IEEE Transactions on Software Engineering. Nr. 18, 1992, S. 943-956 (Artikel).
  • Ram Chillarege: ODC - a 10x for Root Cause Analysis. 2006 (PDF).
  • Pankaj Jalote et al.: Using defect analysis feedback for improving quality and productivity in iterative software development. In: Proceedings of the Information Science and Communications Technology (ICICT 2005). 2005, S. 701-713 (PDF).
  • M. Butcher et al.: Improving software testing via ODC: Three case studies. In: IBM System Journal. Nr. 41, 2002 (Artikel).

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Orthogonal Defect Classification — Software Testing portal Orthogonal Defect Classification (ODC) was invented by IBM Research to establish a foundation for providing analysis and feedback of defect data targeting quality issues in software design and code in a procedural language …   Wikipedia

  • Odc — Die Abkürzung ODC steht für: Official Dance Charts (ODC 40), die offiziellen deutschen Dance Charts; siehe Media Control Charts Online Data Center Opera s Direct Connect, ein Client für das Direct Connect Filesharing Netzwerk OpenDocument… …   Deutsch Wikipedia

  • ODC — Ozone Depleting Chemicals (Governmental » Military) Oil Dri Corporation of America (Business » NYSE Symbols) * Occupational Development Center (Community) * Optical Disc Corporation (Business » Firms) * Orthogonal Defect Classification (Academic… …   Abbreviations dictionary

  • ODC — may refer to: Offshore Development Center oDC, an acronym for Opera s DC++, which is a DC++ based client for Ornithine decarboxylase Orthogonal Defect Classification Ordinary Decent Criminal (slang) ODC/Dance, a San Francisco based dance company… …   Wikipedia

  • ODC — Die Abkürzung ODC steht für: Official Dance Charts (ODC 50), die offiziellen deutschen Dance Charts; siehe Media Control Charts Online Data Center, siehe Rechenzentrum Opera s Direct Connect, ein Client für das Direct Connect Filesharing Netzwerk …   Deutsch Wikipedia

  • Modular representation theory — is a branch of mathematics, and that part of representation theory that studies linear representations of finite group G over a field K of positive characteristic. As well as having applications to group theory, modular representations arise… …   Wikipedia

  • mathematics — /math euh mat iks/, n. 1. (used with a sing. v.) the systematic treatment of magnitude, relationships between figures and forms, and relations between quantities expressed symbolically. 2. (used with a sing. or pl. v.) mathematical procedures,… …   Universalium

  • Crystal structure — In mineralogy and crystallography, crystal structure is a unique arrangement of atoms or molecules in a crystalline liquid or solid. A crystal structure is composed of a pattern, a set of atoms arranged in a particular way, and a lattice… …   Wikipedia

  • nature, philosophy of — Introduction       the discipline that investigates substantive issues regarding the actual features of nature as a reality. The discussion here is divided into two parts: the philosophy of physics and the philosophy of biology.       In this… …   Universalium

  • Cyclic group — Group theory Group theory …   Wikipedia