Inhalt | Abbildung | Source | Projektmanagement | |||
|< | < | * | >| | Generated by CoCoDiL |
* JUnit ist das zentrale Tools für Unittests. Auf der Homepage von JUnit sind eine Vielzahl von Artikel über TestFirst Programming und viele zusätzliche Tools, die Junit ergänzen.
* JDepend ist ein kostenlosses Tool das Java Source Code auf PaketEbene analysiert. Es misst die Abhängigkeiten zwischen Paketen und erkennt auch zyklische Abhängigkeiten.
Tools die den Source Code analysieren, sind eine gute Ergänzung zu manueller Codeinspektion. Beide Arten von Codeinspektionen können sich aber gegenseitig nicht ersetzen.
Das Ergebnis von automatisierten Codekritiken können Akzeptanzkriterien sein, und dies kann direkt in einem Vertrag hineingeschrieben werden. Allerding muss man einige Toleranzen offen halten. Nicht jede Kritik die ein Code Analyse Tool findet ist berechtigt, in einigen seltenen Fällen ist es auch sinnvoll bewusst gegen typische Regeln zu vertossen.
Wir können Code-Qualität garantieren und mit diesen Tools messbar nachweisen
In Java gibt es viele kommerzielle (und teure) Tools die den Source Code analysieren. Falls der Kunde diese besitzt und zur Verfügung stellt, sollten wir sie nutzen.
Inzwischen gibt es auch erste OpenSource Tools:
Auszug aus der Beschreibung:
PMD scans Java source code and looks for potential problems like:
PMD gibt es unter anderem fuer Eclipse, Forte und JBuilder
CPD ist ein Copy Paste Detector und baut auf PMD auf. Er sucht im Java Code nach identischen Code (fragmenten).
Eine Coverage Analyse gibt Hinweise auf Vollständigkeit der Tests. Eine Coverage Analyse protokolliert welcher Code bei einem Test mindestens einmal bzw. nie durchlaufen wurde.
Eine Coverage Analyse hilft toten Code und Lücken in den Tests zu finden. Man beachte daß 100% Testabdeckung noch keine Garantie für die Korrektheit des Programms gibt:
Test State Coverage, Not Code Coverage
int test( int a, int b){ return a / (a + b); }
In der XP-Community wird häufig * Clover empfohlen. Es ist leider nicht mehr Open Source. Das Preis, Leistungsverhältnis soll aber sehr gut sein.
Die Einsatzmöglichkeiten von * Clover beschreibt auch ein deutschsprachiger * Artikel der Firma * OIO
Ein anderer Weg geht * Jester . * Jester ändert einfach den Code und lässt alle Tests durchlaufen. Wenn immer noch alle Tests korrekt durchlaufen, wird der Teil des Codes den * Jester geändert hat nicht abgedeckt. * Jester ist Open Source
Das bekannteste ist sicherlich * CVS. Es lässt sich auch direkt in Eclipse einbinden.
Ziel einer Fehlerdatenbank:
Tool - Vorschlag:
Inhalt | Abbildung | Source | Projektmanagement | |||
|< | < | * | >| | Generated by CoCoDiL |