Die Produktion großer Systeme erfordert in der Regel mehr als nur die Kompilierung durch eine IDE. Ab einer gewissen Anzahl von LOCs ist dieses durch eine IDE auch gar nicht mehr zu bewerkstelligen, so dass zwangsläufig nur die benötigten Teile aus dem Source Code Management System ausgecheckt werden. Hierbei kann es passieren das verschiedene Entwickler verschiedene Stellen in der Codebasis dermaßen ändern, dass der Code zwar möglicherweise sich in der eigenen IDE kompilieren lässt, spätestens jedoch bei der Produktion des Gesamtsystems es zu Fehlern kommt.
Um solche Probleme möglichst früh zu erkennen sollten Systeme kontinuierlich produziert werden. Hierfür stehen eine Reihe vorgefertigter Produkte zur Verfügung die man als CI Server bezeichnet.
Erfolgreich produzierte Komponenten eines Systems sagen jedoch weder etwas über deren Defektfreiheit noch über ihr Zusammenspiel mit anderen Komponenten des Systems aus. Dafür werden Testfälle benötigt die die Funktionalität der einzelnen Komponenten und deren Migration in das System testen.
Hierfür stehen je nach Programmiersprache diverse Frameworks bereit die es erlauben schnelle Tests für Komponenten in Isolation zu schreiben. Desweiteren wurden speziell für Saros Testframeworks entwickelt mit deren Hilfe es möglich ist Migrationstests zu schreiben.
Durch diese Unterstützung ist es möglich testgetriebenen Entwicklung zu betreiben. Hierbei werden zuerst die Tests für eine Spezifikation geschrieben und im Anschluss wird diese durch die Unterstützung der im Vorfeld geschriebenen Tests implementiert.
Installation und Einführung eines Continuous Integration Server in den Saros Entwicklungsprozess.
Automatisierte Regression der JUNIT und STF Tests sowie eine Unterstützung für die Testlink Datenbank zur automatischen Ausführen von Testfällen im aktuellen Testplan.
Erzeugung von diversen Metriken z.B Code Coverage und statische Code Analyse.
Verbesserung der Code Coverage und erstellen neuer Testfälle für die Saros Funktionalität.
Milestone no. | Past | CW | Goals | accomplished | |
---|---|---|---|---|---|
1 | - | CW 21 | refactor the package layout for STF and test cases | accomplished | |
2 | - | CW 22 | setup eclipse1 and eclipse 2 | accomplished | |
2 | - | CW 22 | undeploy hudson and deploy jenkins to tomcat | accomplished | |
3 | - | CW 23 | run STF via Jenkins | accomplished | |
3 | - | CW 24 | script polishing for STF runs via Jenkins | in progress | |
4 | - | CW 24 | creation of presentation slides | in progress | |
5 | - | CW 24 | integration of Testlink into CI | in progress | |
6 | - | CW 24 | scripts and Jenkins jobs polishing | in progress |