Test Driven Development (TDD) mit dem Visual Studio .NET

Mit dem Visual Studio 2008 (Version 9) wird eine Unit Test Komponente bereits mitgeliefert. Dennoch wird oft NUnit als Komponente hinzu installiert und mit dem Add-in TestDriven.net ergänzt.

Der Microsoft Unit Test Wizard erstellt je existierender Methode das Gerüst einer Testmethode. Das dient jedoch eher Entwicklern, die ihre Tests im Nachhinein schreiben, um der Firmenvorgabe zu folgen. Um den designbestimmenden Aspekt der testgetriebenen Entwicklung zu nutzen, müssen auch bei Altanwendungen die Tests vor der Funktionserweiterung geschrieben werden.

Da Unit Tests nur auf öffentliche Klassen und Methoden zugreifen können, eignen sie sich als Test der Schnittstellen. Ein Black Box Test also. Gerät der Unit Test bei einer umfangreichen Klasse mit vielen privaten Methoden zu aufwändig, ist das ein Hinweis, dass Funktionalität in Hilfsklassen ausgelagert werden können. Dort sind die Methoden dann öffentlich und lassen sich so über einen Unit Test abdecken.

Anwendungsfälle (Use Cases) oder sehr kleine User Stories eignen sich aber grade wegen dieser Einschränkung hervorragend als Testfälle.

Auch wenn es bei TDD sehr verlockend ist, sofort drauflos zu coden, lohnt es sich vorher ein paar Minuten über das Design der Schnittstelle nachzudenken. Das deckt oft schwammige Punkte in der Anforderungsbeschreibung auf. Diesem lokalen Modell kann man sich dann mittels TDD sehr schnell nähern.

Verwandte Artikel: