Het is ook zeker geen garantie dat je programma bugvrij is. Maar je kan er wel bugvrijere programma`s door krijgen. Als je een unit test maakt kan je de testen eindeloos blijven herhalen. De meeste systemen die ik schrijf worden (als ik er mee bezig ben) meerdere malen per dag volledig geunit test. De unit test is vaak de enigste target die ik uitvoer als ik aan het developen ben.
Het heeft ook voordelen buiten de bugvrijere code om. Je krijgt over het algemeen herbruikbaardere code omdat je je code testbaar gaat maken. Dus ipv een hele zwik afhankelijkheden, kom je bij het unit testen er snel achter dat dat niet prettig werkt -> je verwijdert de afhankelijkheden en je introduceert bv mock objecten -> je ontwerp wordt meestal wat beter.
En verder zijn er een hele kluit mensen die geloven in TDD (Test Driven Development). Laat de unit testen bepalen wat je code precies moet gaan doen. In sommige gevallen kan dit handig zijn, maar heb er persoonlijk nog niet echt veel mee geexperimenteerd. Een ander voordeel aan TDD is dat al je code meteen voorzien is van testen. Unit testen zijn trouwens wel een ideale manier om de grenzen van je functies te verkennen. En zijn in sommige opzichten betere documentatie dan geschreven (passieve) documentatie.
Het ligt er bij mij heel erg aan wat ik aan het doen ben. Als ik aan het prototypen ben of me gewoon ergens een beeld van probeer te vormen (en niets helpt zo goed als een paar regeltjes code imho), dan heb ik geen zin aan unit testen. Dan zijn ze een enorm blok aan je been. Maar op het moment dat het een systeem gaat worden dat in een productie omgeving gaat draaien... dan ga ik grondig unit testen (moet in de toekomst nog wat grondiger mbt threading ed).
[edit]
Unit testen zijn ook ideaal om subsystemen te testen die in principe alleen binnen een volledig systeem kunnen draaien. Je krijgt dan een stuk vertrouwen in een systeem en je weet dat je daar niet zo snel naar bugs hoeft te zoeken. Niets is zo irritant om tig systemen door te moeten struinen op zoek naar een bug.
[
Voor 16% gewijzigd door
Alarmnummer op 22-08-2004 20:01
]