Technische Universität München, Institut für Informatik
Das tägliche Leben wird zunehmend von der Informationsverarbeitung beeinflusst.
Die auch in kritischen Bereichen genutzten Systeme wachsen in ihrer Komplexität
derzeit stark an. Ein deshalb allgemein bekanntes Problem ist die Sicherstellung
der Korrektheit von Software und Hardware. Korrektheitsmängel sind in der Regel
die Ursache von Abstürzen oder Fehlern bei der Anwendung von Software und
Hardware.
Eine vollständige Korrektheit von Software ist heute nicht praktikabel
realisierbar. Je nach Anwendungsdomäne sind Kunden auch mit mehr oder weniger
fehlerfreien Systemen zufrieden und wägen diese gegen den notwendigen
Arbeitsaufwand zur Verbesserung der Qualität ab. Die beiden Stellschrauben
Softwarequalität und Entwicklungskosten beeinflussen sich daher gegenseitig.
Nach heutigem Stand lässt sich Qualität jedoch nur schwer messen und ein
Endanwender kann somit Software nur nach Funktionalität und Preis vergleichen.
Ziel dieser Arbeit ist es, Kriterien anzugeben, in denen verschiedene Maßnahmen
zur Qualitätssteigerung in Ergebnis und Kosten abgeschätzt werden können. Es
soll eine einfache, aber effektive Taxonomie der zur Verfügung stehenden
Techniken (Review, Inspektion, manuelles Testen und automatisiertes Testen nach
verschiedenen Überdeckungskriterien) erstellt werden, die dem Kunden auch die
avisierte Softwarequalität erfahrbar macht. Als Teil der Arbeit sollen außerdem
Voraussetzungen herausgearbeitet werden, welche für die Qualitätsermittlung
einer Software notwendig sind und in wie weit eine Automatisierung der
Qualitätsbestimmung möglich ist. Dazu gehört zum Beispiel die Messung von
Überdeckungskriterien bei automatisierten Tests, wie sie zum Beispiel das
Test-Framework JUnit bietet.
Die Arbeit wird extern bei der Beck et. al. durchgeführt.
(Weitere Themenstellungen in diesem Projektbereich sind auf Anfrage erhältlich.)