Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertAksel Gabrielsen Endret for 9 år siden
1
Fitnesse i PDMT 05. mai 2008 Finn-Robert Kristensen Systemarkitekt
2
© Steria | 05/05-2008Fitnesse i PDMTp2 Agenda Kort om Politiets data- og materielltjeneste (PDMT) Test av en saksbehandlingsløsning med Fitnesse Sidestruktur Hva har vi lært?
3
© Steria | 05/05-2008Fitnesse i PDMTp3 Kort om PDMT Utvikler nye tjenester og systemer for Politiet Et av Norges største prosjekter SIS II under arbeid Ny plattform og ny arkitektur (SOA)
4
© Steria | 05/05-2008Fitnesse i PDMTp4 Test av en saksbehandlingsløsning med Fitnesse Virksomhetskritisk applikasjon Mange regler Mange forskjellige arbeidsflyter som skal følges Mange roller og systemer involvert
5
© Steria | 05/05-2008Fitnesse i PDMTp5 Test av arbeidsflyt (1/2) Utgangspunkt i en user-story (suite) Tester skrives som scenarioer Arbeidsflyter kan ha forskjellige utfall Består av mange manuelle steg
6
© Steria | 05/05-2008Fitnesse i PDMTp6 Test av arbeidsflyt (2/2) Til dette bruker vi DoFixture Gjør det enkelt å ha kontroll på state Perfekt for testing av arbeidsflyter!
7
© Steria | 05/05-2008Fitnesse i PDMTp7 Eksempel på DoFixture
8
© Steria | 05/05-2008Fitnesse i PDMTp8 Kode for DoFixture import fitlibrary.DoFixture; public class MottaMeldingFixture extends DoFixture { private final MeldingService meldingService = new MeldingService(); private final SakService sakService = new SakService(); private long sakId; public void mottaMelding(String pathToXml) { sakId = meldingService.opprett(pathToXml); } public Sak getSak() { return sakService.hentSak(sakId); } public Arbeidsflyt getArbeidsflyt() { return sakService.hentArbeidsflytForSak(sakId); }
9
© Steria | 05/05-2008Fitnesse i PDMTp9 Konfigurasjon SuiteFixture Definer en.SuiteSetUp side Genialt til å sette opp spring, hibernate Kjøres en gang Enkelt å styre runtime parametere Fungerer som ”en DoFixture”
10
© Steria | 05/05-2008Fitnesse i PDMTp10 Eksempel på SuiteSetUp
11
© Steria | 05/05-2008Fitnesse i PDMTp11 Kode for SuiteFixture import fit.Fixture; import fitlibrary.suite.SuiteFixture; public class SisSuiteSetupFixture extends SuiteFixture { public void datasourceUrl(String url) { System.setProperty("datasource.url", url); } public Fixture mottaMelding() { return new MottaMeldingFixture(); }
12
© Steria | 05/05-2008Fitnesse i PDMTp12 Sidestruktur (1/2) Hvert prosjekt har en hovedside Utvikler spesifikke settings Utvikler har kopi av server (wiki import) Delt opp i to konfigurasjoner Stabil konfigurasjon Utviklingskonfigurasjon
13
© Steria | 05/05-2008Fitnesse i PDMTp13 Sidestruktur (2/2) Under stabil konfigurasjon: Alle tester Inneholder alle suiter og tester Inndelt i suiter på ”epic” nivå Ferdige tester Symbolske lenker til ”Alle tester” Tester som er ok og venter på å bli godkjent Bruker keywords Godkjente tester
14
© Steria | 05/05-2008Fitnesse i PDMTp14 Hva har vi lært? Test gjennom tjeneste-laget Gjenbruk testdata med bruk av includes Lag egne testdata sider Mock eksterne tjenester/systemer Kjør testene regelmessig!
15
© Steria | 05/05-2008Fitnesse i PDMTp15 Takk for meg Spørsmål? Mail: frk@steria.no
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.