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

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

TDD over BDD why and how XP meetup Johannes Brodwall, Programming artist Steria Norway.
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
PUG Norway – 12. nov 09Thomas Skjørten / Jan Kolstad.
Object - embed  Flash. Object - embed  QuickTime/mpeg 4 progressive nedlesning.
Uke 8 - Mer om: Objekter, klasser og pekere
Unit testing Gruppe 2: Kjartan Haugen Jon Gunnar Bjørkmo
Testene koster mer enn de smaker? Ole Morten Amundsen
Akseptanse-test drevet regelutvikling hos NAV i eResept programmet Anders Vindvad fra Steria AS.
Behaviour Driven Development, Steg 1: - Ikke tenk som en utvikler Jan Fredrik Stoveland , Smidig 2009.
1 Litt om OO og programmering Arne Maus. 2 OO og Java (og C++, C#)  Arven fra Simula  Programstruktur i Java  Generering av objekter  Beskyttelse.
Tjenestebasert design med dynamiske proxyer og Spring Bjørn Vidar Bøe, JavaZone 2005.
Om smidig brukerkommunikasjon Smidig 2011 Johannes Brodwall Steria Norway.
NAF-Data A/S Dynamics & Empowerment l Kort presentasjon av eBestilling-konseptet l Hvorfor Dynamics? l Hvorfor Empowerment? l Erfaringer med Empowerment.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Objektorientert programmering i PHP del 2
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
IS-102 Klassedefinisjoner
Eiendomregister mars 2002 Arne Maus. import java.util.*; import inf101.*; /* Klasse med main() som starter hele programmet */ class EiendomsregisterMain.
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
Bakgrunn. Funksjoner. Nøkkelfunksjoner. Application Manager. View Controller. Validation. Dialog Manager. Clay. Tiger extensions.
C# for javaprogrammerere
En gang til!? .
Web-applikasjoner Prosjekt3 Logging Gruppe 9 Malik Muhammad Naeem Kevan Qureshi.
Elektronisk tinglysing i fast eiendom og boretter
Introduksjon til Java 5.0. Hva er nytt i 5.0? Generiske typer For-løkke med iterator (for-hver løkke) Automatisk innpakking av primitive typer Metadata.
Kap 05 Abstrakte datastrukturer. Arv - Implementering Interface / Abstrakte klasser / Konkrete klasser Concrete classAbstract class Interface extends.
Konfigurasjon - Kjekt å ha du får sikkert ikke bruk for det en vakker dag Anders Karlsen Steria.
  © Steria FitNesse som nyttig verktøy Smidig FitNesse som nyttig verktøy Anders Vindvad.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Objektorientert programmering
Step 1: “State-of-the-art” Knowledge data base Step 2: Framework definitions Step 3: Project analysis Step 4: User requirements and priorities Step 7:
Høgskolen i Oslo Webprogrammering Filbehandling i PHP.
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Velkommen til Faglig Forum! :-). Problemstilling For lang feedbackloop under utvikling når man skal bygge og starte vortex og klikke seg fram til riktig.
Implementering av caching ved hjelp av Spring Christian Vestøl
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Java 11 Programmering med og uten objekter: hva er forskjellen?
Løsningsforslag til MOFScript oppgave. Metamodellen.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Innsamling av ekstremt sensitive data til forskning
Youtube på topphandball.no. Hva trenger du? en youtubekanal, f eks videoer lastet opp til.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
Indledende Datalogi /kelk 1 Need to know Løkker Klasser, instanser og Objekter Hvorfor objektorientering? Scope – hvor erklæres en variabel? ”Access Modifiers”
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
Android Programmering 10 timers kurs. Forutsetninger Noe bakgrunn i Java eller et annet objektorientert språk Litt peiling på XML Vi bruker Windows 7.
Quiz – Uge 4 – mandag – første time
Triks Avslutt alle klasser, metoder og løkker samtidig som du lager dem. Deklarer alle variablene/referansene på begynnelsen av klassen. Hvis du definerer.
MBN, USSD og stjerne/firkant koder 15.mai Kåre Aunan
v/Bård H.M. Jakobsen GT/SAPP/USIT, UiO
Kontrakt - Iterasjon 0 F.o.m , demo Oppgave
IS-102 Interaksjon med objekter
Having a crack at a new stack
BilSalg klassedatastruktur Bil klassedatastruktur
Eric Jul PSE Inst. for informatikk
BilSalg klassedatastruktur Bil klassedatastruktur
Quiz – Uge 4 – mandag – første time
Sensorveiledninger på MN
Utskrift av presentasjonen:

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

© Steria | 05/ Fitnesse i PDMTp2 Agenda Kort om Politiets data- og materielltjeneste (PDMT) Test av en saksbehandlingsløsning med Fitnesse Sidestruktur Hva har vi lært?

© Steria | 05/ Fitnesse 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)

© Steria | 05/ Fitnesse 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

© Steria | 05/ Fitnesse 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

© Steria | 05/ Fitnesse 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!

© Steria | 05/ Fitnesse i PDMTp7 Eksempel på DoFixture

© Steria | 05/ Fitnesse 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); }

© Steria | 05/ Fitnesse 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”

© Steria | 05/ Fitnesse i PDMTp10 Eksempel på SuiteSetUp

© Steria | 05/ Fitnesse 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(); }

© Steria | 05/ Fitnesse 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

© Steria | 05/ Fitnesse 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

© Steria | 05/ Fitnesse 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!

© Steria | 05/ Fitnesse i PDMTp15 Takk for meg Spørsmål? Mail: