Home General Staff Contact Partners Alumni Research Areas Projects Papers Books Reports Awards Teaching Lectures Exams B.Theses M.Theses PhD Theses Go Abroad Misc Talks Library Gallery Links Search Webmaster |
Testen von Softwaresystemen
Termine
Zuerst ein WitzMan erzählt einem Mathematiker, einem Physiker und einem
Techniker: "Alle ungeraden Zahlen sind Primzahlen." Zielsetzung der LehrveranstaltungIn Anwendungsentwicklungsprojekten kann man vieles falsch oder richtig machen.Erfolgreiche Teams und Experten geben die folgenden Tipps (von einfach bis schwer): 1. Verwende ein "Source Code Control System" (z.B. CVS). 2. Führe Reviews durch, bevor du Code eincheckst (z.B. durch Pair Programming oder Code Reviews). 3. Checke zumindest täglich ein (auch wenn das zu Problemen beim "Build" führt). 4. Führe tägliche "Builds" durch. 5. Mache Unit-Tests 6. Automatisiere die Ausführung der Unit-Tests (z.B. mit Junit) 7. Lasse dich bei der Entwicklung durch automatisierte Unit-Tests treiben (d.h. Test-Driven Development) 8. Führe "Builds" kontinuierlich durch (nach jedem Check-In, mit Ausführung der Unit-Tests, z.B. mit CruiseControl) 9. Lasse dich bei der Entwicklung durch automatisierte Akzeptanztests treiben (d.h. nach jedem Check-In auch Ausführung der Akzeptanztests; z.B. mit FIT und FitNesse) 10. Refaktoriere das System Alle diese Tipps werden in der Lehrveranstaltung angesprochen, viele davon (2, 4-9) explizit und ausführlich behandelt, es wird aus Projekterfahrung heraus motiviert, warum die einzelnen Punkte wichtig sind, was sich theoretisch dahinter versteckt und wie man es praktisch macht (auch mit aktuellen Werkzeugen). Aufbau der LehrveranstaltungDiese Lehrveranstaltung wird sehr
praxisbezogen
ablaufen. Der Hauptfokus liegt auf "Test-Driven Development".
Im Theorie-Teil werden folgende Themen behandelt:
Folgende Werkzeuge/Frameworks werden vorgestellt und (größtenteils) in den Übungen auch verwendet (in alphabetischer Reihenfolge): Ant, Clover, ConTest, CruiseControl, CVS, Eclipse, FIT, FitNesse, Jcoverage, Jmeter, Jmetric, Jtest, Junit, Maven Eine Fülle weiterer Werkzeuge/Frameworks wird angesprochen (speziell auch für .NET) UnterlagenVorträge:Vorträge.zipDemos während der LVA:Triangle - the Test-Driven Way.zipTriangle - with FitNesse.zip Triangle - with Continuous Integration.zip Bank Accounts - with ConTest.zip Hausübung:Homework Assignment Day 1.txtCreateExampleAcceptanceTest.pdf Homework Assignment Day 2.txt Homework Assignment Day 2b.txt PrüfungDie Note setzt sich aus Hausübungen, Mitarbeit und einer 45-minütigen Klausur über den theoretischen Teil zusammen. |