Testdriven Utveckling, Test Driven Design (TDD) på svenska

Jag hoppas att alla har hört talas om Test Driven Utveckling, eller Test-Driven Development (TDD) på engelska. TDD kommer som en del av arbetssättet man har inom Extreme Programing och är en av grundstenarna, en metod som alla efterföljande metoder tar med sig. TDD är ett sätt att bygga och designa en kod modul. Skall man ta steget upp och designa större delar av program finns det en de andra saker man bör ta hänsyn till det finns andra adapterade metoder så som Acceptance Test-Driven Design (ATDD). Dessa kommer jag att lämna för nu och titta på de grundläggande metoderna i Test Driven Utveckling.

I boken Test-Driven Development by Example, beskriver Kent Beck metoden ingående baserat på två exempel program. Boken är som en kodnings-kata i skriven form. Jag kommer att skriva ned stegen i metoden som jag ser dem.

Skapa en test

Det första steget är att skapa en test. Vi skall nu försköka skriva en test för det nya kravet vi skall implementera, målet är att testet skall en del av kravet. Vi skall titta på krav och önskemål runt funktionen. Meningen är att när vi kör testet skall det fallera på ett förutsägbart sätt. Om testen inte fallerar så är antingen funktionen redan implementerade eller så testar inte testen det den skall. I detta steget tänker vi för oss rött, vårt mål är att få våra modul tester att fallera på ett förutsägbart sätt. Skälv klart så kör vi testerna för att se till att vi faktiskt har lyckats med att skriva en test som gör vad vi tror. Att köra tester, att kompilera koden så att den inte har syntax fel. Det är sådant som dator är bra mycket bättre än oss på. Alltså bör vi låta den göra detta.

Skriv kod

Se till att koden passerar testen, skriv den enklast tänkbara koden som kan klara testet. I detta steg skall vi bryta lite mot vad som traditionellt ansetts vara god programmeringssed. Jobba mer som om de vore en film. Det är helt ok att ”fuska till det fungerar”.  Är det enklaste koden att returnera en konstant, gör det.  Vårt mål här är att enklast möjligt få testerna gröna. Skriv kod, och kör, till det blir grönt.

Refaktorera koden

Eller omstrukturera koden. Nu tar vi itu med att snygga upp koden från de två tidigare stegen. Det är viktigt att komma ihåg att vi nu ser testerna som en del an koden. Så det skall inte finnas upprepad kod någonstans. Det kan vara ok med konstanter i test koden. Tex. skall vi testa att addition mallen 3 och 2 ger fem som resultat, är det helt ok att ha alla tre konstanterna med i testen. Man bör dock inte ha dem upprepade i additions koden längre. När man inte längre kommer på rena enkla refaktoreringar går man till bara till första steget. Att skapa en ny test. När man inte kan komma på nya tester att skapa är funktionen klar.

Share in top social networks!

3 reaktion på “Testdriven Utveckling, Test Driven Design (TDD) på svenska

  1. Pingback: Testdriven utveckling: Del 2, En bra byggmiljö | Keep on Balping

  2. Pingback: Testdriven utveckling: Del 3, Ett inledande test | Keep on Balping

  3. Pingback: Testdriven utveckling: Del 4, Mot grönt | Keep on Balping

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>