1 / 15

Fitnesse i PDMT

Fitnesse i PDMT. 05. mai 2008 Finn-Robert Kristensen Systemarkitekt. Agenda. Kort om Politiets data- og materielltjeneste (PDMT) Test av en saksbehandlingsløsning med Fitnesse Sidestruktur Hva har vi lært?. Kort om PDMT. Utvikler nye tjenester og systemer for Politiet

ban
Download Presentation

Fitnesse i PDMT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Agenda • Kort om Politiets data- og materielltjeneste (PDMT) • Test av en saksbehandlingsløsning med Fitnesse • Sidestruktur • Hva har vi lært? Fitnesse i PDMT

  3. 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) Fitnesse i PDMT

  4. Test av en saksbehandlingsløsning med Fitnesse • Virksomhetskritisk applikasjon • Mange regler • Mange forskjellige arbeidsflyter som skal følges • Mange roller og systemer involvert Fitnesse i PDMT

  5. 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 Fitnesse i PDMT

  6. Test av arbeidsflyt (2/2) • Til dette bruker vi DoFixture • Gjør det enkelt å ha kontroll på state • Perfekt for testing av arbeidsflyter! Fitnesse i PDMT

  7. Eksempel på DoFixture Fitnesse i PDMT

  8. 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); • } • } Fitnesse i PDMT

  9. Konfigurasjon • SuiteFixture • Definer en .SuiteSetUp side • Genialt til å sette opp spring, hibernate • Kjøres en gang • Enkelt å styre runtime parametere • Fungerer som ”en DoFixture” Fitnesse i PDMT

  10. Eksempel på SuiteSetUp Fitnesse i PDMT

  11. 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(); • } • } Fitnesse i PDMT

  12. 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 Fitnesse i PDMT

  13. 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 Fitnesse i PDMT

  14. 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! Fitnesse i PDMT

  15. Takk for meg • Spørsmål? • Mail: frk@steria.no Fitnesse i PDMT

More Related