HemSök efter kurserTDD – Testdriven utveckling

TDD – Testdriven utveckling

Processen för testdriven utveckling (TDD) är att man först tar fram ett testfall som fallerar. Nästa steg är att implementera tillräckligt med kod för att testet inte längre fallerar. Efter det går man igenom designen och koden för att säkerställa att den är enklast möjliga. Är den inte det, så uppdaterar man koden utan att ändra vad koden gör, vilket kallas ”refaktorering” (refactoring på engelska). På så sätt säkerställer de testfall man har att man kan ändra koden utan att påverka på funktionaliteten på oväntade sätt.

Vi fortsätter sedan med ett nytt varv, test – implementation – refaktorering.

Fördelarna med arbetssättet är att:

  • Ett test beskriver vad som skall göras medan implementationen beskriver hur det ska göras. Testerna blir specifikationer skrivna i programmeringsspråk.
  • Eftersom testet skrivs innan koden implementeras så blir designen av gränssnittet gjord utifrån användarens synvinkel, istället för hur implementationen är gjord.
  • Man säkerställer att testerna verkligen skrivs, vilket kan vara svårt att säkerställa om man tar fram testerna i efterhand. Det ger också en hög kodtäckningsgrad jämfört med om man skriver testfallen i efterhand. Det är ofta svårt att motivera sig i efterhand att skriva testfall för kod som fungerar.

Med Testdriven utveckling får man underlag för automatiserad testning, vilket ofta är en kritisk framgångsfaktor. Med testautomatisering kan man enkelt och tryggt ändra i befintlig kod utan att riskera att man får oväntade effekter i senare utvecklingsfaser eller i produktionsmiljö. Testerna definierar vad som är ett korrekt beteende, ändrar man något som går utanför det, märker man det direkt.


Utbildningsformer
Classroom
Remote

Längd
2 dagar

Pris
21450 kr

Målgrupp

Utbildningen vänder sig till alla som vill kunna utveckla bättre kod fortare.

Förkunskaper

Du bör ha viss vana vid mjukvaruutveckling i allmänhet och C++-programmering i synnerhet.

Kursinnehåll: TDD – Testdriven utveckling

I utbildningen går vi igenom:


Grunderna i testdriven utveckling

  • Vad innebär testdriven utveckling
  • Enhetstestning och ramverk

Testning i C++

  • Enhetstestning i C++ och Boost.Test
  • Google Test testbibliotek och hur det används för att skriva enhetstester i C++.
  • Ramverk för ”mocking” i C++

Mer om testdriven utveckling

  • Best practice för enhetstestning och testdriven utveckling
  • Att hålla testfallen rena
  • Fördjupning i faktorering
  • Att arbetat med ”legacy” kod
  • Genomgång av några exempelprogram och hur man utvecklar dem med hjälp av TDD i C++-miljö.
 

Andra har även varit intresserade av dessa kurser: