Modellbasierte Erzeu... Forschungsprojekte UML-basierte Beschre...

Studienarbeit

Testfallerzeugung nach der Äquivalenzklassenmethode

 

Zusammenfassung

Um die Korrektheit von Softwaresystemen sicherzustellen, gibt es verschiedene Testkriterien. Diese Arbeit konzentriert sich auf Testkriterien für kontrollflussorientiertes Testen von Methoden.
Die Testwerte für die Testläufe werden meistens von Hand ausgewählt. Aufgrund der Komplexität der heutigen Softwaresysteme ist es aber sehr zeitaufwändig, alle Testwerte zu finden, um ein gewähltes Testendekriterium zu erfüllen. Eine Automatisierung der Generierung von Testwerten wäre damit von großem Nutzen:
Die Kunst beim Testen ist es, eine kleine, handhabbare Menge von Testfällen auszuwählen. Auf der einen Seite soll die Chance maximiert werden, einen Fehler zu finden und auf der anderen gleichzeitig die Möglichkeit minimiert werden, Testfälle zu verschwenden. Damit würde im optimalen Fall jeder Testfall einen bisher noch nicht erkannten Fehler finden. Im Allgemeinen lässt sich der Eingaberaum einer Methode so partitionieren, dass alle Eingaben aus einem Teilraum ein äquivalentes Verhalten des Programms hervorrufen. Somit wäre das Testen einzelner Repräsentanten jeder Eingabeklasse - im Sinne des Kontrollflusses betrachtet - eine angemessene Testauswahl.
Um nun einen bestimmten Kontrollflusspfad zu durchlaufen, müssen die Eingabedaten bestimmte Bedingungen erfüllen. Diese Bedingungen sind im Allgemeinen nicht durch eine rein statische Analyse ermittelbar. Ziel dieser Studienarbeit ist es zu evaluieren, unter welchen Voraussetzungen eine Umsetzung möglich ist. Die Ergebnisse sollen in einem Werkzeug umgesetzt werden, welches in der Sprache C# verfassten Code analysieren kann. Das Werkzeug soll an einem realen Beispiel aus der industriellen Praxis evaluiert werden.
Kapitel 1 gibt einen Überblick über das Testen von Softwareprodukten und stellt das Projekt vor, zu welchem die Studienarbeit gehört. Kapitel 2 führt die wichtigsten Begriffe ein und bietet eine Übersicht über das verwendete Verfahren. Kapitel 3 setzt sich mit dem Ermitteln der Eingabeklassen auseinander. Kapitel 4 geht auf die praktische Umsetzung ein. Kapitel 5 gibt einen Ausblick auf weiteren Forschungsbedarf.

Betreuer: Dr.-Ing. Norbert Oster

In Kooperation mit: Siemens Automation and Drives