REL08-BP02 Integrieren von Funktionstests in die Bereitstellung
Funktionstests werden im Rahmen der automatisierten Bereitstellung ausgeführt. Wenn die Erfolgskriterien nicht erfüllt sind, wird die Pipeline angehalten oder rückgängig gemacht. Diese Tests werden in einer Vorproduktionsumgebung ausgeführt, die vor der Produktion in der Pipeline bereitgestellt wird. Idealerweise erfolgt dies im Rahmen einer Bereitstellungspipeline.
Gewünschtes Ergebnis: Sie verwenden Automatisierung, um Funktionstests durchzuführen, und die zugehörigen Testdaten reduzieren die Testdauer und die Kosten und verbessern die Genauigkeit der Testergebnisse. Sie integrieren Funktionstests als Teil Ihres Bereitstellungsprozesses, was Ihnen hilft, Ihre Veröffentlichungspipelines für schnelle und zuverlässige Anwendungs- und Infrastrukturupdates zu automatisieren.
Typische Anti-Muster:
-
Sie führen Tests außerhalb der Bereitstellungspipeline manuell durch.
-
Sie überspringen Testschritte in Ihrer Automatisierung durch manuelle Notfall-Workflows.
-
Sie folgen nicht Ihren etablierten Testplänen und Prozessen zugunsten beschleunigter Zeitpläne.
Vorteile der Nutzung dieser bewährten Methode: Funktionstests bestätigen, dass das System gemäß den angegebenen Anforderungen funktioniert. Sie werden verwendet, um die beabsichtigte Funktionsreihenfolge von Komponenten wie Benutzeroberflächen, APIs, Datenbanken und Quellcode konsistent zu überprüfen. Wenn Sie diese Systemkomponenten untersuchen, stellen Funktionstests sicher, dass sich jedes Feature wie erwartet verhält, wodurch sowohl die Benutzererwartungen als auch die Integrität der Software geschützt werden. Integrieren Sie Funktionstests als Teil Ihrer regulären Bereitstellung und nutzen Sie die Automatisierung, um alle Änderungen umzusetzen, wodurch das Risiko menschlicher Fehler reduziert wird.
Risikostufe bei fehlender Befolgung dieser bewährten Methode: Hoch
Implementierungsleitfaden
Integrieren Sie Funktionstests in Ihre Bereitstellung. Funktionstests werden im Rahmen der automatisierten Bereitstellung ausgeführt. Wenn die Erfolgskriterien nicht erfüllt werden, wird die Pipeline gestoppt oder rückgängig gemacht. AWS CodePipeline bietet eine Continuous-Delivery-Pipeline für automatisierte Tests, die es Testern ermöglicht, den gesamten Test- und Bereitstellungsprozess zu automatisieren. Es lässt sich in AWS-Services wie AWS CodeBuild und AWS CodeDeploy zur Automatisierung der Erstellungs-, Test- und Bereitstellungsphasen des Softwareentwicklungszyklus integrieren.
Implementierungsschritte
-
Konfigurieren Sie Ihre Pipeline: Richten Sie Ihre Quell-, Build-, Test- und Bereitstellungsphasen mithilfe der AWS CodePipeline-Konsole oder AWS Command Line Interface (CLI) ein.
-
Definieren Sie Ihren Quellcode: Mit AWS CodePipeline können Sie automatisch Quellcode von Versionskontrollsystemen wie GitHub, AWS CodeCommit oder Bitbucket abrufen, wodurch verifiziert wird, dass immer der neueste Code zum Testen verwendet wird..
-
Automatisieren Sie Builds und Tests: AWS CodeBuild kann Ihren Code automatisch erstellen und testen und Testberichte generieren. Es unterstützt beliebte Testframeworks wie JUnit, NUnit und TestNG.
-
Stellen Sie Ihren Code bereit: Sobald der Code erstellt und getestet wurde, kann AWS CodeDeploy ihn in Ihrer Testumgebung bereitstellen, einschließlich Amazon EC2-Instances, AWS Lambda-Funktionen oder On-Premises-Servern.
-
Überwachen Sie Pipelines: AWS CodePipeline kann den Fortschritt Ihrer Pipeline und den Status jeder Phase verfolgen. Sie können auch Qualitätsprüfungen verwenden, um die Pipeline gemäß dem Testausführungsstatus zu blockieren. Außerdem können Sie Benachrichtigungen über jeden Ausfall einer Pipeline-Phase oder den Abschluss einer Pipeline erhalten.
-
Ressourcen
Zugehörige Dokumente: