Skip to main content

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 einzelnen Regeln

Sie können eine Regel mit von Ihnen bereitgestellten Testdaten testen, indem Sie in der Symbolleiste des Regelformulars auf Actions > Run klicken.

Hinweis: Für einige Regelarten, zum Beispiel binäre Dateiregeln, stellt Pega 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.

Das Erscheinungsbild des Fensters  Run Rule ist je nach Regeltyp unterschiedlich, sodass die Art der Regelausführung von ihrem Typ abhängt. Im Allgemeinen werden die Regeln jedoch mit Daten von einer Testseite ausgeführt, die Sie für den Test definieren.

Wenn Sie die Regel ausführen, verwendet das System die Regelauflösung. Wenn Sie eine Regel einem Unit-Test unterziehen und eine höhere Version der Regel vorhanden ist, wird die höhere Version der Regel ausgeführt.

Unit-Test für automatisiertes Testen aufzeichnen

Nachdem Sie den Test ausgeführt haben, können Sie den Test auch in einen wiederverwendbaren Test-Case konvertieren, den Sie jederzeit ausführen können. 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. Weitere Informationen zur Verwendung von Unit-Test-Cases finden Sie im Artikel Grundlegendes zu Unit-Test-Cases der Pega Community.

Tipp: 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“ und legen Sie die Ergebnisse fest, die einen erfolgreichen Unit-Test ausmachen. Jedes erwartete Ergebnis besteht aus einer Assertion, die eine oder mehrere zu testende Bedingungen und das erwartete Ergebnis für jede Bedingung beschreibt. Test-Cases unterstützen verschiedene Arten von Assertions, mit denen unterschiedliche Aspekte der Regelausführung getestet werden. Die für einen Test-Case verfügbaren Assertions sind je nach Typ der getesteten Regel unterschiedlich.

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

Die folgende Tabelle enthält einige Beispiele für Assertions 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 Assertion, die ein unerwartetes Ergebnis zurückgegeben hat. Falls ein Test-Case unerwartete Ergebnisse zurückgibt, wird ein grüner Status „Passed“ angezeigt.

Best Practices zum Konfigurieren von Unit-Tests

Test-Case speichern

Zum Speichern des Test-Cases wird Zugriff auf ein Ruleset benötigt, der zum Speichern von Test-Cases konfiguriert ist. Wenn das 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 ein geeignetes 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 ein speziell für Test-Cases konzipiertes 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.
Unit testing page

Prüfen Sie mit der folgenden Interaktion Ihr Wissen.

Wenn bei Ihrer Schulung Probleme auftreten, lesen Sie bitte die Pega Academy Support FAQs.

Fanden Sie 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