Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link.

Ähnliche Präsentationen


Präsentation zum Thema: "Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link."—  Präsentation transkript:

1 Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link

2 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 2 Was bedeutet das? Synonyme: Synonyme: Test-First Development (TFD) Test-First Development (TFD) Test-Driven Development (TDD) Test-Driven Development (TDD) Programmierer schreibt Unit-Tests Programmierer schreibt Unit-Tests Kunde spezifiziert Akzeptanztests Kunde spezifiziert Akzeptanztests Keine Testtechnik sondern Festhalten der Spezifikation in Code Keine Testtechnik sondern Festhalten der Spezifikation in Code

3 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 3 Test/Code/Refactor grün rot Schreibe einen Test der fehlschlägt. Schreibe gegebenenfalls gerade soviel Code, dass der Test übersetzt werden kann. grün rot Schreibe einen Test der fehlschlägt. Schreibe gegebenenfalls gerade soviel Code, dass der Test übersetzt werden kann. rot grün Schreibe gerade soviel Code, dass alle Tests erfolgreich laufen. rot grün Schreibe gerade soviel Code, dass alle Tests erfolgreich laufen. grün grün Eliminiere Duplikationen und andere üble Gerüche im Code. grün grün Eliminiere Duplikationen und andere üble Gerüche im Code.

4 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 4 Zustandsdiagramm: Test- getriebene Entwicklung Zustandsdiagramm idealisiert Zustandsdiagramm idealisiert Testcode vor Anwendungscode Testcode vor Anwendungscode Kleine Schritte Kleine Schritte Inkrementelles Design Inkrementelles Design Grün (Alle Tests laufen) Rot (Mindestens ein Test scheitert) umstrukturieren Anwendungscode schreiben Testcode schreiben Keine Ideen für mehr Testcode

5 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 5 Umstrukturierung (Refactoring) A change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior. [Fowler 99] A change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior. [Fowler 99] Regressionstests stellen sicher, dass sich beobachtbares Verhalten nicht ändert. Regressionstests stellen sicher, dass sich beobachtbares Verhalten nicht ändert. Refactoring des Testcodes Anwendungscode als Test des Testcodes Refactoring des Testcodes Anwendungscode als Test des Testcodes Deshalb möglichst nie beides gleichzeitig ändern Deshalb möglichst nie beides gleichzeitig ändern Nicht immer möglich (z.B. Schnittstellenänderung) Nicht immer möglich (z.B. Schnittstellenänderung)

6 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 6 Ziel der Umstrukturierung Ziel ist eine einfache Form Ziel ist eine einfache Form Die einfache Form ist erreicht, wenn der Code… Die einfache Form ist erreicht, wenn der Code… alle seine Tests erfüllt. alle seine Tests erfüllt. vom Zielpublikum verstanden werden kann. vom Zielpublikum verstanden werden kann. jede Intention der Programmierer ausdrückt. jede Intention der Programmierer ausdrückt. keine duplizierte Logik enthält. keine duplizierte Logik enthält. möglichst wenig Klassen und Methoden umfasst. möglichst wenig Klassen und Methoden umfasst. Reihenfolge entscheidend! Reihenfolge entscheidend!

7 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 7 Referenzen Kent Beck Testdriven Development: By Example Addison-Wesley, 2002 Kent Beck Testdriven Development: By Example Addison-Wesley, 2002 Martin Fowler Refactoring Addison-Wesley, 1999 Martin Fowler Refactoring Addison-Wesley,


Herunterladen ppt "Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link."

Ähnliche Präsentationen


Google-Anzeigen