Unix WS15/16 Malte Heins (mhe) Helga Karafiat (kar)
Übersicht 5 Aufgaben Veröffentlichung jeweils auf der Webseite von Malte: (http://www.fh-wedel.de/~mhe/unix/) Ab Aufgabe 2 Bewertung mit automatisierten Tests (dabei wird der Anteil der bestandenen Tests in % als Qualität der Aufgabenlösung festgestellt) Gewichteter Durchschnitt der Aufgaben-Prozentwerte liefert Veranstaltungsergebnis: es müssen min. 80% erreicht werden Aufgabe 1 10% Aufgabe 2 15% Aufgaben 3-5 25% Seite2
Ablauf Aufgabenstellung gründlich bis zum Ende lesen, Implementierungsarbeiten planen, nicht sofort lostippen Möglichst früh und gründlich eigene Tests definieren Idealerweise Tests bereits vor Beginn der Codierungsarbeiten definieren, Programmteile jeweils unmittelbar nach Fertigstellung testen, usw. Eher ineffizient: Erst (augenscheinlich) fertiges Programm erstellen, dann mit Testen anfangen ("Qualität hinzufügen" statt sie von vornherein einzubauen) Bei Problemen Betreuung durch die jeweiligen Übungsverantwortlichen Aber: Keine Fragen der Form "Was müssen wir (noch) testen?" Sondern: "Wir testen ABC und erwarten XYZ, aber das Ergebnis istwuseldusel. Wir verstehen nach gründlichen eigenen Überlegungen nicht, wieso unser Programmcode nicht das erwartete macht." Also: Ohne Nachweis eigener (durchdachter) Tests keine Unterstützung Seite3
Servertest Ihr könnt jederzeit per Web-Interface einen Test eures Programms von unserem Testserver anfordern (min. 60 Minuten Abstand zwischen zwei Testaufrufen) Der Testserver arbeitet auf dem jeweils in SVN eingecheckten Stand eurer Lösung Als Antwort liefert der Server den momentanen Anteil der erfolgreichen Tests in % (sowie u.u. zusätzliche Hinweise zu speziellen Fehlersituationen) Unsere Tests sind nicht öffentlich: Ihr sollt selbst aus der Aufgabe geeignete Testfälle ableiten Eigene Tests erstellen Lösung erstellen Testen und Verbessern, bis eigener Test = 100% Servertest ausführen Server < 100% Server =100% Eigene Tests erweitern, bis < 100% Abnahme vorbereiten Seite4
Servertest (2) Am Ende der Bearbeitungszeit (siehe Terminplan) testet der Server alle Lösungen und hält den erreichten Prozentwert fest; es wird jeweils auf Fr. 8:00 ausgecheckt Identischer Test zu euren eigenen Testauslösungen, d.h. habt ihr einen Prozentwert erreicht und ändert euer Programm nicht mehr, so erhaltet ihr auch garantiert im endgültigen Test den entsprechenden Prozentwert Testfälle können im Protokoll des Testlaufs eingesehen werden Seite5
Abnahme Erfolgen im RZ zu den Terminen gemäß Vorlesungsplan und Terminplan Von uns bestimmte, wechselnde Abnahmereihenfolge und Zuordnung von Abnehmern zu Gruppen in den Veranstaltungen Abgabe ab Aufgabe 2 erfolgt an den Computern in der ersten Reihe des Rechenzentrums (die komplette erste Reihe bitte frei halten!) Die vom Testserver geprüfte Lösung wird betrachtet Gegenstand der Abnahme Anwesenheit (ab Beginn des Termins, d.h. ihr könnt jederzeit aufgerufen werden) Codequalität & Dokumentation: Einhaltung von Vorgaben der Aufgabenstellung, nach Ermessen des Abnehmers ebenso effiziente wie effektive Lösungsansätze, Beachtung von Konventionen der Übung wie z.b. Dokumentation, usw. Erläuterung des Programms: Beide Gruppenmitglieder müssen die Aufgabenstellung und die eigene Lösung samt Testfällen vollumfänglich erklären können Fachliche Hintergründe aus der Vorlesung werden vorausgesetzt Tipps und Verbesserungsvorschläge durch die Abnehmer Seite6
Abnahme (2) Normalfall: Bestätigung des Servertest-Ergebnisses Liegt keine Lösung oder kein Teilnehmer vor, erfolgt eine Bewertung mit 0% Bei Mängeln im Sinne von Untererfüllungen sind Abzüge von Prozentpunkten möglich (z.b. iterative Lösung, obwohl eine rekursive Lösung gefordert war) Bei irrtümlich erfüllten Tests(z.B. Test erfolgreich bei "leerer" Lösung) ebenfalls entsprechender Abzug von Prozentpunkten Kann ein Gruppenmitglied die Lösung nicht ausreichend erläutern, behalten wir uns vor, teilnehmerindividuelle Punktabzüge vorzunehmen und/oder die jeweilige Gruppe in zwei Einzelteilnehmer aufzuspalten Bewährungen bzw. Nachbesserungen bei stilistischen Mängeln: Bewährung: Nachbesserung zunächst nicht erforderlich. Bei Wiederholung wird auch für die ursprünglich beanstandete Aufgabe aus der Bewährung eine Nachbesserung Nachbesserung: Der bezeichnete Mangel ist bis zu einem vereinbarten Termin abzustellen. Verschlechtert sich durch die Nachbesserung das Testergebnis eurer Lösung (es werden weniger Tests bestanden), so ist erneut nachzubessern. (Solange noch eine Nachbesserung offen ist,geht die jeweilige Aufgabenicht in das Veranstaltungsergebnis ein und es erfolgt keine Testierung der Veranstaltung.) Seite7
Verhalten Bei den Abnahmeterminen herrscht Anwesenheitspflicht Absehbare Ausnahmen sind im Vorwege zu vereinbaren Bei Krankheit ist im Anschluss unverzüglich ein geeigneter Nachweis vorzulegen, es wird dann ein Ersatztermin vereinbart In Ordnung sind Gegenseitige Unterstützung(z.B. Newsgroup) Rechtzeitige Kommunikation mit uns bei Problemen Nicht in Ordnung sind Weitergabe von Programmcode (vollständig oder teilweise) -führt zum Ausschluss aller beteiligten Gruppen Den Gruppenpartner die Arbeit machen lassen -führt ggf. zu Punktabzug, zur Trennung der Gruppe oder zum Ausschluss eines Teilnehmers Unentschuldigte Abwesenheit - führt zur teilnehmerindividuellen Bewertung der jeweiligen Aufgabe mit 0% Die jeweilige Newsgroup nicht zu lesen Uns die Arbeit machen lassen Seite8
Sonstiges Fragen und Hilfestellungen Während der Vorstellung der Aufgaben im Hörsaal In der Newsgroup (fhw.unix) Während früherer Abgabetermine im RZ Zu anderen Zeiten im Büro In Ausnahmefällen auch per E-Mail Veranstaltungswebseite http://www.fh-wedel.de/~mhe/unix/index.html Testserver https://unix.fh-wedel.de:4434/fhw Seite9