Automatisiertes Testen und Implementieren von UML-Diagrammen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Automatisiertes Testen und Implementieren von UML-Diagrammen

Beitrag von LGiesken (ForumUser / 40 / 14 / 5 ) »
Hallo zusammen,
in der Hochschule hatte ich neulich die Vorlesung Software Engineering. Eins der Themen war das Erstellen von automatisierten Tests. Nach ein bisschen Recherche habe ich rausgefunden, dass es das ganze bei der SAP unter dem Namen UNIT TESTS ebenfall gibt. Mich würde mal interessieren, ob das hier von jemandem eingesetzt wird und falls ja, wie aufwendig es ist, eine solche Test-Klasse/-Methode zu erstellen.

Ein weiteres Thema, was in der Vorlesung angesprochen wurde, ist die Erstellung von Code aus einem UML-Klassendiagrammen. Man würde also ein UML-Klassendiagramm ins SAP hochladen und daraus würde dann automatisch der Quellcode für die Klassendefinition erstellt werden. Das UML-Diagramm aus einem bestehenden Programm erstellen zu lassen funktioniert ja bereits. Anders herum wäre das grade bei großen Projekten doch schon recht hilfreich.

Bereits im Voraus Vielen Dank für die Infos.

MfG

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Moin,

zur ersten Frage: Jeder, für den Softwarequalität kein Fremdwort ist. Es gibt Bereiche (z. B. Arzneimittelrecht) wo Validierung (sprich: geordnetes, dokumentiertes Testen) gesetzliche Voraussetzung ist.

Meine Lieblingszitate hierzu: "Jeder Schokoriegel ist besser getestet als Ihre unternehmenskritische Software" und "Würdet ihr eure XXX so professionell bauen wie euer SAP mit unternehmenskritischer Software, wäre der Laden hier längst pleite" (mit XXX = Produkt des Kunden).

Zum Aufwand: Es ist deutlich weniger aufwendig, als die Methode oder die Anwendung mit allen relevanten Fällen mit F8 zu testen. Zumal man einen Unit-Test jederzeit auf Knopfdruck wiederholen kann. Ein "Ausprobieren" ist kein Test, sondern setzt eine Testmatrix voraus, die bestimmt, welche verschiedenen relevanten Testfälle es überhaupt gibt.

Unterschätzen darf man es aber auch nicht, weil man natürlich alles mocken muss, was außerhalb der Methode liegt. Und: Ein integrativer Test der Anwendung ist etwas anderes als ein Unit-Test und durch diesen nicht zu ersetzen.

Zu der Sache mit den Klassendiagrammen: Nein, eine solche Funktion gibt es im SAP nicht. Wir entwickeln hier zumeist nach Scrum-Technik, da weiß man vorher gar nicht so genau, wie es letztlich implementiert wird. UML Klassendiagramme verwenden wir eher zur Dokumentation als zum Entwurf. Ich glaube auch nicht, dass bei großen Projekten jemand die Diagramme zeichnet, ehe er anfängt zu codieren.


Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
LGiesken

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitrag von SaskuAc (Specialist / 321 / 37 / 43 ) »
Kann Ralf hier auch wieder nur Recht geben.

Unit Tests sind vergleichsweise schnell erstellt. in der Theorie sogar innerhalb von ein paar Sekunden ( Codevorlagen, dann geht das wie vom schnürchen ).
Zum Automatisieren von SAP im allgemeinen, kann man natürlich auch andere möglichkeiten nutzen. Also generell Quellcode Tests ( nicht nur auf funktion sondern auch auf entwicklungsrichtlinien ) kann man über die Transaktion ATC verwirklichen. Und für GUI Testautomatisierung gibt es entweder eCatt oder CBTA ( wobei ich, wenn verfügbar, auf CBTA setzen würde ).

Generell ist Testautomatisierung von ABAP Code aber nicht das allheilmittel. Um manuelle Integrationstests kommt man schlichtweg nicht drum rum und hier werden immer eine ordentliche Testmatrix und die darin beschrieben Testcases erforderlich.

Auch hier stimme ich Ralf zu, Klassendiagramme im Voraus sind immer schwierig, weil schnell mal eben eine kleine Hilfsklasse oder Methode dazukommt. Ich würde auch Klassendiagramme ( oder generell UML Strukturdiagramme ) erst im Nachhinein als Dokumentation aufbauen. ( So haben wir z. B. unseren Fuhrpark einwandfrei dokumentiert )

Folgende Benutzer bedankten sich beim Autor SaskuAc für den Beitrag:
LGiesken


Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
SaskuAc hat geschrieben:Unit Tests sind vergleichsweise schnell erstellt. in der Theorie sogar innerhalb von ein paar Sekunden ( Codevorlagen, dann geht das wie vom schnürchen ).
Das halte ich in vielen Fällen für übertrieben kurz, wenn man es richtig macht. Sprich: Wenn man alle Abhängigkeiten um die Methode herum mockt. Dann ist das schon aufwendiger.

Die Aussage ist richtig, wenn man eine Buchungsmethode für einen Beispielbeleg durchlaufen lässt und auf der DB prüft, ob die Daten auch so ankommen, wie geplant. Dann ist man aber systemabhängig und man führt Änderungen auf der Datenbank herbei. Beides ist unerwünscht.

In Wahrheit darf die Methode im Testfalle nicht auf die DB schreiben => man muss also zumindest den DB-Zugriff mocken.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitrag von nickname8 (Specialist / 134 / 17 / 19 ) »
Ab welcher ABAP-Version ist den die UnitTest-Suite vernünftig und nutzbar implementiert?
Bei uns im Unternhemen werden Unit-Tests absolut nicht gelebt und das finde ich absolut fahrlässig. Aber ich bin nur ein kleines Licht und kann nicht bestimmen, dass nach TDD gearbeitet wird.
(Wir sind übrigens keine kleine Klitsche, sondern machen einen Umsatz von mehreren Mrd.€/Jahr)

Wie sieht es bei euch im Unternehmen aus? Dürft ihr selber entscheiden ob ihr Tests schreibt?

@Ralf: du bist Freiberufler und du kannst selber entscheiden, dass du nach TDD arbeitest. Hast du nicht schon paar mal Feedback bekommen nach dem Motto "das dauert zu lang", etc.?

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Hallo,

das kommt auf den Kunden an. Bei meinem letzten Kunden (Logistikkonzern in HH) war das sehr erwünscht, in meinem aktuellen Projekt (Arzneimittelbranche in HH) bin ich insbesondere, WEIL ich Unit-Test-Erfahrung habe. Dort unterliegen wir der Validierungspflicht, was umfangreiche Tests vorschreibt - dies wollen wir durch umfangreiche Testtools unterstützen. Das hat zwar mit Unit-Tests nur am Rande zu tun (weil wir Prozess-Schritte testen, nicht Methoden), aber Unit-Tests schreiben wir auch, weil wir sehr komplexe Klassen haben. Wenn da einer was ändert und nicht weiß, was er tut, macht er sie kaputt.

Bei vorherigen Kunden war es sehr schwierig, weil immer das Kostenargument kommt. Ich war ein paar Jahre bei einem Anlagenbauer in Hessen. Teilweise habe ich da Tests in der Freizeit geschrieben, weil ICH die haben wollte. Teilweise hab ich die geschrieben und abgerechnet, beanstandet wurde das nicht. Da war für mich nicht zu verstehen, dass das Produkt des Kunden sicherlich NICHT ungetestet rausgeht, man diese Qualitätsansprüche aber nicht auf unternehmenskritische Software übertragen.

Und das ist genau der Punkt, den ich nicht verstehe. Würde man ein Auto oder ein Fahrrad so bauen, wie SAP-Systeme programmiert werden, jeder Kunde würde einem einen Vogel zeigen.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

0
Antw.
788
Views
Nullwerte in Diagrammen
von Peristera » 20.09.2006 09:50 • Verfasst in ABAP® Core
8
Antw.
626
Views
SAPMV45A - Automatisiertes hinzufügen von Positionstexten
von creative235 » 16.05.2022 12:18 • Verfasst in Sales and Distribution
7
Antw.
2853
Views
Funktionsbaustein implementieren
von Gerrit » 06.03.2018 19:47 • Verfasst in ABAP® für Anfänger
1
Antw.
364
Views
Internal SAP BADIs implementieren?
von retsch » 07.06.2023 10:54 • Verfasst in ABAP® für Anfänger
2
Antw.
3852
Views

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.