Einführung functional-testing-introduction
Erfahren Sie mehr über die im AEM as a Cloud Service-Bereitstellungsprozess verfügbaren Qualitäts-Gates, die verschiedenen Arten von integrierten Funktionstests, wie Sie einen Beitrag leisten können und wie Sie diese im Rahmen einer umfassenden Teststrategie optimal nutzen können.
Übersicht
Das folgende Diagramm bietet einen allgemeinen Überblick über die verfügbaren Pipelines im Kontext einer Gesamtteststrategie und des AEM as a Cloud Service-Bereitstellungsprozesses.
Zweck
Die Pipelines zur AEM Cloud Service-Implementierung haben den Zweck, eine robuste und sichere Bereitstellung in verschiedenen Phasen des Entwicklungs- und AEM-Produktveröffentlichungslebenszyklus zu erleichtern. Diese Pipelines enthalten mehrere Qualitäts-Gates auf unterschiedlichen Ebenen, um die Integrität und Sicherheit von Bereitstellungen sowohl für Ihre AEM-Anwendungsänderungen als auch für AEM-Produktaktualisierungen zu gewährleisten.
Adobe bietet mehrere integrierte Qualitäts-Gates, während andere Ihren Eingriff für die Implementierung und Konfiguration erfordern. Diese Qualitäts-Gates sind vielseitig, wobei einige in verschiedenen Phasen des Lebenszyklus anwendbar sind und sogar in Ihre eigene Entwicklungseinrichtung und CI/CD-Prozesse integriert werden können.
Die integrierten Qualitäts-Gates validieren in erster Linie die Funktionalität des AEM-Produkts im Kontext Ihrer AEM-Anwendung. Die von Ihnen eingerichteten benutzerdefinierten QualitätsGates hingegen dienen dazu, zu überprüfen, ob die kritischen Funktionen und Benutzerinteraktionen Ihrer Anwendung wie gewünscht funktionieren. Gemeinsam arbeiten diese beiden Sets von Qualitäts-Gates zusammen, um eine robuste und sichere automatisierte Bereitstellung sowohl für Ihre Änderungen am Code als auch für AEM-Produktaktualisierungen sicherzustellen.
Es ist wichtig zu beachten, dass diese Qualitäts-Gates nicht als umfassendes Test-Framework für Ihre gesamte Teststrategie gedacht sind. Das AEM-Produkt wird umfassend getestet, bevor es in den AEM Cloud Service-Bereitstellungsprozess eintritt. Ebenso sollte Ihre Anwendung bereits von hoher Qualität sein, bevor sie die Bereitstellungsphase erreicht. Dieser Ansatz stellt sicher, dass sich die Qualitäts-Gates auf ihr vorrangiges Ziel konzentrieren, den sicheren Implementierungsprozess zu gewährleisten, anstatt ein vollständiges Testverfahren zu ersetzen.
Qualitäts-Gates
Das folgende Diagramm bietet einen detaillierten Überblick über die verfügbaren Qualitäts-Gates und deren Verwendung in der Gesamtteststrategie sowie den AEM as a Cloud Service-Bereitstellungsprozess.
Zusammenfassung zu kundenseitig bereitgestellten Qualitäts-Gates
Funktionstests
Benutzeroberflächentests
Tests
Blockieren
Blockieren
60 min Zeitüberschreitung
Blockieren
60 min Zeitüberschreitung
Blockieren
Blockieren
60 min Zeitüberschreitung
Blockieren
60 min Zeitüberschreitung
Blockieren
Blockieren
60 min Zeitüberschreitung
Blockieren
60 min Zeitüberschreitung
Komponententest
Es wird empfohlen, die Komponententests für Ihre AEM-Anwendung bereitzustellen. Sie bilden die Grundlage jeder Teststrategie. Sie sollten schnell und oft ausgeführt werden und frühzeitig und schnell Feedback geben. Sie sind eng in die Entwickler-Workflows, Ihre eigenen CI/CD- und die AEM Cloud Service-Bereitstellungs-Pipelines integriert.
Sie werden mit JUnit implementiert und mit Maven ausgeführt. Unter Kernmodul des AEM-Projektarchetyps finden Sie ein Beispiel für einen Komponententest für AEM und für den Einstieg.
Code-Qualität
Dieser Qualitätstest ist standardmäßig konfiguriert und führt eine statische Code-Analyse für Ihren AEM-Anwendungs-Code durch.
Unter Testen der Code-Qualität und Qualitätsregeln für benutzerspezifischen Code finden Sie weitere Informationen.
Produkttests
Produktfunktionstests sind eine Reihe stabiler HTTP-Integrationstests (ITs) mit Kernfunktionen in AEM wie Authoring- und Replikationsaufgaben. Adobe stellt sie standardmäßig bereit und verwaltet sie. Sie sollen verhindern, dass Änderungen an benutzerdefiniertem Anwendungs-Code bereitgestellt werden, wenn dadurch die Kernfunktionalität im AEM-Produkt beeinträchtigt wird.
Sie werden mithilfe von Junit implementiert, mithilfe von Maven ausgeführt und nutzen die offiziellen AEM-Test-Clients. Die Produkttestsuite wird als
Open-Source-Projekt verwaltet, folgt Best Practices und kann als guter Ausgangspunkt für die Implementierung Ihrer Tests betrachtet werden.
Benutzerdefinierte Funktionstests
Wie die Produkttests sind Kundenfunktionstests HTTP-Integrationstests (ITs) und werden ebenso mit Junit implementiert, mit Maven ausgeführt und auf offiziellen AEM-Testclients erstellt.
Damit Pipeline-Ausführungen effizient bleiben, empfehlen wir, dass Sie sich auf Schlüsselfunktionen und die wichtigsten Benutzerinteraktionsabläufe konzentrieren. Es wird empfohlen, für Funktionstests eine Ausführungszeit von höchstens 15 Minuten festzulegen. Es wird empfohlen, vollständige Funktions-Test-Suites, die nicht in diesen Qualitätstest passen, im Rahmen der allgemeinen Kundenvalidierungs-Pipelines während des Entwicklungsablaufs des Kunden bzw. der Kundin auszuführen.
Beispiele finden Sie unter Open-Source-Produkttests oder it.tests-Modul des AEM-Projektarchetyps.
Weitere Informationen finden Sie unter Java-Funktionstests.
Benutzerdefinierte Benutzeroberflächentests
Um die Risikokontrolle für Ihre kundenspezifische Entwicklung zu maximieren, empfiehlt Ihnen Adobe dringend, kritische Benutzeroberflächentests in AEMCS zu erfassen. Sie sollten zahlenmäßig relativ begrenzt bleiben, haben jedoch die größten Auswirkungen auf Ihr Kundenerlebnis.
Die Tests sind in einem Docker-Image verpackt, das so flexibel wie möglich ist (mit Unterstützung für Cypress, Selenium, Java und JavaScript). Sie folgen denselben Merkmalen und Zwecken wie die benutzerdefinierten Funktionstests.
Damit Pipeline-Ausführungen effizient bleiben, empfehlen wir, dass Sie sich auf Schlüsselfunktionen und die wichtigsten Benutzerinteraktionsabläufe konzentrieren. Es wird empfohlen, Testsuiten der vollständigen Benutzeroberfläche, die nicht zu diesen Qualitätstests passen, während des Kundenentwicklungsflusses als Teil der allgemeinen Kundenvalidierungs-Pipelines auszuführen.
Beispiele finden Sie unter Open-Source-Beispieltests oder ui.tests-Modul des AEM-Projektarchetyps.
Weitere Informationen finden Sie unter Testen der benutzerdefinierten Benutzeroberfläche.
Experience Audit
Der Experience Audit-Qualitätstest führt Google Lighthouse-Audits auf der Webseite des Kunden durch.
Dieser Qualitätstest wird von AEM vordefiniert bereitgestellt, blockiert jedoch nicht die Bereitstellungs-Pipelines. Standardmäßig wird ein Audit für die Stammseite (/
) der Veröffentlichungsinstanz durchgeführt. Sie können einen Beitrag leisten, indem Sie bis zu 25 benutzerdefinierte Pfade konfigurieren, die für Audits berücksichtigt werden.
Weitere Details finden Sie unter Testen mit Experience Audit.
Kundenvalidierungen
Der Qualitätstest für Kundenvalidierungen ist ein Platzhalter für die eigene Teststrategie und den eigenen Aufwand auf Kundenseite. Er wird ausgeführt, bevor die kundenseitigen Anwendungsänderungen die AEM-Cloud-Bereitstellungs-Pipelines erreichen.
Hier können Sie die Tools und Frameworks auswählen, die Sie bevorzugen. Im Gegensatz zu Kundenfunktionstests und benutzerdefinierten Tests der Benutzeroberfläche gibt es keine mit AEM as a Cloud Service zusammenhängenden Beschränkungen. Daher empfehlen wir, hier langwierige Funktions- und Benutzeroberflächentests durchzuführen.
Es steht Ihnen zwar frei, ein beliebiges Tool und Framework auszuwählen, wir empfehlen jedoch, HTTP-basierte Integrationstests und Benutzeroberflächentests mit den Tools und Frameworks abzustimmen, die in den Qualitätstests für benutzerdefinierte Funktionstests und benutzerdefinierte Tests der Benutzeroberfläche verfügbar sind. Wir empfehlen die Integration von schnellen Entwicklungsumgebungen (RDE) in Ihre lokale Teststrategie, um so nah wie möglich an AEM-Cloud-Umgebungen zu testen.
Manuelle Tests
Das Qualitäts-Gate für manuelle Tests ist ein Platzhalter für Kunden, die manuelle Tests durchführen. AEM-Cloud-Pipelines unterstützen keine manuellen Tests. Daher müssen sie im Rahmen Ihrer eigenen lokalen Teststrategie durchgeführt werden.
Für manuelle Tests kann die Integration in eine zusätzliche AEM Cloud Service-Entwicklungsumgebung nützlich sein.