So können Sie die RapidRep Test Suite einsetzen

 

Modellbasiertes Testen mit Regeln

Die RapidRep Test Suite kann durch die Auswertung von Regeln Soll-Ergebnisse ermitteln. Dadurch ist eine vollautomatisierte Testauswertung sogar dann möglich, wenn das erwartete Ergebnis nicht im Vorfeld bekannt ist.

RapidRep Regelwerke sind flexibel und unterliegen keinem starren Schema. Sie sollten so aufgebaut sein, dass sie für alle beteiligten Personen verständlich sind. Das verleiht dem Testergebnis eine hohe Transparenz und damit Glaubwürdigkeit. Im Lieferumfang von RapidRep befinden sich zahlreiche Beispiele für anpassbare Regelwerke, deren Strukturen sich in der Praxis bewährt haben.

Regelwerke spielen für das modellbasierte Testen mit RapidRep eine wichtige Rolle. Einen allgemeineren Einstieg in das Thema finden Sie hier: modellbasiertes Testen.

RapidRep Rule Engine Grafik

Eine schrittweise Auswertung von Regeln transformiert die Ausgangsdaten in ein erwartetes Ergebnis. Die Sollwertbestimmung ist der entscheidende Schritt für die automatisierte Testauswertung mit RapidRep, falls die erwarteten Ergebnisse für das Testobjekt im Vorfeld nicht bekannt sind.

RapidRep-Regeln haben folgende allgemeine Eigenschaften

  1. Regeln haben die Form: Wenn (Bedingung) -> Dann (Aktion)
  2. Jede Regel ist eindeutig über das Attribut RULE_ID identifizierbar.
  3. Das Attribut ORDER_ID wirkt sich auf die Auswertungsreihenfolge von Regeln aus.
  4. Jede Regel erfüllt in einem Regelwerk eine ganz bestimmte Aufgabe (funktionaler Aspekt).
  5. Jede Regel muss mindestens ein Attribut besitzen, das die Rule-Engine für die Auswertung  der Wenn-Bedingung verwenden kann.
  6. Regeln dürfen beliebig viele andere Attribute besitzen.

Eigenschaften eines RapidRep-Regelwerkes

  1. Jedes Regelwerk kann über seinen Namen eindeutig identifiziert werden.
  2. Ein Regelwerk setzt mindestens einen funktionalen Aspekt um.
  3. Für jeden funktionalen Askpekt existiert mindestens eine Regel.
  4. Alle Regeln eines Regelwerks haben eine identische Regelstruktur (gleiche Attribute)

Beispiele für Regelwerke

Beispiel für ein technisches Regelwerk

ORDER_ID RULE_ID CONDITION SOURCE ASPECT DESCRIPTION
1 1020 STOCK < 0 "N1" LIMIT_1 This is a demo rule
2 1050 STOCK >0 AND STOCK < 50 "B1" LIMIT_1 This is a demo rule
3 1022 TRUE "B0" LIMIT_1 This is a demo rule
4 1057 ACCOUNT_TYPE = 'A'  100 REF3 This is a demo rule
5 1024 ACCOUNT_TYPE = 'Z' 400 REF3 This is a demo rule
... ... ... ... ... ...

Das oben dargestellte Regelwerk zeigt einen Ausschnitt mit insgesamt 5 Regeln, von denen die ersten 3 Regeln den funktionalen Aspekt "LIMIT_1" umsetzen.

Die Regelauswertung für LIMIT_1 erfolgt gemäß Wasserfall-Prinzip: ist die Bedingung der Regel 1020 (STOCK < 0 ) erfüllt, dann verwende "N1" als Ergebnis. Falls nicht, dann prüfe ob die Bedingung in Regel 1050 erfüllt ist. Falls ja, dann liefert RapidRep das Ergebnis "B1". Ansonsten ist das Ergebnis immer "B0" (Regel 1022).

Beispiel für ein fachliches Regelwerk

ORDER_ID RULE_ID CONTRACT_TYPE UNDERLYING PRODUCT_CLASS HOLDING_PERIOD
50 499 * CRE RECOG_EQUITY_COL 5
51 500 CRMPTFTP OTHER MAIN_EQUITY_COL 5
52 136 * BOND DEBT_COL_D 5
53 88 EQUITY FUND RECOG_EQUITY_COL 10
54 95 GOLD REC GOLD_COL 1
... ... ... ... ... ...

Dieses Regelwerk unterscheidet sich stark von dem technischen Beispiel. Die Spalten haben fachliche Namen und Inhalte, so dass beispielsweise eine Fachabteilung in der Lage sein wird, die Inhalte zu befüllen oder zu bestätigen. Die Vorgehensweise bei der Regelauswertung ist für RapidRep dennoch ähnlich.

Funktionale Dekomposition

Für komplexere Testobjekte reicht oftmals ein einzelnes Regelwerk nicht aus. Mehrere, parallel oder sequentiell durchgeführten Regelauswertungsschritte können notwendig sein, um das Soll-Ergebnis zu ermitteln.

Jedes Regelwerk hat dabei die Aufgabe, einen bestimmten Transformationsschritt durchzuführen und das (Zwischen-)Ergebnis an nachfolgende Transformationsschritte weiterzugeben.

Betrachtet man einen Regelauswertungsschritt als eine Funktion f(x) = y, so ist x die Menge an Eingangsdaten, y das (Zwischen-)Ergebnis und f die Logik, die in einem Regelwerk abgebildet wird.

Die funktionale Dekomposition sieht dann z.B. wie folgt aus: f(x) = g(h(x),i(j(x)))

Dieses funktionale Berechnungsmodell, ausgedrückt in Regelwerken, erfordert zuerst die Auswertung des Regelwerkes j(x) = z, anschliessend können h(x) und i(z) parallel ermittelt und am Ende mit einem Regelwerk, das hier als Funktion g dargestellt ist, berechnet werden.

Der RapidRep Designer kann diese sequentiellen und parallelen Schritte in der Skriptsteuerung einer Reportdefinition modellieren.

Zusammenfassung

Modellbasiertes Testen mit Hilfe von Regeln trägt sehr stark zur Automatisierbarkeit bei der Testdurchführung bei. Die Soll-Werte, die für den Soll-Ist-Vergleich oft nicht bekannt sind, können über Regewerke elegant, kompakt und transparent ermittelt werden.

Damit die Inhalte der RapidRep Regelwerke eine möglichst breite Unterstützung im Projekt erfahren, können mit RapidRep Regelwerke von beinahe beliebiger Struktur ausgewertet werden. Das erhöht die Akzeptanz und erleichtert die inhaltliche Pflege und Abstimmung.

Wir empfehlen Excel Arbeitsmappen als Medium für das Anlegen und Pflegen von Regeln. Über einen Wizard kann RapidRep beliebige Regelwerke sicher in das RapidRep Repository hochladen. Dort befindet es sich dann unter Versionskontrolle und steht nach entsprechender Freigabe für die regelbasierte Sollwert-Ermittlung zur Verfügung.

PDF-File

Das Modellbasierte Testen mit RapidRep wird auch ausführlich in der Broschüre "Modellbasiertes Testen" behandelt.

Download (pdf - 665,9 KiB)