Adrin Amin Salehi

Information & Communications Technology

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 / IT Consultant at vi: sit - Vetter IT solutions Schweiz GmBH

Adrin is a software developer and IT consultant at vi: sit - Vetter IT solutions Schweiz GmbH. There he develops tailor-made software for customers in the industrial sector. His focus here is on .NET, Azure, software testing, and software quality. He has been programming with C # since school. As a tech enthusiast, Adrin also deals with cloud computing, IoT, and AI in addition to his work.

Adrin's full speaker profile