Information et éducation par et pour la communauté SAP

Pourquoi des tests unitaires ?

Depuis longtemps déjà, les termes „test unitaire“ et „test driven development“ ne sont plus étrangers à la plupart des développeuses et développeurs. Pourtant, pour diverses raisons, ils ne sont pas appliqués par un grand nombre de programmeurs dans la pratique.
Magazine E3
28 novembre 2025
avatar
Ce texte a été automatiquement traduit en français de l'allemand

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

Écrire un commentaire

Le travail sur la base SAP est essentiel pour réussir la conversion S/4. 

Ce que l'on appelle le centre de compétences prend ainsi une importance stratégique chez les clients existants de SAP. Indépendamment du modèle d'exploitation d'un S/4 Hana, les thèmes tels que Automatisation, Suivi, Sécurité, Gestion du cycle de vie des applications et Gestion des données la base de l'exploitation opérationnelle de S/4.

Pour la deuxième fois déjà, le magazine E3 organise à Salzbourg un sommet pour la communauté SAP afin de s'informer en détail sur tous les aspects du travail de base de S/4-Hana.

Lieu de la manifestation

FourSide Hôtel Salzbourg,
Trademark Collection by Wyndham
Am Messezentrum 2, 5020 Salzbourg, Autriche
+43-66-24355460

Date de l'événement

mercredi 10 juin, et
Jeudi 11 juin 2026

Billet d'entrée anticipé

Billet régulier

Abonnés au magazine E3 Ticket

à prix réduit avec le Promocode CCAbo26

Étudiants*

à prix réduit avec le Promocode CCStud26.
Veuillez envoyer votre certificat d'études par e-mail à office@b4bmedia.net.
*Les 10 premiers billets sont gratuits pour les étudiants. Tentez votre chance ! 🍀
EUR 390 hors TVA
disponible jusqu'au 30 novembre 2025
EUR 590 hors TVA
EUR 390 hors TVA
EUR 290 hors TVA

Lieu de la manifestation

Hôtel Hilton Heidelberg
Kurfürstenanlage 1
D-69115 Heidelberg

Date de l'événement

mercredi 22 avril et
Jeudi 23 avril 2026

Billets

Billet d'entrée anticipé
Billet régulier
EUR 390 hors TVA
disponible jusqu'au 30.11.2025
EUR 590 hors TVA
Abonnés au magazine E3
à prix réduit avec le Promocode STAbo26
EUR 390 hors TVA
Étudiants*
à prix réduit avec le Promocode STStud26.
Veuillez envoyer votre certificat d'études par e-mail à office@b4bmedia.net.
EUR 290 hors TVA
*Les 10 premiers billets sont gratuits pour les étudiants. Tentez votre chance ! 🍀
L'organisateur est le magazine E3 de la maison d'édition B4Bmedia.net AG. Les conférences seront accompagnées d'une exposition de partenaires SAP sélectionnés. Le prix du billet comprend la participation à toutes les conférences du Steampunk and BTP Summit 2026, la visite de l'espace d'exposition, la participation à la soirée et les repas pendant le programme officiel. Le programme des conférences et la liste des exposants et des sponsors (partenaires SAP) seront publiés en temps utile sur ce site.