Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse."—  Präsentation transkript:

1 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Klassendiagramme in Java implementieren 4. Methodenentwurf 5. Test-First Prinzip 6. Story Driven Modeling 7. Zusammenfassung

2 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 2 Motivation: rettet Prinz(essin) Ada Aufgabe: Dinge einsammeln

3 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 3 Methodenentwurf: 1. Beispiel auf Anwendungsebene anschauen 2. Beispiel in Objektdiagrammen / Story Boards modellieren 3. "Dreisprung": 1. generellen Kontrollfluss auf Anwendungsebene skizzieren 2. generelles Verhalten auf Objektebene skizzieren 3. allgemeines Verhalten programmieren 4. programmiertes Verhalten an Ausgangsbeispiel testen 5. programmiertes Verhalten an alternativen Beispielen testen

4 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 4 Top Down / Bottom Up/ Jojo / Iterativ m Top Down: l erst komplexe Methoden entwerfen l dabei Hilfsmethoden erfinden l dann Hilfsmethoden mit Hilfshilfsmethoden bauen usw. m Bottom Up l Erst Hilfshilfsmethoden bauen l dann damit Hilfsmethoden bauen l dann damit die komplexen

5 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 5 Top Down / Bottom Up/ Jojo / Iterativ m Jojo l ein bischen von oben ein bischen von unten m Iterativ l irgendwo anfangen l möglichst früh ausführbare Teile bauen l möglichst früh einzelne komplexe Methoden bauen l möglichst früh testen und praktisch einsetzen

6 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 6 5. Test-First Prinzip Test First aus dem eXtreme Programming: 1. als erstes Test bauen 2. Methode realisieren bis Test läuft 3. noch ein Test zu der Methode 4. Methode verfeinern bis Test läuft 5. wenn noch ein Szenario vorstellbar gehe zu 3. 6. sonst fertig

7 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 7 5. Test-First Prinzip Warum Test-First: m effizienteres Debuggen l reproduzierbare Programmläufe l schnelle Testwiederholung ohne manuelle Eingaben m Design for Test: l bei nachträgliches Testen fehlen oft wichtige Zugriffe auf Interna l dadurch schwerer l und am Ende fehlt immer die Zeit zum Testen m Stabilität für iteratives Vorgehen l fertige Funktionalität geht nicht wieder verloren l Sicherheit bei Änderungen / Erweiterungen l Wartungsfehler werden sofort entdeckt

8 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 8 5. Test-First Prinzip Warum Test-First: m iteratives Vorgehen führt meist zu robuster Kernfunktionalität m frühe Kundendemo / -nutzung von Teilfunktionalität aber m neue Funktionalität erfordert oft Änderung an alten Methoden m dadurch oft Fehler in Teilen die schon mal funktioniert haben Gegenmaßnahme m umfangreiche, gezielte, vollautomatische Tests für die einzelnen Funktionalitäten Effekt m hohe Sicherheit bei Änderungen

9 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 9 JUnit Tests m JUnit Rahmenwerk für flexible automatische Tests m Stand-alone GUI oder in IDE integriert m alle Tests, Testgruppen oder einzelne Tests ausführbar m Testprotokolle m Kombination mit Coverage Tool interessant (später)

10 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 10 Aufbau eines JUnit Tests für OO Programm: 1. Objektstruktur bauen 2. Zielfunktionalität / -methode aufrufen 3. Ergebnis prüfen 4. nächste Methode aufrufen 5. Ergebnis prüfen 6. usw.

11 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 11 Beispielabläufe mit Objektdiagrammen

12 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 12 Grafische Tests mit Fujaba Story Boards Story Board Notation: m Folge von Activities m Start Activity erzeugt Objekte m Methodenaufrufe m «system step» l Kommentare m «actor step» l vergleicht Ist/Soll l stößt neue Schritte an Code Generierung: m JUnit Test m Startobjekte erzeugen m Startobjekte merken m Aufrufe m Situation vergleichen

13 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 13 Grafische Tests mit Fujaba Story Boards class Scencario1Test { public Person prinz; public Raum r; public Tuer t1; … @Test public void scenario1 () { prinz = new Person (); r = new Raum (); prinz.setIn (r); t1 = new Tuer (); r.tueren.add (t1); … prinz.sammle…(); assertEquals (prinz.getIn (), r); assertTrue(r.tueren.contains(t1)); invent = prinz.hat; assertTrue(invent.enthaelt.contains(g1)) ; …


Herunterladen ppt "Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse."

Ähnliche Präsentationen


Google-Anzeigen