Unittest er ikke længere på mode

Unittest, de adrætte metodikkers yngling, er måske ikke længere et så varmt emne som det har været. Det er er der flere ting, der peger på, mener it-journalisten Andrew Binstock.

Unittest, som har fået et løft i opmærksomhed ved at være en kerne-del af de adrætte metodikker, i særdeleshed Extreme Programming (XP), er måske ikke så "hot" som det har været.

Det mener i hvert fald Andrew Binstock, som er journalist ved SDTimes og Infoworld, og flerårig dommer ved Jolt-prisudrækkelsen.

I et nyligt indlæg på sin blog sætter Binstock spørgsmålstegn ved populariteten af unittest. Han ser en række tegn i sol og måne på, at test-teknikken ikke er så udbredt som man kunne foranledes til at tro.

Unittests - modultests på dansk - er en programmatisk test som tester en lille programstump. I et objektorienteret program kan det være tests af alle metoder i klassen, hvor der på klassisk vis skabes test for parametres grænseværdier: typiske, ekstreme og ugyldige værdier.

Det meste kendte miljø inden for genren er Junit til Java, som fik stor popularitet ved at være indbygget i værktøjerne Eclipse og Netbeans. Bag Junit stod bl.a. Kent Beck, manden som opfandt XP-metodikken.

Blandt de tegn, som Andrew Binstock ser på, at der ikke er den store reelle interesse for unittests, er blandt andet, at firmaet Agitar, som har produceret værktøjer til unittests, måtte dreje nøglen om sidste måned.

Mængden af open source-software på området er en anden indikator, mener Binstock. Her er xUnit-projektet, som blandt andet står bag Junit, stort set det eneste som har en vis fremdrift, skriver han.

Andre tegn er de få bøger, som skrives om emnet, og der holdes heller ikke mange kurser om emnet. Endeligt er der stort set ingen kendskab til alternative miljøer som TestNG.

Andrew Binstock understreger, at han mener, at unittests er den vigtigeste fordel som gennembruddet for adrætte metodikker har medført.

Han kan ikke pege på nogen præcis grund til at unittests ikke har slået mere igennem, end tilfældet er. Én årsag kan være argumenter om, at al kode skal dækkes hundrede procent, og det krav kan være svært at opfylde for programmørerne.

Din mening:

Har Andrew Binstock ret i, at unittest er på vej ud? Deltag i debatten nedenfor eller giv din mening til kende i Version2's barometer.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Carsten Frigaard

Nu 'SKAL' unittest ikke dække koden 100%, man kan gøre som man vil.

Under alle omstændigheder så kan man alligevel ikke dække alle kombinationer af data-værdier og kode-stier, så "100% code coverage" er en narresut under alle omstændigheder.

Unittest kan da også anvendes på ikke-objektorienterde sprog. Ideen er egentlig at man istedet for at debugge kode skriver test-stumper, som man så kan køre igen og igen...med andre ord en form for automatisering i forhold til kedelig debugging.

Sidst kan man også forstille sig, at man bruger hjemmelavede unittest code, der skal jo ikke mere en 100 til 200 linier til for et relativt avanceret testværktøj.

Man kunne også spørge sig hvor mange der egentlig bruger 'Design Patterens', som jo også i sin tid blev udråbt som en 'Silver Bullet', som alle referere til, men som få bruger i praksis.

mvh
Carsten

  • 0
  • 0
Thomas Ammitzbøll-Bach

Er det mig, der er dum, eller virker det uklart, hvad artiklens budskab er?

Hvis cyklisterne i København kører uden lys efter mørkets frembrud, kunne overskriften så hedde "Cykellygter er på vej ud"?

Andrew Binstock ser unittests "den vigtigeste fordel som gennembruddet for adrætte metodikker har medført." Hvis det er rigtigt, så er det jo forsømmelse, at der ikke skrives unittests.

Det kan der jo være mange forklaringer på, men det største løft, man kan give sin softwarekvalitet, er jo netop at indbygge automatiserede tests i alle dele af systemet. Det er svært at komme udenom.

Måske er det et symptom på, at de andre practices i XP ikke bliver fulgt (pair programming, feature cut i stedet for quality cut, refactorization, etc.) XP er en igloo, og hvis man ikke bruger alle practices, så falder blokke ned.

Thomas

  • 0
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize