Session

Verifizieren von Business Rules mit Hilfe einer Testing-API

Automatisierte Tests sind ein integraler Bestandteil der Softwareentwicklung. Produktivcode sollte immer, so gut es geht, mit Code Tests (unit, integration, end-to-end) abgedeckt sein. Aber vor allem bei schwammigen oder unklaren Business-Anforderungen neigen wir zu struktureller Kopplung zwischen Produktivcode und Testcode. Im schlimmsten Fall gibt es für eine Methode im Produktivcode eine entsprechende Testmethode. Auf den ersten Blick scheint dieses Problem harmlos zu sein, da man dadurch eine sehr hohe Testabdeckung erreicht. Doch strukturelle Kopplung erschwert späteres Refactoring enorm.

Eine Testing-API zwischen Produktivcode und Testcode löst diese Kopplung. Basierend auf dem Softwaredesign-Prinzip "don't depend on volatile things" ermöglicht diese API das Verifizieren von Business Rules und entkoppelt unserer Tests von der Applikation. Die Erweiterbarkeit ist weiterhin gewährleistet und sollte sich der Produktivcode hinter der API einmal ändern, laufen unsere Tests immer noch durch.

Die Implementation einer solchen Testing-API ist kein Selbstläufer. Deshalb gilt es folgende Fragen zu beantworten:

- Wie konzipieren wir solch eine API am besten?
- Können wir solch eine API überhaupt in unser bestehendes Software-Design implementieren?
- Wie lässt sich solch eine Testing-API mit .Net aufbauen?

Adrin Amin Salehi

Software Developer and IT Consultant

Basel, Switzerland

View Speaker Profile