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 Weiterleitung des Assignments, während die Fulfillment-Abteilung Leerlauf hat. 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. Indem Sie einzelne Regeln Unit-Tests unterziehen, wissen Sie, dass jede konfigurierte Regel erwartungsgemäß funktioniert. Betrachten Sie beispielsweise einen Entscheidungsbaum, der eine Eigenschaft auswertet. Wie in der folgenden Abbildung dargestellt, liest die Anwendung die Eigenschaft aus einer Datenseite aus, die aus einer Berichtsdefinition stammt. 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 in Dev Studio 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 immer wieder zu testen, um die Auswirkungen neuer oder geänderter Regeln zu ermitteln. Führen Sie Test-Cases durch, wenn Codeänderungen vorgenommen werden, die sich auf bestehende Funktionen auswirken können. 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 automatisch einen gespeicherten Unit-Test über die Regel oder einen Unit-Test 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 Pega-Community-Artikel Defining expected test results with assertions.

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

Assertionstyp Verwendung Beispiel
Property (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
Decision result (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
Expected run time (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
Page (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.

Sie können Unit-Test-Cases in einer Test-Suite gruppieren, um mehrere Test-Cases und Suites in einer bestimmten Reihenfolge auszuführen. Wenn Sie mehrere Test-Suiten gleichzeitig ausführen, werden diese zwar sequentiell, aber nicht parallel ausgeführt. 

Test-Cases vorbereiten

Zum Speichern eines Test-Cases wird Zugriff auf ein Ruleset benötigt, das zum Speichern von Test-Cases konfiguriert ist. Sie können keine Test-Cases in einem Ruleset speichern, das nicht hierfür konfiguriert ist.

Bevor Sie einen Unit-Test aufzeichnen, bestimmen Sie gemeinsam mit Ihrem Systemadministrator ein geeignetes Ruleset zum Speichern von Test-Cases. Achten Sie darauf, dass die Tests portabel und unabhängig sind, denn sie dürfen weder von einem anderen Test-Case abhängig sein noch die nachfolgenden Tests beeinträchtigen. Wenn die Entwicklungsanwendung für die Produktion freigegeben wird, können Sie die Anwendung ohne Einbeziehung der Test-Cases migrieren.

Tipp: Verwenden Sie das Feature Cleanup, um alle Clipboard-Systemseiten oder Änderungen an Daten oder Arbeitsinstanzen wiederherzustellen, die während der Testausführung auftreten. Im Tab History finden Sie eine Historie der Änderungen. 

Test-Cases ausführen

In Dev Studio sind auf der Unit testing -Startseite 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.

Best Practices zum Konfigurieren von Unit-Tests

Automatisierte Unit-Tests liefern aussagekräftige Ergebnisse und der Zeitaufwand für die Durchführung und Betreuung automatisierter Tests ist geringer als der Zeitaufwand für manuelle Tests. Stellen Sie sicher, dass die Testentwicklung gleichzeitig mit der Regelentwicklung für Ihre Pega-Plattform-Anwendung erfolgt. Sie können festlegen, dass Test-Cases im laufenden Entwicklungsprozess wiederverwendet werden und dass andere Teams Ihre Test-Suites nutzen können. 

Wann sollte man automatisierte Unit-Tests anlegen?

Wenn eine Regel ein erwartetes Ergebnis liefert, sollten Sie die Konfiguration eines automatisierten Unit-Tests in Erwägung ziehen (siehe folgende Prioritätstabelle).

Hohe Priorität Geringe Priorität
Tests mit vorhersehbaren Ergebnissen Tests mit häufigen Änderungen, die eine Bearbeitung der Test-Cases erfordern
Tests mit regelmäßiger Ausführung Tests mit einfacher manueller Durchführung 
Tests mit geringerem manuellen Aufwand beim Testen komplexer Logik Tests mit zu hoher Komplexität, um sie zu automatisieren
Tests mit Regeln, die in der Anwendung häufig verwendet werden Tests mit persistenten Daten aus einer Datenbank
Tipp: Es wird empfohlen, mindestens bei jedem Zusammenführen und Einchecken entsprechende Tests durchzuführen. Im Idealfall sollten die Tests jedoch häufiger und regelmäßig erfolgen 

Bestmögliche Testabdeckung 

Da Ihre Unit-Tests ein breites Spektrum an Szenarien abdecken, sollten Sie sicherstellen, dass ausreichend Validierungen erstellt werden, um alle positiven und negativen Szenarien abzudecken. Versuchen Sie, eine möglichst große Regelabdeckung zu erreichen, die verschiedene Wege der Regelausführung einschließt. Fügen Sie so viele Tests hinzu, dass sie alle Input- und Output-Kombinationen abdecken, aber halten Sie die Test-Case-Logik kurz und übersichtlich, um die Wiederverwendbarkeit zu optimieren. Kleinere Unit-Tests können dabei helfen, eine fehlerhafte Regelfunktionalität schnell zu erkennen und erleichtern somit die Entwicklung und Instandhaltung. 

Hinweis: Weitere Informationen zur Testabdeckung von Regeln finden Sie im Academy-Thema Testabdeckung.

Einfache Verwendung

Jeder Test-Case muss für alle Personen leicht zu lesen und zu verstehen sein. So sind beispielsweise die Namen und Beschreibungen der Test-Cases wichtig und sollten sich auf den jeweiligen Zweck beziehen. Fügen Sie Kommentare zu jedem Step hinzu, um die Lesbarkeit zu verbessern und die Pflege zu erleichtern.

Stellen Sie die Testdaten so modular wie möglich zusammen, um eventuelle Updates oder zukünftige Änderungen zu erleichtern und zu beschleunigen. So müssen Sie beispielsweise keine Testdaten für die gesamte Anwendung oder größere, komplexe Datenstrukturen erstellen. Modularere Testdaten ermöglichen es, dass bei kleinen Änderungen nicht alle Testdaten neu konfiguriert werden müssen, was zu Problemen bei anderen Tests führen könnte. 


Dieses Thema ist im folgenden Modul verfügbar:

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

Fanden Sie diesen Inhalt hilfreich?

100% 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