Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos automatisierte Business-Tests: Konzept, Groovy, Systementität, leere DB, Event-Aufzeichnung, Facade.

globe with meridians Sprache: Deutsch · English

light bulb Automated Business Tests

Interne Konzept-Analyse zu automatisierten Business-Tests – Groovy, leere DB und Event-Aufzeichnung.

Status
colourGreen
titleKonzept
Status
colourBlue
titleEntwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel2

Erste Analyse auf Basis von Linda

Hinweis
titleHintergrund

Interne Konzept-Analyse zu automatisierten Business-Tests. Die produktive Umsetzung ist unter Business-Tests beschrieben.

Grundgedanken

...

  • Tests werden in einer

...

  • Systementität gespeichert

...

  • und

...

  • Teil des Nuclets.

...

  • Testformat: Groovy-Skript, das mit Nuclos kommuniziert – damit laufen die Tests auch mit künftigen Nuclos-Versionen.
  • In der ersten Version wird nur die

...

  • Business-Logik/Regeln im Server

...

  • getestet

...

  • .

...

  • Tests basieren

...

  • auf einer leeren DB

...

  • (Systemfunktion zum Leeren aller BO-Tabellen) und können aufeinander aufbauen (Wiederverwendbarkeit).
Info
titleEvent-Aufzeichnung

Diskutierte Varianten der Event-Aufzeichnung: im Server-Kern (Facades) vs. im Webclient. Der Webclient-Ansatz gilt als einfacher.

Verwandte Seiten

gear Business-Tests


Umsetzung.

Öffnen →

Tabellen geleert werden.
  • Tests können auf einander aufbauen, ähnlich den Regeln. Wiederverwendbarkeit ist damit gegeben.

  • Aufzeichnung von Events

    • Variante 1 (Server - komplexer)
      Im Kern des Server, in den Facades selbst. Z.B. EntityObjectFacade, StatemodelFacade, GeneratorFacade…
      Welcher Client dabei verwendet wird ist nicht relevant.
      Vorteil: Java Client kann verwendet werden
    • Variante 2 (Webclient - einfacher)
      Der Webclient zeichnet „einfach“ seine Restcalls auf.
      Nachteil: Zur Aufzeichnung müssen alle Teile von Linda zumindest rudimentär über den Webclient bedienbar sein. Stichwort MatchBO
    • Events

      • Insert, update, delete
      • State change, object generation
      • Search, open details

    Bearbeitung der Tests

    • Egal wie die Aufzeichnung stattfindet, die aufgezeichneten Events sind nur über den Webclient abrufbar und auch die Tests werden nur im Webclient bearbeitet und administriert.
    • Aus den Events wählt man sich die Einträge aus, die für den Test relevant sind. Diese werden dann in ein Groovyscript eingefügt und können dort weiter bearbeitet werden.
    • Ergebnisprüfung / Validierung
      • Inhaltsvergleich von Attributen und SubBos

      • Definierte Suchen und Anzahl gefundene Datensätze
      • Auftreten einer Exception

    Ausführung

    • Starten einzelner oder aller Tests nur über den Webclient.

    Testscript Beispiel (Umsetzbarkeit ist zu prüfen!)

    Codeblock
    languagegroovy
    collapsetrue
    def mllx1000 = new Leitung(identifizierer:'MLLX/nn/2001000', ...)
    mllx1000.save()
    mllx1000.lieferantenProdukt = 'DSL 16000'
    mllx1000.save()
    assert mllx1000.monatlicheKosten == 33.00
    mllx1000.bearbeiter = 'Mustermann, Max'
    mllx1000.changeState(50)
    mllx1000.bearbeiter = null
    mllx1000.save()
    assert mllx1000.error == 'Bearbeiter muss ab Status immer gefüllt sein'
    mllx1000.rollback()
    

    Ausbaustufen

    Eine GUI a la Automator wäre für simple Testscripte, wie im Beispiel, zumindest denkbar.