Junior
Quali tipi di test hai applicato nei tuoi progetti?
sobes.tech AI
Risposta dell'AI
Applicava i seguenti tipi di test:
Test funzionali:
- Test unitari: Scriveva o revisionava frequentemente test nell'ambito delle attività di sviluppo, specialmente quando i team seguivano TDD.
- Test di integrazione: Testava l'interazione tra moduli, servizi, database.
- Test di sistema: Testava il sistema nel suo complesso, verificando la conformità ai requisiti.
- Test di accettazione: In collaborazione con analisti di business o clienti, verificava se il prodotto soddisfaceva le aspettative.
Test non funzionali:
- Test di carico: Verificava le prestazioni del sistema sotto diversi livelli di carico, usando strumenti come JMeter, LoadRunner.
- Test di stress: Determinava la resistenza del sistema a carichi estremi.
- Test di stabilità (Endurance testing): Test prolungati per individuare problemi legati a perdite di memoria o degrado delle prestazioni nel tempo.
- Test di sicurezza: Eseguiva analisi statica e dinamica del codice, fuzz testing, test manuali per individuare vulnerabilità come XSS, SQL Injection, e altre.
- Test di usabilità: Analizzava quanto fosse intuitiva e comoda l'interfaccia per l'utente finale.
- Test di compatibilità: Verificava il funzionamento dell'applicazione in diversi ambienti (browser, sistemi operativi, dispositivi).
Test di modifiche:
- Test di regressione: Verificava che le modifiche non avessero compromesso le funzionalità esistenti. L'automazione di questo tipo di test era prioritaria.
- Test di fumo (Sanity check / Smoke testing): Test rapidi delle funzioni principali dopo build o deployment.
Test basati su un approccio strutturale (White-box):
- Coverage testing: Analizzava la copertura del codice tramite test (statement, branch, path coverage) per identificare lacune.
A seconda del progetto e delle sue specificità, venivano applicati anche altri tipi, come i test A/B nell'ambito dell'analisi di prodotto. L'obiettivo principale era l'automazione dei test di regressione e di integrazione per mantenere alta la qualità del prodotto durante tutto il ciclo di vita.