Diplomarbeit DIP-2923

Bibliograph.
Daten
Schumm, Sebastian: Praxistaugliche Unterstützung beim selektiven Regressionstest.
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, Diplomarbeit Nr. 2923 (2009).
93 Seiten, deutsch.
CR-Klassif.D.2.5 (Software Engineering Testing and Debugging)
D.2.7 (Software Engineering Distribution, Maintenance, and Enhancement)
KeywordsTest, Regressionstest, Selektiver Regressionstest, CodeCover, Glassbox-Test, Software-Wartung, Wartung
Kurzfassung

"regression testing: Selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements."

IEEE Std 610.12 (1990)

Der Regressionstest wird hauptsächlich in der Wartung einer Software eingesetzt und im Lebenslauf der Software häufig wiederholt. Der selektive Regressionstest hat das Ziel, Aufwand bei der Ausführung der Testsuite einzusparen. Dazu werden nur diejenigen Testfälle der Testsuite ausgewählt, die, bezogen auf die Änderungen zwischen zwei Programmversionen, eine Chance haben Fehler aufzudecken.

In dieser Arbeit werden ein Verfahren für den selektiven Regressionstest von Java-Programmen und ein dafür entwickeltes Werkzeug beschrieben. Dazu werden zunächst die Grundlagen des Regressionstests sowie Alternativen zum selektiven Regressionstest vorgestellt. Anschließend wird ein Überblick über die Literatur zum selektiven Regressionstest gegeben. Der Überblick konzentriert sich auf Verfahren, die auf dem Programmcode arbeiten. Die existierende Literatur behandelt hauptsächlich prozedurale Programmiersprachen, Verfahren für aktuelle objektorientierte Programmiersprachen gibt es nur wenige. Die Verfügbarkeit von Werkzeugen für den selektiven Regressionstest ist ebenfalls gering.

Im weiteren Verlauf der Arbeit wird ein eigenes Verfahren für den selektiven Regressionstest vorgestellt, das auf dem Glassbox-Test-Werkzeug CodeCover basiert. Das Verfahren ermittelt die Änderungen zwischen zwei Programmversionen anhand eines Vergleichs des Programmcodes und wählt alle Testfälle für den Regressionstest aus, die von den ermittelten Änderungen betroffen sind. Das Verfahren ist besonders für die Behandlung von Änderungen auf Anweisungsebene und Methodenebene geeignet.

Das Verfahren wurde in Form eines Werkzeugs umgesetzt, wobei viel Wert auf die Praxistauglichkeit gelegt wurde. Das Werzeug ist in Form eines Plug-ins für die Entwicklungsumgebung Eclipse implementiert und unterstützt auch die Analyse großer Softwaresysteme.

Volltext und
andere Links
PDF (703184 Bytes)
Zugriff auf studentische Arbeiten aufgrund vorherrschender Datenschutzbestimmungen nur innerhalb der Fakultät möglich
Abteilung(en)Universität Stuttgart, Institut für Softwaretechnologie, Software Engineering
BetreuerRainer Schmidberger
Projekt(e)CodeCover
Eingabedatum27. Oktober 2009
   Publ. Informatik