|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # Programmieren 3
-
- ## Assignment "TDD Einführung"
-
- ### Ausgangssituation
-
- #### Test Driven Development (TDD)
-
- Bei TDD gilt die Regel: Produktivcode darf erst geschrieben werden, wenn
- ein Test vorliegt, der scheitert. Und auch dann soll nur gerade so
- viel Code geschrieben werden, um den Testfall (und alle anderen Tests)
- erfolgreich ausführen zu können.
-
- #### Struktur des Assignments
-
- Das Assignment besteht aus zwei Java-Klassen:
-
- - <code>TriangleChecker</code> enthält den Produktivcode
- - <code>TriangleCheckerTest</code> enthält die Tests
-
- Mit Hilfe von TDD soll insbesondere die Methode
-
- <code>
- checkTriangle(float a, float b, float c)
- </code>
-
- entwickelt werden. Diese Methode hat die Aufgabe, anhand
- der übergebenen drei Seitenlängen zu entscheiden, ob es
- sich um ein normales, ein gleichschenkliges, ein
- gleichseitiges oder gar kein Dreieck handelt.
-
-
- ### Aufgabenstellung
-
- #### Normales Dreieck
-
- Mit dem Assignment kommt ein erster Testfall,
- der überprüft, ob ein normales Dreieck richtig erkannt
- wird. Sorgen Sie dafür, dass der Testfall nicht mehr scheitert.
- Achten Sie darauf, dass Sie nicht mehr implementieren, als
- zur Lösung dieses Testfalls notwendig ist. Weitere
- Fälle müssen noch nicht erkannt werden.
-
- #### Gleichseitiges Dreieck
-
- Erstellen Sie nun einen Testfall, der überprüft,
- ob ein gleichseitiges Dreieck erkannt wird.
- Da Sie bisher nur normale Dreiecke identifizieren,
- wird dieser Testfall zunächst scheitern.
-
- Nehmen Sie nun minimale Änderungen am Produktivcode vor,
- so dass beide Testfälle fehlerfrei ausgeführt werden.
-
- #### Kein Dreieck
-
- Es gibt Zahlenkombinationen, die nicht zu einem
- Dreieck passen (z.B. negative Zahlen oder
- eine überlange Seite, so dass die anderen beiden
- Seiten das Dreieck nicht abschließen können).
-
- Erstellen Sie jeweils eigene Testfälle für diese
- Art von Zahlenkombinationen. Das sind mindestens
- 6 weitere Testfälle (warum?).
-
- Korrigieren Sie anschließend den Produktivcode,
- so dass alle Tests durchlaufen.
-
- #### Gleichschenkliges Dreieck
-
- Schließlich sollen noch gleichschenklige Dreiecke
- erkannt werden. Dabei soll die
- Methode stets die genaueste Information
- zurückliefern, d.h.
- - bei einem gleichseitigen Dreieck *EQUILATERAL*, auch wenn
- ein gleichseitiges Dreieck natürlich auch gleichschenklig
- ist.
- - bei einem gleichschenkligem Dreieck *ISOSCELES*, auch wenn
- ein gleichschenkliges Dreieck natürlich auch ein
- normales Dreieck ist.
-
- Verwenden Sie auch hier die TDD-Vorgehensweise.
|