Jag vill egentligen undvika begrepp såsom “test-automation” och “test-driven utveckling”. Det jag inte gillar är ordet test. “Test” implicerar att det finns något - t ex en funktion - som vi behöver testa av, d.v.s verifiera att den gör det vi förväntar oss. Problemet är att funktionen finns först och sedan kommer testet och ordet test fostrar oss att fortsätta tänka så.
Vad vi borde göra istället är att specificera beteenden. Vad är det vi vill produkten ska erbjuda användaren? Vad är det för uppgift den här modulen ska ha i systemet? Vad är det för ansvar den här klassen ska ha i min design? Kan du se vilka bra diskussioner och funderingar det här sättet att tänka för med sig?
Det får mig att fundera på nyttan med funktionen innan jag realiserar den. Jag slipper upptäcka att modulen jag precis skapade, som tog mig en arbetsvecka, faktiskt inte behövs, i alla fall inte på det sätt som jag trodde.