gelöst Automatisiertes Testen und Implementieren von UML-Diagrammen


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

gelöst Automatisiertes Testen und Implementieren von UML-Diagrammen

Beitragvon LGiesken » 02.08.2018, 07:43

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
LGiesken
ForumUser
 
Beiträge: 28
Registriert: 10.02.2017, 11:21
Dank erhalten: 3 mal
Ich bin: Student/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitragvon ralf.wenzel » 02.08.2018, 08:43

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

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
LGiesken
ralf.wenzel
Top Expert
 
Beiträge: 3110
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 176 mal
Ich bin: Freiberufler/in

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitragvon SaskuAc » 21.08.2018, 06:31

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 )
SaskuAc
Specialist
 
Beiträge: 176
Registriert: 01.06.2015, 10:16
Dank erhalten: 15 mal
Ich bin: Entwickler/in

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitragvon ralf.wenzel » 21.08.2018, 09:36

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
ralf.wenzel
Top Expert
 
Beiträge: 3110
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 176 mal
Ich bin: Freiberufler/in

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitragvon nickname8 » 21.08.2018, 10:59

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.?
nickname8
ForumUser
 
Beiträge: 27
Registriert: 18.07.2015, 08:22
Dank erhalten: 2 mal
Ich bin: Entwickler/in

Re: Automatisiertes Testen und Implementieren von UML-Diagra

Beitragvon ralf.wenzel » 21.08.2018, 12:50

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
ralf.wenzel
Top Expert
 
Beiträge: 3110
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 176 mal
Ich bin: Freiberufler/in


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Sachkonto für FI Rechnung in idoc übermittel
vor 9 Stunden von uibig 0 Antw.
Anlagenmigration Export
vor 22 Stunden von verzweifelt 1 Antw.
SFP - PDF Datenbindung
Gestern von a-dead-trousers 2 Antw.
Protected Attribut füttern
vor 4 Tagen von Tommy Nightmare 3 Antw.
gelöst Problem bei der Tree-Darstellu ng einer Hierarchie
Gestern von khb 3 Antw.

  Ähnliche Beiträge beta
Nullwerte in Diagrammen
20.09.2006, 08:50 von Peristera 0 Antw.
Performance testen?
13.05.2004, 10:22 von Gast 6 Antw.
Testen von Berechtigungsobjekten
23.05.2007, 09:53 von Falloutboy3k 3 Antw.
Funktionsbaustein mit Mehrfachselektion testen
01.08.2006, 09:03 von Danjel 3 Antw.
Testen von ABAP Code
07.07.2011, 09:54 von waltersen 1 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Google Adsense [Bot]