Testdriven utveckling (TDD) i Java

2 dagar

- I samarbete med Omegapoint -

 

Testdriven utveckling har blivit en naturlig del av agila rörelsen på samma nivå som Scrum, Domain-Driven Design och Continuous Integration. För team som arbetar agilt är TDD det steg som kan lyfta arbetet till nästa nivå i kvalitet och produktivitet. Genom att sätta kvalitetsarbetet först i arbetsgången blir alla senare steg effektivare och roligare. För ett agilt team av utvecklare finns det idag inget alternativ om man vill leverera i högt tempo med hög kvalitet. I denna labbintensiva kurs belyser vi testdriven utveckling ur flera olika perspektiv. Målet är att ge deltagarna såväl teoretisk kunskap, som praktisk vana av testdriven utveckling. Detta är framför allt viktigt för att kunna dra nytta av de positiva effekter på kvalitet, ledtider och produktivitet som metoden ger. Kursen visar också hur testdriven utveckling passar in i ”den agila familjen” och relaterar till exempelvis Domain-Driven Design, Scrum eller Behaviour-Driven Development

Förkunskaper och mål

Kursen vänder sig till erfarna utvecklare som vill lära sig om testdriven utveckling. Vi förutsätter att du har erfarenhet av Java och att du dagligen arbetar med kod och utveckling.

Efter kursen kan du:

• Förstå hur testdriven utveckling skiljer sig från traditionell arbetsgång
• Beskriva enhetstesters roll i utvecklingsarbetet och i TDD
• Motivera hur testdriven utveckling främjar kvalitet
• Redogöra för hur man påbörjar TDD-arbete i legacy-miljö
• Arbeta med enhetstester i Eclipse
• Designa för testbarhet

Pris: 14 500 kr (exkl. moms)

Presentation av kursmaterial
Bild på kursboken

Utförligt kursmaterial i form av boken ”Test Driven: TDD and Acceptance TDD for Java Developers” och kurspärm med alla presentationer, ingår i kursen.

Presentation av kursansvarig
<p>Dan Bergh Johnsson</p>
<p>Dan från Omegapoint är rutinerad utvecklare och arkitekt med gedigen erfarenhet av agila arbetssätt. TDD har under lång tid varit det naturliga arbetssättet för honom. Dessutom brinner han för att sprida dessa idéer. Dan är medförfattare till O’Reillys antologi ’97 Things Every Programmer Should Know’, uppskattad bloggare och föreläser ofta på konferenser. Han har även vid två tillfällen lyfts fram av Computer Sweden på deras lista över Sveriges bästa utvecklare (plats 25 resp 45).</p>

Dan Bergh Johnsson

Dan från Omegapoint är rutinerad utvecklare och arkitekt med gedigen erfarenhet av agila arbetssätt. TDD har under lång tid varit det naturliga arbetssättet för honom. Dessutom brinner han för att sprida dessa idéer. Dan är medförfattare till O’Reillys antologi ’97 Things Every Programmer Should Know’, uppskattad bloggare och föreläser ofta på konferenser. Han har även vid två tillfällen lyfts fram av Computer Sweden på deras lista över Sveriges bästa utvecklare (plats 25 resp 45).

Enhetstester

  • Ramverket JUnit 4.x
  • Stödet för JUnit 4 i Eclipse alt IntelliJ IDEA
  • Jämförelse med andra typer av tester
  • Lämplig struktur och namngivning för enhetstester

Grunderna i TDD

  • Idén bakom TDD, speciellt ”test först”
  • Given-Then-When och kopplingen till user stories och scenarios
  • Kvalitetsvinster med TDD
  • Red/green/refactor-cykeln

Arbetsgången i TDD

  • Sätt att identifiera lämpliga enhetstester för TDD
  • Smallest bite och hur man bryter ned större tester i lagom bitar
  • Red/green/refactor-cykeln på djupet

Design för testbarhet

  • Objektorienterad design med fokus på test
  • Interaktionstester
  • Mockning som koncept i teori och praktik
  • Dependency Injection

Legacy

  • Skriva tester mot existerande kodbas
  • Hur man börjar arbeta testdrivet