Nach Milestone 3 geht es nun direkt weiter mit den Arbeiten für die Requirements vom Milestone 4. Dazu haben wir uns an der letzten Sitzung zusammengesetzt und die noch zu erledigenden Arbeiten aufgeteilt. Dabei habe ich für bis diesen Dienstag mich in Unit Tests eingelesen, sowie den Highscore im GUI eingebunden und noch kleinere Arbeiten an den Settings vorgenommen. Zusätzlich habe ich auch die Fehler im Netzwerkprotokoll-Dokument korrigiert, damit dieses bereit ist für Milestone 5
Um die Qualität, sowie in der Zukunft eine Continuous Integration zu ermöglichen, werden wir Unit Tests für die wichtigsten Komponenten unseres Spieles brauchen. Die Wichtigsten Komponenten unseres Spieles, welche unbedingt funktionierende Unit Tests brauchen, sind die Netzwerk-Funktionalität, die Winning conditions und die Blockverifizierung im Multiplayer.
Ich habe mich in einem ersten Schritt in den Allgemeinen Aufbau von Unit Tests eingelesen, um grundsätzlich mal eine Ahnung zu haben, wie diese aufgebaut sind. Dazu habe ich JUnit in unserem build.gradle als neue dependency eingefügt und angefangen, eine Parallel-Struktur zu unserem Spiel aufzubauen. Weiter habe ich Mockito als externe Library hinzugefügt, um abstrakte Klassen zu testen.
Die Ersten Unit Tests sind nun auf meinem Branch und ich konnte mich schon gut in die Funktionsweise der Tests einlesen. Die Tests der Abstrakten Klassen bescheren mir noch ein paar Schwierigkeiten, da bei diesen jedes einzelne Feld spezifisch gemockt werden muss. Dadurch werden die Tests sehr umständlich und lange. Alles in allem konnte ich schon ein paar kleinere Fehler aus den Validierungsmethoden löschen und dadurch unseren Code bereinigen.
Beim letzten Milestone erhielten wir das Feedback, dass unser Netzwerkprotokoll-Dokument noch Unstimmigkeiten beinhaltet und dadurch nich einheitlich das Netzwerkprotokoll darstellt beziehungsweise beschreibt. Ich habe mich heute daran gesessen, diese Unstimmigkeiten zu bereinigen und das Dokument dadurch vorzubereiten für den Milestone 5. Allgemein gibt es ein Problem beim Netzwerkprotokoll-Dokument, dass nicht alle Gruppenmitglieder einheitlich gearbeitet haben. Natürlich ist dies nicht möglich, doch es erschwert die einheitlichkeiten des Dokumentes erheblich.
Ich habe mich nun entscheiden, das Dokument noch einmal durchzugehen und auf die Kritik der Tutoren einzugehen und diese umzusetzen.