

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Tests für CI/CD Pipelines
<a name="tests-for-cicd-pipelines"></a>

Die beiden Arten automatisierter Tests, auf die in Bereitstellungspipelines häufig Bezug genommen wird, sind *Komponententests* und *Integrationstests*. Es gibt jedoch viele Arten von Tests, die Sie auf einer Codebasis und in der Entwicklungsumgebung ausführen können. Die [AWS Deployment Pipeline Reference Architecture](https://pipelines.devops.aws.dev/application-pipeline/) definiert die folgenden Testtypen:
+ **Komponententest** — Diese Tests erstellen Anwendungscode und führen ihn aus, um zu überprüfen, ob er erwartungsgemäß funktioniert. Sie simulieren alle externen Abhängigkeiten, die in der Codebasis verwendet werden. [Beispiele für Unit-Test-Tools sind [JUnit](https://junit.org/), [Jest](https://jestjs.io/) und Pytest.](https://docs.pytest.org/en/stable/)
+ **Integrationstest** — Diese Tests verifizieren, dass die Anwendung die technischen Anforderungen erfüllt, indem sie anhand einer bereitgestellten Testumgebung getestet werden. Beispiele für Integrationstesttools sind [Cucumber](https://cucumber.io/), [vRest NG](https://vrest.io/) und [Integ-Tests](https://docs.aws.amazon.com/cdk/api/v2/docs/integ-tests-alpha-readme.html) (for). AWS CDK
+ **Akzeptanztest** — Bei diesen Tests wird anhand einer bereitgestellten Testumgebung überprüft, ob die Anwendung die Benutzeranforderungen erfüllt. [Zu den Tools für Akzeptanztests gehören beispielsweise [Cypress](https://cypress.io/) und Selenium.](https://selenium.dev/)
+ **Synthetischer Test** — Diese Tests werden kontinuierlich im Hintergrund ausgeführt, um Traffic zu generieren und zu überprüfen, ob das System fehlerfrei ist. Beispiele für synthetische Testtools sind [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) und [Dynatrace](https://www.dynatrace.com/monitoring/platform/synthetic-monitoring/) Synthetic Monitoring.
+ **Leistungstest** — Diese Tests simulieren die Produktionskapazität. Sie ermitteln, ob die Anwendung die Leistungsanforderungen erfüllt, und vergleichen die Kennzahlen mit der Leistung in der Vergangenheit. [Zu den Tools für Leistungstests gehören beispielsweise [Apache JMeter](https://jmeter.apache.org/), [Locust](https://locust.io/) und Gatling.](https://gatling.io/)
+ **Resilienztest** — Diese Tests, auch *Chaostests* genannt, führen zu Fehlern in Umgebungen, um Risikobereiche zu identifizieren. Perioden, in denen die Fehler auftreten, werden dann mit Perioden ohne Fehler verglichen. Zu den Tools für Resilienz-Tests gehören beispielsweise [AWS Fault Injection Service](https://aws.amazon.com/fis/)[Gremlin](https://www.gremlin.com/).
+ **Statischer Anwendungssicherheitstest (SAST)** — Diese Tests analysieren Code auf Sicherheitsverletzungen wie [SQL-Injection](https://owasp.org/www-community/attacks/SQL_Injection) oder [Cross-Site Scripting](https://owasp.org/www-community/attacks/xss/) (XSS). Beispiele für SAST-Tools sind [Amazon CodeGuru](https://aws.amazon.com/codeguru/) und [SonarQube](https://www.sonarqube.org/)[Checkmarx](https://checkmarx.com/).
+ **Dynamischer Anwendungssicherheitstest (DAST)** *— Diese Tests werden auch als *Penetrationstests oder Penetrationstests* bezeichnet.* Sie identifizieren Sicherheitslücken wie SQL-Injection oder XSS in einer bereitgestellten Testumgebung. [Beispiele für DAST-Tools sind [Zed Attack Proxy (ZAP](https://www.zaproxy.org/)) und HCL. AppScan](https://www.hcltechsw.com/appscan) [Weitere Informationen finden Sie unter Penetrationstests.](https://aws.amazon.com/security/penetration-testing/)

Nicht alle CI/CD Full-Pipelines führen alle diese Tests durch. Eine Pipeline sollte jedoch mindestens Unit-Tests und SAST-Tests auf der Codebasis sowie Integrations- und Akzeptanztests in einer Testumgebung ausführen.