I samarbete med Codemanship Ltd är vi stolta över att presentera denna kurs som är utformad som en praktisk workshop. Den täcker de viktigaste delarna av testdriven utveckling (TDD), en viktig utvecklingsdisciplin, och ger maximal möjlighet att träna på egen hand.

Som deltagare lära du dig om TDD-processen, om goda vanor som gör TDD effektivare och mer hållbart, och om hur man refaktorerar  kod för att eliminera kvalitetsproblem. Allt för att göra kontinuerlig utveckling lättare.

Kursens övningar är utformade för att vara tillräckligt utmanande, utan att vara för svåra för att hinna slutföra under kursen. Du väljer själv i vilket objektorienterat programmeringsspråk du gör övningarna. Du arbetar företrädesvis i par med en annan deltagare.

För att köra alla övningar under kursen måste du ta med din egen bärbara dator med lämpligt IDE, verktyg för Unit Test och ramverk för Mock Objects som passar  till ditt valda objektorienterade språk. På det viset får du praktisk erfarenhet av TDD i den utvecklingsmiljö du använder till vardags.

Du kan välja att gå två dagar eller ytterligare en för att få ännu mer omfattande träning.

Ur innehållet

Dag 1

  • Why Do TDD?
    • Building the right thing
    • Keeping the design simple
    • Making code easy to change
    • Software that always works
    • Sustaining the pace
    • Reliability vs. Productivity
  • Introduction to TDD
    • Red-Green-Refactor
    • The Golden Rule
  • Working Backwards from Assertions
  • Testing Your Tests
    • Fluent Assertions
  • One Reason To Fail
  • Writing Self-Explanatory Tests
    • Choosing good test names
    • Naming test data
    • From examples to rules
  • Speaking The Customer’s Language
    • Requirements word clouds
    • Conceptual correlation
  • Triangulating Designs
    • Triangulation patterns
    • Obvious implementation & TDD ”gears”
  • Refactoring
    • Code smells
    • Design clues in code duplication
    • The refactoring discipline
  • Design Principles
    • Simple design
      • Make it work
      • Make it readable
      • D.R.Y.
      • Simple parts
    • Tell, don’t ask
      • Feature envy
    • S.O.L.I.D.

Dag 2

  • Test Doubles
    • Stubs
    • Mocks
    • Dummies
    • Dependency inversion
    • Dependency injection
  • TDD with External Dependencies
  • TDD with the Customer
    • Specification By Example
    • ATDD & BDD
    • User Stories
    • Test completeness & test scope
    • Tests we didn’t think of
    • Definitions of ”done”
    • Vertical slicing
    • Executable specifications
  • Driving Design from Customer Tests
    • Starting with a failing customer test
    • Outside-in TDD
    • Identifying the work
    • Identifying the data
    • Assigning object responsibilities
    • ”Wiring” objects together with collaborations
    • Classic TDD vs ”London” School

Dag 3

  • The Testing Pyramid
    • System tests
    • Integration tests
    • Unit tests
    • Optimising test execution
  • TDD & Continuous Delivery
    • Continuous Integration
    • The check-in ”dance”
    • Trunk-based development
      • Feature toggles vs Feature branches
  • TDD & Legacy Code
    • What makes code ”legacy”
    • Change points
    • Inflection points
    • Breaking dependancies
    • The Boy Scout rule
  • Mastering TDD
    • Why some teams fail at TDD
    • Building habits
    • Under the radar
    • Under-promising & over delivering
    • TDD adoption timescales
  •  Beyond TDD
    • Data-driven & property-based tests
    • “Load-bearing” code
    • Mutation testing
    • Test-driving the “untestable”
    • Non-functional TDD
    • Clean Code & Continuous Inspection

Målgrupp

Utbildningen passar dig som behärskar grunderna i objektorienterad programmering, och som vill komma igång med ett testdrivet arbetssätt, och samtidigt fördjupa dig inom objektorienterad design och hantering av legacykod.

Förkunskaper

  • Du behöver vara bekant med det programmeringsspråk du väljer att jobba med
  • Du behöver kunna de grundläggande funktionerna i de verktyg du väljer att använda (IDE, Unit Test och Mock Object Framework)

I priset ingår

  • Jason Gormans exklusiva 222-sidiga bok, som täcker allt i kursen, samt ger ytterligare fördjupning och extra övningar att arbeta med på egen hand
  • Lunch och fika under kursdagarna

Kalendarium kommande tillfällen

Karlskrona

Datum och tid

2019-06-11 - 2019-06-13, kl. 09:00 - 17:00

Plats

Softhouse Consulting: Campus Gräsvik 3A, 371 75 Karlskrona

Språk

Engelska

Föreläsare

  • Jason Gorman

    Grundare av Codemanship Ltd

    Jason är utvecklare, lärare, coach och författare med över två decenniers erfarenhet av att arbeta med utvecklingsteam inom ett brett spektrum av branscher. Han har arbetat med team på bl. a. BBC, salesforce.com, UBS, Electronic Arts, Merrill Lynch, HSBC och Symbian. Jason är också en flitigt anlitad talare på olika utvecklarkonferenser.

Kursanmälan

Pris

Alla priser är exkl. moms.

3 dagar
24 000 kr
Läs våra avbokningsregler

Företagsinterna kurser

Vi sätter gärna ihop ett utbildningspaket som är särskilt anpassat för din organisation och era utmaningar.