Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Fitnesse i PDMT 05. mai 2008 Finn-Robert Kristensen Systemarkitekt.

Liknende presentasjoner


Presentasjon om: "Fitnesse i PDMT 05. mai 2008 Finn-Robert Kristensen Systemarkitekt."— Utskrift av presentasjonen:

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


Laste ned ppt "Fitnesse i PDMT 05. mai 2008 Finn-Robert Kristensen Systemarkitekt."

Liknende presentasjoner


Annonser fra Google