InternetIntelligenz 2.0

kostenlos Pressemitteilungen einstellen | veröffentlichen | verteilen

Pressemitteilungen

 

Unit-Tests: Warum Unit-Tests-

ID: 2205801

Artikel 1/3


(PresseBox) - Schon lange sind für die meisten Entwicklerinnen und Entwickler „Unit-Test“ und „Test Driven Development“ keine Fremdwörter mehr. Dennoch werden diese in der Praxis aus verschiedensten Gründen, von nicht allzu vielen Programmiererinnen und Programmierern angewendet. Im Folgenden möchten wir zeigen, warum die Verwendung von Unit-Tests äußerst sinnvoll ist. Beim Eingehen auf die Thematik zeigen wir die Vor- und Nachteile auf und vermitteln Grundlagenwissen.

TDD– Test Driven Development

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.

Unit Tests

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 auszuprobiert (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, dass in etwa so aussieht:

IF i_vkorg = 1000 or i_vkorg = 1100 or i_vkorg = 2100 .

  IF i_vtweg(1) = 1 AND i_auart = TA .

    result = A .

  ELSE.

    IF i_auart = ZTA and i_vtweg = 20 .

      result = B .

    ENDIF.

  ENDIF.

ELSEIF i_vkorg = 2200 AND ( i_auart = TA or i_auart = ZTA ).

  result = C .

ENDIF.

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 zwarnicht ü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. 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.

Vor- und Nachteile

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 machen. 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ördern 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 desSource 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 Testframeworks freuen.

Fazit

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 nichtnur Zeit, sondern auch Kosten.

Weiterbildung in Hannover

Für Entwicklerinnen und Entwickler, die sich für die Thematik des Test Driven Developments interessieren, bietet die Inwerken AG verschiedene Events wie bspw. den „ABAP CodeRetreat“ oder die „SAP CodeJam“, wo man entweder die Technik anwendet oder sich in einem Vortag bestens über die Thematik informieren kann. Wir freuen uns stets über neue Gesichter! Außerdem erwarten Sie zwei weitere Blogbeiträge, die sich mit ABAP in Eclipse und der Implementierung von Unit-Test-Beispielen beschäftigen.

Fragen und Kontakt

Haben Sie Rückfragen zu Unit-Tests? Einfach schreiben an sapentwicklung(at)inwerken.de. Unser SAP-Entwicklungs-Team meldet sich bei Ihnen! Leistungen darüber hinaus finden Sie in unserem Portfolio.

Seit 2000 beraten wir Unternehmen dabei SAP®-Prozesse effizienter zu gestalten und IT-Lösungen wirkungsvoll einzusetzen. Als erfahrener Partner für SAP®-Beratung und -Entwicklung, S/4HANA®-Conversions, IT-Services und allgemeine Unternehmensaufgaben im Kontext der digitalen Prozess-Transformation begleiten wir unsere Kunden branchenübergreifend und auf internationaler Bühne: onsite und remote.

Mit 6 deutschlandweiten Standorten und rund 70 Fachkräften passen wir Standardprozesse passgenau an, schulen Key-User, unterstützen das Projektmanagement und bieten zuverlässigen First- und Second-Level-Support. Als SAP®-Silver-Partner liefern wir sowohl praxistaugliche Lösungen als auch eigene Produkte, die den Arbeitsalltag wirklich vereinfachen.

„… einfach beraten“: Zuhören. Wissen. Lösen. Entwickeln. Unternehmen profitieren von unserer praxisnahen Beratung auf Augenhöhe sowie unseren zusätzlichen IT- und SAP®-Basis-Leistungen für eine starke systemische Grundlage. Kunden vertrauen auf unsere Kernwerte: Partnerschaft, Offenheit, Exzellenz und Kompetenz.

Weitere Informationen finden Sie auf

•www.inwerken.de

•www.karriere.inwerken.de

•www.digitalisierung.inwerken.de

Firmen-Standorte: Isernhagen (Firmenhauptsitz), Berlin, Braunschweig, Hamburg, Jena, Stuttgart.

Geschäftsführung: Frank Bachmann (Gründer und Vorstandsvorsitzender), Rudolf Jost, Holger Lexow. Aufsichtsrat: Gunnar Menzel

KONTAKT

Inwerken AG

Frau Christin Harms

Tel. 0511 936 206 60

E-Mail: marketing(at)inwerken.de

www.inwerken.de

Unternehmensinformation / Kurzprofil:

Seit 2000 beraten wir Unternehmen dabei SAP®-Prozesse effizienter zu gestalten und IT-Lösungen wirkungsvoll einzusetzen. Als erfahrener Partner für SAP®-Beratung und -Entwicklung, S/4HANA®-Conversions, IT-Services und allgemeine Unternehmensaufgaben im Kontext der digitalen Prozess-Transformation begleiten wir unsere Kunden branchenübergreifend und auf internationaler Bühne: onsite und remote.
Mit 6 deutschlandweiten Standorten und rund 70 Fachkräften passen wir Standardprozesse passgenau an, schulen Key-User, unterstützen das Projektmanagement und bieten zuverlässigen First- und Second-Level-Support. Als SAP®-Silver-Partner liefern wir sowohl praxistaugliche Lösungen als auch eigene Produkte, die den Arbeitsalltag wirklich vereinfachen.
„…einfach beraten“: Zuhören. Wissen. Lösen. Entwickeln. Unternehmen profitieren von unserer praxisnahen Beratung auf Augenhöhe sowie unseren zusätzlichen IT- und SAP®-Basis-Leistungen für eine starke systemische Grundlage. Kunden vertrauen auf unsere Kernwerte: Partnerschaft, Offenheit, Exzellenz und Kompetenz.
Weitere Informationen finden Sie auf
•www.inwerken.de
•www.karriere.inwerken.de
•www.digitalisierung.inwerken.de
Firmen-Standorte: Isernhagen (Firmenhauptsitz), Berlin, Braunschweig, Hamburg, Jena, Stuttgart.
Geschäftsführung: Frank Bachmann (Gründer und Vorstandsvorsitzender), Rudolf Jost, Holger Lexow. Aufsichtsrat: Gunnar Menzel
KONTAKT
Inwerken AG
Frau Christin Harms
Tel. 0511 936 206 60
E-Mail: marketing(at)inwerken.de
www.inwerken.de



drucken  als PDF  an Freund senden  Pörtner Consulting launcht innovativen IT-Projektkalkulator KMU und non-Profit voranbringen: ISO-Gruppe und Diamant Software starten Partnerschaft
Bereitgestellt von Benutzer: PresseBox
Datum: 17.10.2025 - 14:00 Uhr
Sprache: Deutsch
News-ID 2205801
Anzahl Zeichen: 0

Kontakt-Informationen:
Ansprechpartner: Christin Harms
Stadt:

Isernhagen



Kategorie:

Softwareindustrie



Dieser Fachartikel wurde bisher 37 mal aufgerufen.


Der Fachartikel mit dem Titel:
"Unit-Tests: Warum Unit-Tests-"
steht unter der journalistisch-redaktionellen Verantwortung von

Inwerken AG (Nachricht senden)

Beachten Sie bitte die weiteren Informationen zum Haftungsauschluß (gemäß TMG - TeleMedianGesetz) und dem Datenschutz (gemäß der DSGVO).

SAP®-Grundlagenschulungen für Key-User ...

Ein wichtiger Teil unserer täglichen Arbeit bei Inwerken ist das Schulen von Key-Usern. Denn nur wer weiß, was zu tun ist und welche Tipps oder Kniffe es im täglichen Umgang mit SAP® gibt, kann die Vorteile des ERPs nutzen. Inwerkens SAP®-Berate ...

Nahtloses Linux-Patching in Unternehmenslandschaften ...

Dieser Beitrag zeigt, wie Sie mithilfe eines durchdachten Patch-Managements inklusive Content Lifecycle Management (CLM) sowie Automatisierung und Monitoring, eine stabile, sichere und vollautomatisierte Linux-Landschaft realisieren. Dabei werden nic ...

Alle Meldungen von Inwerken AG



 

Wer ist Online

Alle Mitglieder: 50.279
Registriert Heute: 0
Registriert Gestern: 0
Mitglied(er) online: 0
Gäste Online: 55


Bitte registrieren Sie sich hier. Als angemeldeter Benutzer nutzen Sie den vollen Funktionsumfang dieser Seite.