Skip to main content

Unit-Tests

Unit-Tests

Eine falsche Regelkonfiguration in einer Anwendung kann Verzögerungen bei der Case-Bearbeitung zur Folge haben. Wenn ein Fehler auftritt, müssen Endbenutzer möglicherweise die Arbeit neu zuweisen, oder ein Case muss von einem Administrator repariert werden. Stellen Sie sich beispielsweise einen Case vor, der an die Fulfillment-Abteilung weitergeleitet werden muss. Geht der Case stattdessen an die Buchhaltungsabteilung, muss ein Buchhalter den Case an die Fulfillment-Abteilung weiterleiten. Der Buchhalter verschwendet Zeit mit der Umleitung der Zuweisung, während die Fulfillment-Abteilung untätig ist. Das Ergebnis ist eine Verzögerung für den Kunden während der Neuzuweisung des Case.

error_customer_delay

Um Konfigurationsfehler wie falsch weitergeleitete Assignments zu vermeiden, testen Entwickler ihre Anwendungen. Die grundlegendste Form des Anwendungstests ist der Unit-Test einzelner Regeln. Unit-Tests unterstützen die kontinuierliche Bereitstellung von Anwendungen, indem Qualitätstests der kleinsten Funktionseinheiten ermöglicht werden. In einer Pega-Anwendung ist die kleinste Einheit eine einzelne Regel. Der Zweck von Unit-Tests besteht darin, zu überprüfen, ob jedes Element der Anwendung (beispielsweise eine Entscheidungstabelle oder eine Berichtsdefinition) erwartungsgemäß funktioniert. Unit-Tests verringern das Risiko, dass ein Konfigurationsfehler in einer Regel auf andere Regeln in der Anwendung übertragen wird, was zu erheblichen Verzögerungen bei der Case-Bearbeitung führt.

Nutzen Sie Unit-Tests, um Konfigurationsfehler zu reduzieren. Betrachten Sie beispielsweise einen Entscheidungsbaum, der eine Eigenschaft auswertet. Wie in der folgenden Abbildung dargestellt, liest die Anwendung die Eigenschaft aus einer Datenseite, die aus einer Berichtsdefinition stammt. Indem Sie einzelne Regeln bei der Konfiguration Unit-Tests unterziehen, wissen Sie, dass jede Regel erwartungsgemäß funktioniert. Wenn der Entscheidungsbaum ein falsches Ergebnis zurückgibt, die Datenseite aber die richtigen Daten enthält, können Sie den Fehler im Entscheidungsbaum isolieren.

isolate_cause_of_error

Prüfen Sie mit der folgenden Interaktion Ihr Wissen.

Unit-Tests von Anwendungsregeln

Führen Sie die folgenden Aufgaben aus, um eine Regel erfolgreich einem Unit-Test zu unterziehen:

  • Öffnen Sie das Fenster „Run Rule“ über das Regelformular.
  • Initialisieren Sie die Regel mit Testdaten.
  • Zeigen Sie das von der Regel zurückgegebene Ergebnis an.

Fenster „Run Rule“ über das Regelformular öffnen

Um eine Regel einem Unit-Test zu unterziehen, öffnen Sie das Regelformular und führen Sie die Regel aus. Für einige Regelarten, zum Beispiel binäre Dateiregeln, stellt die Pega-Plattform keine Option für Unit-Tests zur Verfügung. Kann die Regel keinem Unit-Test unterzogen werden, steht die Option Run nicht zur Verfügung.

Erscheinungsbild des Fensters „Run Rule“

Das Erscheinungsbild des Fensters „Run Rule“ variiert je nach Typ der getesteten Regel. Beispielsweise bei Datenseitenregeln und wenn für Regeln ein Dialogfeld verwendet wird, das das Aussehen der Zwischenablage imitiert. Ausführliche Informationen zu Unit-Tests bei einem bestimmten Regeltyp finden Sie im Community-Artikel Unit testing individual rules.

Wenn die Regel mit Daten im Arbeitsspeicher arbeitet, zeigt die Pega-Plattform das Fenster „Run Rule“ an. Beispielsweise nutzen Deklarationsausdrücke, Entscheidungsregeln und Benutzeroberflächenregeln Daten im Arbeitsspeicher. Daher zeigt die Pega-Plattform das Fenster „Run Rule“ an.

Berichtsdefinitionen werden für den Inhalt einer Datenbanktabelle ausgeführt, nicht für den Arbeitsspeicher. Daher überspringt die Pega-Plattform das Fenster „Run Rule“ und gibt die Berichtsdaten zurück, wenn Sie eine Berichtsdefinition ausführen.

Regel mit Testdaten initialisieren

Bestimmen Sie im Fenster „Run Rule“ eine Testseite mit Daten, die für den Unit-Test der Regel verwendet werden soll. Das Fenster „Run Rule“ erzeugt die Testseite im Clipboard. Der Name der Testseite ist mit der Applies To-Klasse der Regel identisch, wobei das Präfix „temp_“ vorangestellt wird. Dadurch werden die Testdaten von anderen Seiten im Arbeitsspeicher isoliert.

Ermitteln Sie beim Unit-Test einer Regel, wie die Daten für die Testseite beschafft werden sollen. Das Fenster „Run Rule“ bietet verschiedene Optionen zum Hinzufügen von Daten zur Testseite, je nach Typ der getesteten Regel.

Üblicherweise können Sie eine Seite mit Testdaten mithilfe einer Datentransformation erstellen. Standardmäßig wendet die Pega-Plattform die Datentransformation pyDefault an, um die Testseite mit Daten zu befüllen. Sie können auch eine andere anzuwendende Datentransformation auswählen. Um beispielsweise eine Entscheidungstabelle einem Unit-Test zu unterziehen, können Sie eine Datentransformation erstellen. So lassen sich Werte für die durch die Tabelle ausgewerteten Eigenschaften bereitstellen, statt bei der Ausführung der Regel Werte manuell eingeben zu müssen.

Sie können auch eine Seite der entsprechenden Klasse kopieren, die sich bereits in der Zwischenablage befindet. Um beispielsweise eine Entscheidungstabelle zu testen, die von einem Case-Typ verwendet wird, können Sie einen Case erstellen und Daten von pyWorkPage kopieren.

Das von der Regel zurückgegebene Ergebnis anzeigen

Nachdem Sie eine Methode zum Befüllen der Testseite ausgewählt haben, setzen Sie die Seite zurück, um sie mit Daten zu befüllen. Dann führen Sie die Regel aus, um ein Ergebnis zurückzugeben.

Tipp: Mit Reset Page wird das Ergebnis eines vorherigen Tests gelöscht.

Wenn die Regel Eingaben akzeptiert, können Sie zu testende Werte eingeben. Die von Ihnen eingegebenen Werte setzen die Werte auf der Testseite außer Kraft. Betrachten Sie beispielsweise die in der folgenden Abbildung dargestellte Entscheidungstabelle ToEmployeeReferralWB. Die Entscheidungstabelle bestimmt die Routing-Arbeitswarteschlange für ein Assignment. Wenn der Wert der Eigenschaft Referred by employee als „True“ ausgewertet wird, leitet die Anwendung das Assignment an die Arbeitswarteschlange ReferralWB weiter.

Decision table referred by

Weisen Sie bei einer Entscheidungstabelle oder einem Entscheidungsbaum jeder Eingabeeigenschaft Werte zu und nehmen Sie eine erneute Ausführung vor, um das Ergebnis der Entscheidungstabelle oder des Entscheidungsbaums anzuzeigen. Die folgende Abbildung zeigt das Ergebnis des Tests, wenn .ReferredByEmployee auf „True“ gesetzt ist.

test_results_referral_rule_compressed

Sie können auch das Ergebnis des Unit-Tests überprüfen, indem Sie die Ausgabe des Tests mit dem Clipboard-Tool anzeigen. Das Fenster „Run Rule“ generiert mehrere Seiten in der Zwischenablage. Diese Seiten bieten Informationen über den Regeltest.

RuleToRun Die Zwischenablage-Darstellung der von Ihnen getesteten Regel. Wenn in der Anwendung mehrere Versionen der Regel vorhanden sind, können Sie auf dieser Seite die Version der getesteten Regel ermitteln.
Seite temp_

Wird beim Testen einer Regel erstellt oder kopiert. Die Namen dieser Seiten beginnen mit der Zeichenfolge temp_. Untersuchen Sie auf dieser Seite die Daten, die zur Initialisierung der Regel für den Unit-Test verwendet wurden.

Prüfen Sie mit der folgenden Interaktion Ihr Wissen.

Prüfen Sie mit der folgenden Interaktion Ihr Wissen.

Unit-Test für automatisiertes Testen aufzeichnen

Nachdem Sie eine Regel erfolgreich einem Unit-Test unterzogen haben, können Sie den Testlauf konvertieren, um einen Test-Case zu erstellen, der auf dem Ergebnis des Tests basiert. In einem Test-Case werden eine oder mehrere testfähige Bedingungen bestimmt, anhand derer ermittelt wird, ob eine Regel ein erwartetes Ergebnis zurückgibt. Durch Erstellen eines wiederverwendbaren Test-Cases wird das Modell der kontinuierlichen Bereitstellung unterstützt. Außerdem wird dadurch ermöglicht, Regeln auf einer wiederkehrenden Basis zu testen, um die Auswirkungen neuer oder geänderter Regeln zu ermitteln.

Mit der PegaUnit-Testeinrichtung können Sie einen gespeicherten Unit-Test aus der Regel ausführen oder einen Unit-Test automatisch ausführen.

Um einen Test-Case zu erstellen, konvertieren Sie einen Test im Fenster „Run Rule“. Sie definieren die erwarteten Ergebnisse, die einen erfolgreichen Unit-Test kennzeichnen. Jedes erwartete Ergebnis besteht aus einer Behauptung, die eine oder mehrere zu testende Bedingungen beschreibt. Test-Cases unterstützen verschiedene Arten von Behauptungen, mit denen verschiedene Aspekte der Regelausführung getestet werden sollen. Die für einen Test-Case verfügbaren Behauptungen sind je nach Typ der getesteten Regel unterschiedlich.

Eine umfassende Erläuterung der unterstützten Arten von Behauptungen und ihrer Verwendung finden Sie im Community-Artikel Defining expected test results with assertions.

Die folgende Tabelle enthält einige Beispiele für Behauptungen und ihre Verwendung:

Assertionstyp Verwendung Beispiel
Eigenschaft Testet den Wert der angegebenen Eigenschaft. Benötigt die Seite, auf der die Eigenschaft definiert ist, eine Vergleichsoperation und einen Vergleichswert. pxUrgencyWork ist gleich 10
Entscheidungsergebnis Testest den von einer Entscheidungsregel zurückgegebenen Wert. Erfordert Werte für jede Eingabeeigenschaft, die von der Entscheidungsregel benötigt werden, um das erwartete Ergebnis zurückzugeben. Wenn Referred by employee gleich „False“ ist, RecruitingWB zurückgeben
Voraussichtliche Laufzeit Testet, ob eine Regel innerhalb eines zulässigen Zeitraums ausgeführt wird. Benötigt eine Vergleichsoperation und die zulässige Zeit in Sekunden. Die erwartete Laufzeit ist kleiner oder gleich drei Sekunden
Seite Prüft, ob eine Seite im Arbeitsspeicher vorhanden ist. Benötigt den Namen der Seite und eine Vergleichsoperation. Keine Fehler auf der Seite D_CoursesList

Wenn Sie den Satz der erwarteten Ergebnisse abgeschlossen haben, speichern Sie die Konfiguration des Test-Cases. Auf einen gespeicherten Test-Case können Sie von der Regel aus zugreifen. Die Regel listet alle für diese Regel aufgezeichneten Test-Cases und den Status jedes Test-Cases zum Zeitpunkt der letzten Ausführung auf.

Wenn Sie einen Test-Case erneut ausführen und der Test-Case fehlschlägt, öffnen Sie das Ergebnis und ermitteln Sie jede Behauptung, die ein unerwartetes Ergebnis zurückgegeben hat. Falls ein Test-Case unerwartete Ergebnisse zurückgibt, wird ein grüner Status „Passed“ angezeigt.

Prüfen Sie mit der folgenden Interaktion Ihr Wissen.

Best Practices zum Konfigurieren von Unit-Tests

Test-Case speichern

Zum Speichern des Test-Cases wird Zugriff auf einen RuleSet benötigt, der zum Speichern von Test-Cases konfiguriert ist. Wenn der von Ihnen ausgewählte RuleSet nicht zum Speichern von Test-Cases konfiguriert ist, gibt die Pega-Plattform einen Fehler zurück. Bevor Sie einen Unit-Test aufzeichnen, bestimmen Sie gemeinsam mit Ihrem Systemadministrator einen geeigneten RuleSet zum Speichern von Test-Cases.

Speichern Sie Test-Cases zur Pflege und Konfektionierung in einem dafür vorgesehenen Test-RuleSet. Verwenden Sie zur Erleichterung der Konfiguration eine Anwendung, die auf der Entwicklungsanwendung aufbaut, und fügen Sie einen speziell für Test-Cases konzipierten RuleSet hinzu. Wenn die Entwicklungsanwendung für die Produktion freigegeben wird, können Sie die Anwendung ohne Einbeziehung der Test-Cases migrieren.

Test-Case ausführen

In Dev Studio sind auf der Startseite für Unit-Tests alle für eine Anwendung definierten Test-Cases und der Status jedes Test-Cases zum Zeitpunkt der letzten Ausführung aufgelistet. Auf der Startseite können Sie zudem Test-Suites erstellen, die aus einem oder mehreren verwandten Test-Cases bestehen. Unit-Test-Suites von Pega führen mehrere Test-Cases in der von Ihnen angegebenen Reihenfolge aus. 

Tipp: Um die Startseite zu öffnen, wählen Sie im Menü Configure  die Option Application > Quality > Automated Testing > Unit Testing aus.

Prüfen Sie mit der folgenden Interaktion Ihr Wissen.

If you are having problems with your training, please review the Pega Academy Support FAQs.

Fanden Sie diesen Inhalt hilfreich?

40% fanden diesen Inhalt hilfreich

Möchten Sie uns dabei helfen, diesen Inhalt zu verbessern?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice