cITeco

Hauptsächlich Höhlen, IT und Umwelt, aber auch eventuell anderes.
Wenden Sie sich bei Problemen einfach an die Beschwerdestelle in Raum 3b.

20.10.06

Digest: IT

IT-Relevantes gibt es natürlich immer viel im Netz zu finden, deswegen gleich die erste Warnung: momentan hat es mir die Agile Softwareentwicklung besonders angetan. Dabei geht es --- grob gesagt --- darum, sich von starren Entwurfsprozessen und -modellen zu lösen, und trotzdem (andere sagen: deswegen) gute Software zu produzieren. Also werden meine Links und Berichte dazu eher in dieser Ecke angesiedelt sein.

Die Firma Bitscribe bietet im Themenfeld Agiler Entwicklung angesiedelte Screencasts an. In den Beispielen wird dort Python verwendet (eine Sprache, die ich auch unbedingt nochmal lernen muss!), aber das ist ja für den geneigten Programmierer recht egal. Vorallem das Prinzip des "Atomic Coding" finde ich im Screencast gut angesprochen. Dabei geht es darum, seine Commit-Zyklen möglichst kurz zu halten, und kleine, atomare Änderungen durchzuführen.

In unserer Projektgruppe an der Uni entwickeln wir eine Standalone-Anwendung im Bereich Umweltmodellierung mit Java. Dabei benutzen wir einige sehr hilfreiche Werkzeuge, die ich im Folgenden kurz erläutern möchte.

  • TRAC ist ein webbasiertes Projektmanagement-Tool mit Wiki, Bugtracker und SVN-Browser. Besonders die guten Link-Möglichkeiten zwischen diesen Komponenten machen TRAC toll, beispielsweise kann man in Kommentaren zu Tickets (oder SVN-Logeinträgen) direkt auf das entsprechende SVN changeset linken, mit dem der Bug gefixt ist. Schwer zu erklären, daher kann ich die Demo-Seite von TRAC empfehlen.

  • Der Buildbot ist ein Programm, das automatisch nach einem commit Aktionen durchführen kann. Bei uns laufen momentan zwei Buildslaves, einer auf dem Solaris-Server (kompilieren & die nichtgrafischen Testfälle) und einer auf einem Linux-Rechner (kann auch die grafischen Tests). Geplant ist, auch noch einen auf Windows aufzusetzen.
    Durch dieses automatische Überprüfen der Kompilierfähigkeit der Sourcen (inklusive der automatischen "Es lässt sich nicht kompilieren, und ist schuld!"-Mails) ist quasi sichergestellt, das sich das Projekt zu jeden Zeitpunkt aus dem Repository neu und korrekt (im Sinne von "alle Testfälle sind erfolgreich") bauen lässt.

  • Als Tool zum Visualisieren der Testüberdeckung benutzen wir Cobertura, das die Testüberdeckung dann schön als HTML-Seiten in einem an das standard-Javadoc-Design angelehnten Layout anzeigt. Sieht schick aus und dient dazu, notorisch ungetestete Funktionalität aufzuspüren. Dabei ist unser Ziel nicht, überall 100% abgedeckt zu haben, sondern die Kernfunktionalität gut und alles Andere "recht gut" abgedeckt zu haben.

Labels: