Inhalt
Der kombinierte Black-Box- und Glass-Box-Test bietet Möglichkeiten, neue Testfälle zu finden, indem er unüberdeckte Codeblöcke aufzeigt. Jeder unüberdeckte Codeblock entspricht einem neuen potenziellen Testfall. Diese Liste von Testfallempfehlungen kann zur Verbesserung einer existierenden Systemtestsuite verwendet werden. Eine Hürde auf dem Weg zur Verbesserung einer existierenden Systemtestsuite ist die notwendige Wirtschaftlichkeit. Die Kosten der wahrscheinlich verhinderten Fehler müssen die Kosten der Testsuiteverbesserung übersteigen.
Um einem Tester die wirtschaftliche Abarbeitung der Testfallempfehlungen zu ermöglichen, sollten diese priorisiert werden. So soll erreicht werden, dass der Tester seine Zeit für die Erstellung von Testfällen mit hoher Wahrscheinlichkeit, einen Fehler zu finden, einsetzt.
In dieser Diplomarbeit wird ein Modell für die Priorisierung von Testfallempfehlungen vorgestellt. Das Modell basiert auf Heuristiken, die die Fehlerfindwahrscheinlichkeit und mögliche Fehlerschwere von Testfallempfehlungen bewerten. Die Heuristiken nehmen ihre Informationen dazu aus verschiedenen Quellen, unter anderem aus dem Quellcode und der Versionsgeschichte des Programms. Alle Heuristiken stammen dabei aus der bestehenden Literatur zu den Themen "`risikobasierter Test"' und "`Fehlerprognose"'. Das Priorisierungsmodell ist allerdings nicht starr auf eine Menge von Heuristiken ausgelegt, sondern kann durch zusätzliche Heuristiken erweitert werden.
Das Modell wurde als CodeCover-Erweiterung implementiert und fügt der Eclipse-Integration von CodeCover eine weitere Sicht hinzu. Mit Hilfe dieser CodeCover-Erweiterung können nach einem Testdurchlauf mit CodeCover Testfallempfehlungen generiert und mit Hilfe mehrerer Heuristiken priorisiert werden. Die Implementierung ist dabei als Framework für die Erprobung weiterer Heuristiken zur Priorisierung von Testfallempfehlungen geeignet.
Die Arbeit schließt mit einer Erprobung der CodeCover-Erweiterung bei einem Industriepartner.
--------------------------------------------------------
Abstract
The combined black-box and glass-box test offers possibilities of finding new test cases by showing uncovered code blocks. Every uncovered code block corresponds to a potential new test case. This list of test case recommendations can be used to improve an existing suite of system test cases. An obstacle on the way to the improvement of an existing system test suite is the required cost effectiveness. The cost of the probably avoided errors in production must outweigh the cost of test suite improvement.
To facilitate the cost-effective working off the test case recommendations they should be priorized. Thus the tester can focus his time on the creation of test cases with a high probability of finding an error.
In this diploma thesis a model for the priorization of test cases is presented. The model is based on heuristics that rate the error finding probability and the potential covered error severity of a test case recommendation. These heuristics rely on several sources such as the source code and the version archive. The heuristics are extracted from the existing literature about risk-based testing and error prediction. The priorization model is however not limited to a certain set of heuristics but it can be extended to include further heuristics.
The model has been implemented as an extension for the tool CodeCover. It supplements the Eclipse integration with another view. Using this view one can generate a list of test case recommendations after a test execution and priorize them using multiple heuristics. The implementation is fit to be used as a framework for the trial of further heuristics for the priorization of test cases.
This work concludes with an experiment on the performance of the implementation at a company.
|