Formal Methods for E... Advanced Design Patterns in I...

Software-Test: Verfahren und Werkzeuge

Prof. Dr. Francesca Saglietti

Seminar im Hauptstudium


"There will always be engineering failures.
But the worst kind of failures are those that could readily be prevented
if only people stayed alert and took reasonable precautions. ...
Engineering responsibility should not require the stimulation that comes in the wake of catastrophe."
[Samuel C. Florman, The Civilized Engineer]

Es gibt kaum noch technische Systeme, in denen die Steuerung nicht über Software bzw. Softwareanteile realisiert wird. Beispielsweise werden im Auto - vom Motormanagement über die Getriebesteuerung bis zum Bremsassistenten - immer mehr Steuerungsfunktionen von Mikroprozessoren übernommen und durch entsprechende Software umgesetzt.

In Folge der zunehmenden Komplexität der Softwaresysteme muss man davon ausgehen, dass die entwickelte Software mit Fehlern behaftet ist. Das Testen der Software durch Ausführung des Maschinencodes auf der Zielmaschine ist die einzige Nachweismethode, die in der Lage ist, über die Korrektheit des Quellcodes hinaus auch die Eigenschaften des zugrundeliegenden Prozessors sowie des Compilers und des Betriebssystems in die Verifikation mit einzubeziehen. Aus diesem Grunde ist das Testen von Software ein unerlässlicher Bestandteil des Entwicklungsprozesses und durch keine andere Verifikationsmethode zu ersetzen. Der Software-Test wird dabei nicht nur zur Fehlersuche verwendet, sondern auch zum Messen von Software-Qualitätskenngrößen wie z.B. von Zuverlässigkeit. Da das vollständige Austesten von großen Programmen praktisch nicht möglich ist, gewinnt die Frage nach einer angemessenen Auswahl von Testszenarien an Bedeutung.

Mit dieser Fragestellung werden sich die Vorträge des Seminars unter verschiedenen Gesichtspunkten befassen. Es werden unterschiedliche Verfahren behandelt sowie deren Praxiseinsatz durch entsprechende Software-Werkzeuge vorgestellt.

Folgende Themen werden u.a. behandelt:



top