The global and independent platform for the SAP community.

Why unit tests?

For most developers, „unit test“ and „test-driven development“ are no longer foreign words. Nevertheless, not too many programmers use them in practice for a variety of reasons.
E3 Magazine
November 28, 2025
avatar
This text has been automatically translated from German to English.

Warum ist die Verwendung von Unit-Tests äußerst sinnvoll?. Beim Eingehen auf die Thematik zeigen wir die Vor- und Nachteile auf und vermitteln Grundlagenwissen.

Testgetriebene Entwicklung ist eine Methode der agilen Softwareentwicklung. Hier erstellen Entwicklerinnen und Entwickler Unit-Tests konsequent vor den zu testenden Code-Abschnitten bzw. Komponenten. Mittels Unit-Tests lassen sich Funktionen darauf überprüfen, ob sie wie beabsichtigt arbeiten. Dies kann sowohl manuell als auch automatisiert erfolgen. Dabei ist erwähnenswert, dass das Anwenden von Unit-Tests nicht zwingend mit der testgetriebenen Entwicklung gleichgestellt werden muss, denn Unit-Tests können auch nachträglich implementiert werden.

SAP-Entwicklungsumgebung

Abap Unit ist ein zentraler Bestandteil der SAP-Entwicklungsumgebung. Es wird in Eclipse als auch in der SAP-internen Entwicklungsumgebung SE80 unterstützt. Unit-Tests werden in einer gesonderten Laufzeitumgebung durchgeführt, die den Entwickelnden eine Vielzahl an Optionen und Diagnosemöglichkeiten bietet.

Unit-Tests machen den Unterschied zwischen Testen und Ausprobieren. Während man als Entwickelnder gerne die Logik mit einzelnen Parametern ausprobiert (Testprogramm oder Debugging), können Unit-Tests alle bereits definierten Kombinationen von Eingangsparametern und deren Ergebnisse mit einem Klick auf Korrektheit überprüft werden. Durch die Vielzahl von definierten Ausgangssituationen hat man die Sicherheit, dass diese nach Änderungen (Bug-fixing, geänderten Anforderungen oder Refactoring) immer noch das gewünschte Ergebnis liefern – und zwar alle, nicht nur die zwei, drei oder fünf, die man nach einer Änderung ausprobiert.

Wie sinnvoll Unit-Tests sind, merkt man spätestens, wenn man auf Coding stößt, das in etwa so aussieht:

Bei so einem Coding ist es ohne Forschungsarbeit kaum ersichtlich, bei welchen Konstellationen welcher Wert geliefert werden soll. Bei notwendigen Änderungen ist es nicht unwahrscheinlich, dass die Logik bei bestimmten Konstellationen nicht mehr wie ursprünglich gewünscht arbeitet. Unit-Tests machen das Coding zwar nicht übersichtlicher, aber sie definieren exakt, welche Parameter welches Ergebnis ergeben sollen. Bei einer Änderung kann ich als Entwickelnder also einerseits neue Anforderungen einbauen und andererseits ein Refactoring durchführen – beides mit der Sicherheit, dass die vorhandene Logik immer noch funktioniert.

Das Gute an Unit-Tests ist: Sie können nachträglich zu einer Klasse definiert werden, ohne die Logik der Klasse selbst zu beeinflussen. Ich kann also beispielsweise einen Unit-Test für folgende Konstellation erstellen: Stelle sicher, dass bei der Behauptung (engl.: assert) i_vkorg = ‚1000‘, i_vtweg = ’10‘ und i_auart = ‚TA‘ der Wert „A“ herauskommt. Das Ergebnis dieser Behauptung kann ich mit einem Tastendruck verifizieren.

Anders als gelernt

In Verbindung mit vielen weiteren Unit-Tests ergibt sich ein Sicherheitsnetz, das Programmierenden die Gewissheit gibt, dass eine vorhandene Geschäftslogik nicht unbeabsichtigt verändert wurde. Da das schrittweise Lösen von Problemen mit gleichzeitigem Testen im Allgemeinen nicht die Art ist, wie man das Programmieren erlernt, sind viele Entwicklerinnen und Entwickler das Anwenden von Unit-Tests nicht gewohnt.

So gehen viele davon aus, dass das Implementieren von Unit-Tests einen hohen Aufwand mit sich bringt. Die Aussage ist zwar richtig, lässt sich jedoch entkräften, denn Unit-Tests bilden ein Sicherheitsnetz, das Änderungen sicherer macht. Werden Änderungen im Code durchgeführt, dann sind Fehler schnell und präzise lokalisierbar. Dadurch erspart man sich Zeit und Nerven bei der Suche nach der Nadel im Heuhaufen und durch das manuelle Ausführen von Geschäftsprozessen.

Ein weiterer Vorteil, der daraus resultiert: Der Kunde spart Kosten ein, da in Bezug auf zukünftige Entwicklungen weniger Aufwand beim Testen betrieben werden muss. Zudem fördert das Schreiben der Tests die eigene Entwicklung, denn die Codequalität verbessert sich durch das gedankliche Arbeiten sowie Auseinandersetzen mit dem Code, da dieser ständig überdacht wird.

Ein Nachteil der Unit-Tests besteht darin, dass Entwickelnde diese falsch einsetzen könnten und somit eine trügerische Sicherheit vorgegaukelt wird. Außerdem entsteht ein Initialaufwand, der bei der Kalkulation von Softwareprojekten zu beachten ist. Weiter müssen sich Entwicklerinnen und Entwickler im Klaren darüber sein, dass Unit-Tests nur die Funktionalität des Source Codes prüfen. Die Performance und Usability fallen nicht in das Gebiet von Unit-Tests. Private Methoden werden in der Regel nicht getestet, da die Testklassen nur die Schnittstelle von ­öffentlichen Methoden testen.

Unit-Tests im Abap-Umfeld

Die SAP bietet für Unit-Tests das sogenannte Test-Framework „Abap Unit“. Dieses ist Teil des Abap-Stacks seit Web AS 6.40 und ist komplett in die Abap Workbench sowie Eclipse integriert. Abap Entwickelnde dürfen sich in nahezu jedem Release über eine dynamische Weiterentwicklung des Test-­Frameworks freuen.

Conclusion

Unit-Tests sind ein mächtiges Werkzeug, das sich in der Softwareentwicklung bewährt hat. Nachdem ein Umdenken und Verinnerlichen der neuen Vorgehensweise in der Entwicklung stattgefunden hat, steigert sich die Source-Code-Qualität, während sich der Arbeitsaufwand proportional dazu verringert. Das spart nicht nur Zeit, sondern auch Kosten.

Quelle: Inwerken

Write a comment

Working on the SAP basis is crucial for successful S/4 conversion. 

This gives the Competence Center strategic importance for existing SAP customers. Regardless of the S/4 Hana operating model, topics such as Automation, Monitoring, Security, Application Lifecycle Management and Data Management the basis for S/4 operations.

For the second time, E3 magazine is organizing a summit for the SAP community in Salzburg to provide comprehensive information on all aspects of S/4 Hana groundwork.

Venue

FourSide Hotel Salzburg,
Trademark Collection by Wyndham
Am Messezentrum 2, 5020 Salzburg, Austria
+43-66-24355460

Event date

Wednesday, June 10, and
Thursday, June 11, 2026

Early Bird Ticket

Regular ticket

Subscribers to the E3 Magazine Ticket

reduced with promocode CCAbo26

Students*

reduced with promocode CCStud26.
Please send proof of studies by e-mail to office@b4bmedia.net.
*The first 10 tickets are free of charge for students. Try your luck! 🍀
EUR 390 excl. VAT
available until November 30, 2025
EUR 590 excl. VAT
EUR 390 excl. VAT
EUR 290 excl. VAT

Venue

Hotel Hilton Heidelberg
Kurfürstenanlage 1
D-69115 Heidelberg

Event date

Wednesday, April 22 and
Thursday, April 23, 2026

Tickets

Early Bird Ticket
Regular ticket
EUR 390 excl. VAT
available until 30.11.2025
EUR 590 excl. VAT
Subscribers to the E3 magazine
reduced with promocode STAbo26
EUR 390 excl. VAT
Students*
reduced with promocode STStud26.
Please send proof of studies by e-mail to office@b4bmedia.net.
EUR 290 excl. VAT
*The first 10 tickets are free of charge for students. Try your luck! 🍀
The event is organized by the E3 magazine of the publishing house B4Bmedia.net AG. The presentations will be accompanied by an exhibition of selected SAP partners. The ticket price includes attendance at all presentations of the Steampunk and BTP Summit 2026, a visit to the exhibition area, participation in the evening event and catering during the official program. The lecture program and the list of exhibitors and sponsors (SAP partners) will be published on this website in due course.