[ L T Net ] OPEN-EVENTS :: OPEN MUSIC :: MINICONTENT :: KNOPPIX LINUXTAG.org 
Cornerstone
// LinuxTag 2005
Besuchen Sie uns auch nächstes Jahr wieder auf dem LinuxTag 2005 im Karlsruher Messe- und Kongresszentrum. Für nähere Details und den genauen Termin besuchen Sie bitte die LinuxTag Homepage.
EUROPAS GRÖSSTE GNU/LINUX MESSE UND KONFERENZ
KONFERENZ-DVD 2004
 Hauptseite   Vorträge   Bücher   History   Software   Knoppix   Sponsoren   Abspann   Impressum 
Hauptseite // Vorträge // Automatische Softwaretests

Automatische Softwaretests

Bernhard Herzog


Zusammenfassung

Software, die nicht das tut, was sie tun soll, ist nutzlos. Eines der wichtigsten Kriterien für die Qualität von Software ist daher die Fehlerfreiheit. Eine bewährte Methode um Fehler in Software zu finden sind systematische Tests. Ein Ansatz der sich besonders gut für Freie Software eignet, sind automatische Tests, da für regelmässige und umfangreiche Manuelle Tests bei den meisten freien Projekten die Ressourcen fehlen. In den letzten Jahren sind diverse Variationen automatischer Tests unter den Schlagworten "Test Driven Development" oder "Unittests" insbesondere von Befürwortern des "Extreme Programming" bekannt gemacht worden. Die Idee, Tests zu automatisieren, ist zwar schon deutlich älter und wird in manchen freien Software Projekten schon seit Jahren eingesetzt, der Rummel um Extreme Progamming hat jedoch automatisierte Tests mehr Entwicklern bekannt gemacht und immmer mehr Projekte fangen an sie zu verwenden. Automatische Tests, sind, wenn sie richtig gehandhabt werden, aus mehreren Gründen interessant. Sie können praktisch auf Knopfdruck ausgeführt werden und der Entwickler kann das Resultat auf einen Blick beurteilen. Damit verschwindet die Mühsal von manuellen Tests. Die Tests können sehr einfach auch nach kleinen Änderungen durchgeführt werden, so daß Fehler oft sehr früh entdeckt werden. Änderungen an der Software, insbesondere Refactoring, werden dadurch erleichtert. Wenn man dann noch die Tests gleichzeitig mit der Software entwickelt -- "test a little, code a little" -- wird auch das Erstellen der Testsuite selbst recht einfach. Ausserdem wird die Software von vornherein so entworfen, daß automatische Tests einfach zu schreiben sind. Das führt in der Regel auch zu gut modularisiertem und wartbarem Code. Der Vortrag wird theoretische Aspekte von automatischen Tests vorstellen und ihre praktische Umsetzung bei Freier Software untersuchen und mit Beispielen erläutern. Im theoretischen Teil werden verschiedene Arten von Tests wie etwa Unittests, funktionale Tests oder Regressionstests vorgestellt und Wege besprochen, wie diese Test in den Entwicklungsprozess eingebunden werden können. Des weiteren werden einige Grenzen von automatisierten Tests aufgezeigt. Im praktischen Teil wird anhand von einigen Projekten, an denen der Vortragende selbst beteiligt ist, wie etwa dem Geodatenbetrachter Thuban und dem Vektorzeichenprogramm Skencil, demonstriert, wie man konkret Testfälle schreiben kann. Da sowohl Thuban als auch Skencil hauptsächlich in Python geschrieben sind ist dieser Teil im wesentlichen eine Einführung in das unittest Modul von Python.

Über Bernhard Herzog

Bernhard Herzog leitet die Softwareentwicklung bei der Intevation GmbH, Osnabrück (intevation.de). Im Rahmen der Tätigkeit bei Intevation entwickelt er den freien Geodatenbetrachter Thuban (thuban.intevation.de). Nebenbei ist er Hauptentwickler des freien Vektorzeichenprogramms Skencil (sketch.sourceforge.net). Von der Ausbildung her ist er zwar eher Physiker, er hat sich aber schon zur Schulzeit und während des Studiums viel mit Computerprogrammierung beschäftigt und seine Diplomarbeit lag mit einem Thema aus der medizinischen Bildverarbeitung im Überlappugnsbereich zwischen theoretischer Physik und Informatik. In den letzten Jahren hat er mehrere Vorträge auf dem LinuxTag und der EuroPython Konferenz gehalten.

Vortragsunterlagen

 
Impressum // © 2004 LinuxTag e.V.