Skip to main content

Best Practices für das Testen

Einleitung

Holen Sie das Optimum aus der Pega-Plattform heraus – mit vorkonfigurierten Tools und Best Practices für umfangreiche, schnelle Tests!

Video

Das Testen ist ein wichtiger Bestandteil jedes Projekts. Pega möchte erreichen, dass Sie auf möglichst einfache und schnelle Weise ein qualitativ hochwertiges, funktionsfähiges System erhalten.

Um dies zu erreichen, haben wir Tools und Prozesse entwickelt, die den üblichen Testansatz optimieren. In diesem Modul geht es um die folgenden sechs Best Practices: 

  1. Frühzeitiges, häufiges und kontinuierliches Testen: Tests sollten innerhalb jedes Sprints parallel zur Entwicklung durchgeführt werden und nicht wie bei einem Projekt des Wasserfall-Typs erst am Ende. Die Sprint-Entwicklung ist erst abgeschlossen, wenn der Code erfolgreich getestet wurde, denn dadurch wird sichergestellt, dass sich Probleme in Zukunft nicht wiederholen. Außerdem erleichtert es die Erstellung und Pflege der Skripts für die Regressionstests.
  2. Einbeziehung von Geschäftsexperten: Für eine schnelle Entwicklung einer funktionierenden Software ist es wichtig, dass Sie auch Geschäftsexperten in das Entwicklungsteam aufnehmen. Prüfen Sie frühzeitig, ob eine Neuentwicklung nicht nur die Anforderungen erfüllt, sondern auch einen geschäftlichen Nutzen hat.
  3. Manuelle Tests nur bei Änderungen: Das Testen wird bei Pega durch einen modellbasierten Ansatz unterstützt, sodass Software, die bereits vollumfänglich getestet wurde, wiederverwendet werden kann und Sie sich mit Ihren Tests auf das konzentrieren können, was neu ist.
  4. Erstellen eines Pega-Testplans: Klare Anweisungen bezüglich des Entwicklungs- und Testablaufs ermöglichen ein früheres Go-live mit einem vollständig getesteten Satz an Customer Journeys, die geschäftliche Vorteile realisieren.
  5. Verwendung der in Pega integrierten Tools: Tools wie das Application Quality Dashboard bieten eine ganzheitliche Sicht auf die Integrität der Anwendung, einschließlich Guardrail-Bewertungen und Testabdeckung, sodass potenzielle Probleme frühzeitig erkannt werden.
  6. Erstellen automatisierter Testskripts: Die Pega-Plattform bietet die Möglichkeit, Tests zu automatisieren, die auch dann noch funktionieren, wenn sich die Bildschirme ändern, sodass Regressionstest mit minimalem Aufwand durchgeführt werden können. Bei den Anwendungstests auf der Pega-Plattform steht nicht mehr die Erstellung umfassender Skriptdokumente im Fokus, sondern die eigentliche Testausführung.

Im Folgenden gehen wir etwas ausführlicher auf die einzelnen Grundsätze ein und beginnen mit dem ersten Faktor für schnelle Fortschritte: frühzeitiges, häufiges und kontinuierliches Testen.

Durch frühzeitiges, häufiges und kontinuierliches Testen wird sichergestellt, dass kleine Probleme entdeckt werden, bevor sie sich nach dem Schneeballprinzip ausbreiten. In einer nachfolgenden Projektphase fallen für die Fehlersuche und -behebung zehnmal höhere Kosten an als in der vorangehenden Phase. Es bringt einen deutlichen Zeit- und Kostenvorteil, wenn Fehler so früh wie möglich erkannt werden. Dies wird auch als Linksverschiebung bezeichnet, da das Testen nach links, also so weit wie möglich an den Anfang des Projektlebenszyklus, verschoben wird.

Dank leistungsfähiger Prozesse und Tools, die sofort einsatzbereit sind, ist das Testen einer Pega-Anwendung eine einfache und unkomplizierte Angelegenheit. Der Ansatz von Pega ist auf ein schnelles und dennoch gründliches Testen ausgelegt. Da Probleme bereits frühzeitig im Testzyklus erkannt werden, entsteht eine solide Grundlage für wiederholbare Tests während des gesamten Projektlebenszyklus.

Eine andere Methode, um angemessene Testpraktiken frühzeitig und kontinuierlich während des Projektlebenszyklus zu etablieren, besteht darin, dass Sie Ihre System Architects mit der Erstellung und Einhaltung einer „Definition of Done“ beauftragen.

Hier ist ein Beispiel für eine „Definition of Done“ – eine Liste guter Entwicklungspraktiken. Es gibt eine Standardversion von Pega, die Sie für eigene Projekte anpassen können. Das Wichtigste ist, dass Sie eine formelle „Definition of Done“ haben.

Testen und Validieren sind so wichtig für die Entwicklung, …

… dass sich ein Drittel der zwölf Entwicklungspraktiken, die in der „Definition of Done“ aufgeführt sind, darauf beziehen.

Als Entwickler ist Ihre Aufgabe erst erledigt und Ihr Code erst dann vollständig, wenn Sie Ihre Arbeit einem Komponententest unterzogen und ein PegaUnit-Skript erstellt haben. Das Skript wird später für die Regressionstests benötigt.

Der zweite Test-Accelerator von Pega bezieht sich auf die Einbeziehung von Geschäftsexperten.

Es ist wichtig, dass zusätzlich zu den Entwicklern auch Geschäftsexperten von Projektbeginn an als Scrum-Tester in das Scrum-Team eingebunden werden. Geschäftsexperten können Probleme schnell identifizieren und zudem besser beurteilen, ob die Anwendung die Geschäftsergebnisse erfüllt. Sie sind die idealen Tester, da sie sich sehr gut mit dem Business-Prozess auskennen.

Die Einbeziehung von Geschäftsanwendern kann sich auch positiv auf die Akzeptanz auswirken. Die Bereitstellung des Benutzerzugriffs auf die Anwendung, bevor diese live geht, beschleunigt den sicheren Umgang der Nutzer mit der Anwendung. Außerdem werden die Nutzer so für ihre Kollegen zu natürlichen Befürwortern der Anwendung.

 

Beziehen Sie Geschäftsanwender von Projektbeginn an mit ein und machen Sie sie zu einem wesentlichen Bestandteil des Teams.

Der dritte Test-Accelerator von Pega besteht darin, sich auf das zu konzentrieren, was sich geändert hat.

Manuelles Testen ist zeitaufwendig. Zur Steigerung der Effizienz sollten manuelle Tests auf die Bereiche der Anwendung beschränkt werden, die neu sind oder sich geändert haben. Es ist nicht nötig, alles, was gleich geblieben ist oder im aktuellen Sprint nicht behandelt wurde, ein weiteres Mal manuell zu testen.

Nachdem alle Probleme gelöst und die Tests erfolgreich durchgeführt wurden, erstellen Sie in einem der Pega-Tools – z. B. in PegaUnit – einen Satz automatisierter Tests. Diese Tests binden Sie dann in die automatisierten Regressionstests ein, deren automatische Ausführung zeitlich geplant werden kann. Auf diese Weise wird sichergestellt, dass keine neuen Probleme in den Sprint eingeführt werden.

Als Nächstes sind klare Anweisungen bezüglich der Entwicklungs- und Testreihenfolge erforderlich, um ein früheres Go-live mit einem vollständig getesteten Satz an Microjourneys zu ermöglichen, die geschäftliche Vorteile realisieren.

Eine häufig gestellte Frage in diesem Zusammenhang lautet: Wie organisieren Sie Ihre Tests, damit sie effektiv und effizient sind? Hierzu hat Pega einen einfachen Testplan entwickelt, der sich auf die Microjourneys konzentriert. Durch den Plan wird nicht nur eine vollständige Testabdeckung gewährleistet, sondern auch sichergestellt, dass sich die Berichte zum Teststatus auf die Geschäftsergebnisse beziehen und nicht auf einzelne Funktionselemente oder Statistiken zur allgemeinen Testabdeckung.

Das Erstellen eines Pega-Testplans ist kinderleicht. Sie beginnen damit, dass Sie eine Tabelle mit 6 Spalten anlegen. So können Sie alle Microjourneys auf einfache Weise identifizieren und testen. 

In der ersten Spalte listen Sie Ihre Microjourneys auf, wie z. B. die Beantragung einer Hypothek. Danach folgt eine Spalte mit den Sub-Cases, den Grundbausteinen jeder Microjourney. Die nächsten Spalten sind für die Stages, Personas, Channels und Schnittstellen jeder Microjourney vorgesehen.

Sie erhalten dann für jede Microjourney eine Tabelle ähnlich der im folgenden Beispiel gezeigten. Jede Zeile in der Tabelle steht für einen Testpfad in der Microjourney. So wird sichergestellt, dass alle Ergebnisse der Microjourney überprüft werden. 

Dieser Ansatz ermöglicht es, in einer Form über die Integrität der Anwendung zu berichten, die von allen Stakeholdern im Unternehmen verstanden wird.  Statt über willkürliche Features zu berichten, informiert dieser Ansatz über konkrete Kunden-Microjourneys und Geschäftsergebnisse: Wie groß ist der Teil der Journey, der getestet wurde, bei welchen Pfaden war der Test erfolgreich und bei welchen traten Probleme auf?  Die Business-Stakeholder können sich ein klares Bild davon machen, was funktioniert und was nicht, da die Berichtserstattung in einer Sprache und einem Format erfolgt, die sie verstehen.

Der Testplan kann nur so gut sein wie die Akzeptanzkriterien. Daher ist es wichtig, dass der Kunde einen engagierten und ausreichend bevollmächtigten Produkt-Owner benennt – jemanden, der fachkundig ist, eigenständig Entscheidungen über die Lösung treffen kann und außerdem in der Lage ist, vollständige und exakte Akzeptanzkriterien zu formulieren.

Gut ausgearbeitete Akzeptanzkriterien sollten folgende Eigenschaften aufweisen: Die Kriterien

sollten prüfbar und die erwarteten Ergebnisse klar definiert sein

und

sie sollten eindeutig und präzise formuliert sein.

Pega bietet im Rahmen der Pega-Plattform auch native Tools an, die bei der Validierung der Anwendung helfen.

Das Application Quality Dashboard liefert mit seinen vier Standardkacheln eine ganzheitliche Sicht auf die Anwendungsintegrität: „Guardrails“ als Orientierungshilfe, „Test Coverage“ zur Abdeckung aller Testanforderungen, „Unit-Testing“ für Komponententests und „Scenario Testing“ für Szenariotests. Jede Kachel enthält eine Zusammenfassung und die Möglichkeit tiefer in Details einzutauchen.

Das Dashboard lässt sich einfach um weitere benutzerdefinierte Kacheln erweitern.

Darüber hinaus bietet Pega DevOps-Funktionen mit umfangreichen Tools, um die CI/CD-Pipeline (Continuous Integration/Continuous Delivery) zur kontinuierlichen Integration und Bereitstellung zu unterstützen.

  • Der Deployment Manager bietet Benutzern eine einfache, intuitive und sofort einsatzbereite Anwendung mit integrierten DevOps-Funktionen.
  • Der Deployment Manager nutzt die marktführende Pega-Technologie für das Case-Management. Sie erhalten damit eine automatisierte Orchestrierungs-Engine, mit der Sie CI/CD-Pipelines modellbasiert entwickeln und ausführen können.
  • Sie können Bereitstellungen unter Einbeziehung Ihrer Anwendungsaktualisierungen mit einem einfachen Mausklick ausführen, ohne auf Automatisierungsdienste von Drittanbietern wie Jenkins oder Bamboo zurückgreifen zu müssen. Vollständig automatisierte Pipelines tragen zu einer deutlichen Reduzierung der Durchlaufzeit bei, sodass Sie Ihren Endanwendern schneller einen Mehrwert bieten können.
  • Der Deployment Manager unterstützt die kontinuierliche Integration und Bereitstellung, die Testausführung, Berichterstellung und Diagnose, manuelle Genehmigungen, Bereitstellungsannulierungen, Rollbacks von Änderungen, Rollen und Berechtigungen sowie Benachrichtigungen.
  • Mit dem Deployment Manager können Sie die Guardrail-Compliance messen, PegaUnit- und Szenariotests ausführen und die Testabdeckung validieren.

Pega unterstützt verschiedene Tools zur Erstellung und Verwaltung automatisierter Testskripts. Dabei kann es sich sowohl um native Pega-Tools als auch um Drittanbieter-Tools handeln.

Nutzen Sie die Funktionen der Pega-Lösungen und anderer Branchenlösungen, um Ihre Testpyramide aufzubauen.

  • Erstellen Sie Komponententests.
  • Schaffen Sie eine solide Grundlage.  Mit dem PegaUnit-Test-Framework lassen sich Komponententest bestimmter Regeltypen in der Pega-Entwicklungsumgebung durchführen. Anwendungsentwickler können also schon während der Entwicklung von Regeln Komponententests erstellen. 
  • Erstellen Sie Funktionstests auf API-Ebene. Mit PegaAPI können Sie Tests programmieren, die die zugrunde liegende Logik verifizieren, ohne die UI zu durchlaufen. Dies ist besonders praktisch, wenn Sie ständig das Design der Benutzeroberfläche überarbeiten.
  • Erstellen Sie Szenariotests, um zu verifizieren, ob bestimmte End-to-End-Anwendungsfälle erwartungsgemäß funktionieren. PegaScenario macht sich die eindeutige Test-ID in den UI-Regeln zunutze, die das automatisierte Testen unterstützt. So können Sie zuverlässige und automatisierte UI-basierte Tests für jede Pega-Anwendung schreiben. 
  • Pega bietet plattformnative Tools, die die Komponenten der Testpyramide unterstützen.  Es werden zwar auch viele branchenübliche Tools unterstützt, aber die Pega-Tools sind beim Testen einer Pega-Anwendung in der Regel die beste Wahl.

Warum ist Automatisierung so wichtig?  Bei der Automatisierung geht es darum, Qualität und Wiederholbarkeit zu gewährleisten.

Auf der PegaUnit-Startseite können Sie alle PegaUnit-Tests anzeigen und verwalten. Filtern Sie die Liste mit den Tests, wählen Sie einzelne Tests für die Ausführung aus und zeigen Sie dann die Ergebnisse an, um sie im Detail zu analysieren. <Während des Sprechens langsam durchklicken>

  • Komponententests bilden die erste Testebene bei jeder Softwareentwicklungsmethode.
  • PegaUnits sind für „Regeln“ – die kleinsten prüfbaren Elemente in Pega-Anwendungen – konzipiert.
  • Regeln werden zunächst manuell vom System Architect getestet und dann in einen automatisierten Test übertragen, der zu einem späteren Zeitpunkt ausgeführt werden kann.
  • Umfangreiche Komponententests erhöhen das Vertrauen in die Änderung oder Beibehaltung des Codes und beschleunigen die Entwicklung, da Fehler frühzeitig erkannt werden können.
  • Mit Szenariotests wird die Funktion der UI getestet. Die Tests wurden ursprünglich in Drittanbieter-Tools wie Selenium und Rspecs geschrieben, deren Einrichtung und Pflege sich recht aufwendig gestaltete.
  • PegaScenario ist eine modellbasierte Technologie von Pega, mit der Sie die UI-Tests für Ihre Anwendungen automatisieren können.
  • Die Technologie ist einfach, intuitiv und sofort einsatzbereit. So können die Benutzer ihren Fokus auf das Testen legen, statt komplexen Code schreiben zu müssen.
  • PegaScenario bietet eine umfangreiche UI-Unterstützung. Dazu zählen u. a.:
    • sofort einsatzbereite Steuerelemente, Layouts und Listen
    • benutzerdefinierte Steuerelemente
    • Seitennavigation und lokale Aktionen
    • dynamische Daten
    • ein REST-Service, um Test-Cases per Remote-Aufruf auszuführen

Mit diesen einfachen Schritten lassen sich schnell und einfach Szenariotests über die Anwendungs-UI erstellen:

  1. Wählen Sie einen bestimmten Case-Typ oder das gesamte Portal zum Testen aus.
  2. Durchlaufen Sie das Szenario, das Sie testen möchten.
  3. Geben Sie einen Namen, eine Beschreibung und einen Kontext für den Test ein.
  4. Speichern Sie den Test in einem Regelsatz für die Testautomatisierung.
  5. Führen Sie die gespeicherten Szenariotests über das Panel „Scenario Test“ aus und debuggen Sie eventuelle Fehler.

Automatisierte Skripts sind Bestandteil des Deployment Managers und der Bereitstellungsprozesse. Durch die Ausrichtung auf die DevOps-Methode, die für ein gewisses Maß an Konsistenz beim Testen, bei der Verzweigungsmigration und der Überführung in die Produktionsumgebung sorgt, wird ein automatisierter Prozess gewährleistet, sodass Qualität und Konsistenz bei der Überführung in Staging-, Produktions- oder sonstige Umgebungen gegeben sind.

Gegenüber reinen Regressionstests bieten automatisierte Skripts bei einem Sprint viele Vorteile. Automatisierte Skripts sind Bestandteil des Deployment Managers und der Bereitstellungsprozesse. 

Testen ist wichtig und Pega hat die Tools und Prozesse, die den normalen Testansatz unterstützen und optimieren und so ein schnelleres, besseres und einfacheres Benutzererlebnis schaffen.

Prüfen Sie Ihr Wissen mit den folgenden Interaktionen.


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?

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