Foto av Annica Sunnman

FitNesse - inte bara ett testverktyg

// Annica Sunnman

Jag har byggt en J2EE applikation med Spring och använder Quartz för att schemalägga jobb som överför data mellan olika databaser. Datat kommer från en mängd olika källsystem. Spring har en hyffsad lättviktig integration med Quartz, men det tillkommer ju alltid konfiguration som kan göra det hela komplext. För J2EE applikationen har jag satt upp en automatiserad testmiljö med FitNesse för att kunna se att jobben levererar datat på korrekt sätt.

Jag håller nu på med överlämning av J2EE applikationen i projektet och min ursprungstanke var att lämna FitNesse därhän vid överlämning och koncentrera mig på att överlämna befintliga jobb. Dels för jag trodde att komplexitet skulle öka avsevärt samt att det var tillräckligt med annat att överlämna. Men vid närmare eftertanke så har det istället blivit ett utmärkt verktyg vid överlämning. Det har blivit enklare att visa alla jobben som ingår i J2EE applikationen men jag har också tydligare kunnat visa olika typer av leveranser från olika system och hur dessa uppdateringar påverkar befintligt data.

Med användning av FitNesse och en egen så kallad Fixture kan man där skapa upp de tester man behöver och köra igång ett jobb som överför data. Man får ett komplett integrationstest på hela leveransen vilket är svårt att skriva med hjälp av JUnit. FitNesse gör en komplett leverans, där man sedan kan validera att leveransen har uppdaterat och insertat datat som det skall. Det blir oerhört tydligt vad som förväntas och vad resultatet blir.

Nästa steg i överlämningen är dessutom att implementera nya jobb. Då kommer FitNesse återigen in som ett bra test att alla har förstått kraven på jobben, förväntningarna på leveranserna stämmer väl överens med kravspecen. Dessutom får utvecklarna en förståelse av vad som behövs i implementationen för att kunna köra jobbet. Jag tror verkligen att det kommer bli ett väldigt bra verktyg framöver för att kontrollera så att man inte har ändrat i redan befintliga jobb och att man har tänkt rätt vid implementationen.

Kommentarer