Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Test per pipeline CI/CD
I due tipi di test automatici a cui si fa comunemente riferimento nelle pipeline di distribuzione sono i test unitari e i test di integrazione. Tuttavia, esistono molti tipi di test che è possibile eseguire su una base di codice e nell'ambiente di sviluppo. L'architettura di riferimento di AWS Deployment Pipeline
-
Test unitario: questi test creano ed eseguono il codice dell'applicazione per verificare che funzioni in base alle aspettative. Simulano tutte le dipendenze esterne utilizzate nella codebase. Esempi di strumenti di unit test includono JUnit
Jest e pytest. -
Test di integrazione: questi test verificano che l'applicazione soddisfi i requisiti tecnici eseguendo test in un ambiente di test predisposto. Esempi di strumenti di test di integrazione includono Cucumber
, VRest NG e integ-tests (for). AWS CDK -
Test di accettazione: questi test verificano che l'applicazione soddisfi i requisiti degli utenti eseguendo test in un ambiente di test predisposto. Esempi di strumenti di test di accettazione includono Cypress
e Selenium. -
Test sintetici: questi test vengono eseguiti continuamente in background per generare traffico e verificare che il sistema sia integro. Esempi di strumenti di test sintetici includono Amazon CloudWatch Synthetics e
Dynatrace Synthetic Monitoring. -
Test delle prestazioni: questi test simulano la capacità di produzione. Determinano se l'applicazione soddisfa i requisiti prestazionali e confrontano le metriche con le prestazioni precedenti. Esempi di strumenti di test delle prestazioni includono Apache JMeter
, Locust e Gatling. -
Test di resilienza: noti anche come test del caos, questi test iniettano i guasti negli ambienti per identificare le aree a rischio. I periodi in cui i guasti vengono iniettati vengono quindi confrontati con i periodi senza errori. Esempi di strumenti di test di resilienza includono e Gremlin. AWS Fault Injection Service
-
Test statico di sicurezza delle applicazioni (SAST): questi test analizzano il codice per rilevare eventuali violazioni della sicurezza, come SQL injection
o cross-site scripting (XSS). Esempi di strumenti SAST includono Amazon CodeGuru e SonarQube Checkmarx . -
Test dinamici di sicurezza delle applicazioni (DAST): questi test sono noti anche come test di penetrazione o pen test. Identificano le vulnerabilità, come SQL injection o XSS in un ambiente di test predisposto. Esempi di strumenti DAST includono Zed Attack Proxy (ZAP
) e HCL. AppScan Per ulteriori informazioni, vedere Penetration Testing.
Non tutte le pipeline CI/CD completamente eseguono tutti questi test. Tuttavia, come minimo, una pipeline dovrebbe eseguire test unitari e test SAST sulla base di codice, nonché test di integrazione e accettazione in un ambiente di test.