Glossario · Fondamenti del testing
Smoke testing
Detto anche: smoke test, test di fumo, smoke suite, build verification test
Definizione
Verifica rapida e superficiale delle funzioni più critiche di una nuova build per decidere se è abbastanza stabile da meritare test più approfonditi.
Lo smoke testing è un piccolo insieme di controlli veloci eseguiti su una build appena prodotta per rispondere a una sola domanda: vale la pena testare ancora questa build? Copre i percorsi più importanti in modo ampio ma superficiale. Se uno smoke test fallisce, la build viene respinta e nessuno perde tempo a testare nel dettaglio qualcosa che è rotto alla base.
Il nome viene dall’hardware: accendi il dispositivo e guardi se esce fumo prima di controllare qualsiasi altra cosa.
Esempio
Per un negozio online, una smoke suite potrebbe essere:
- La home page si carica e restituisce HTTP 200.
- Un utente riesce ad accedere.
- La ricerca restituisce risultati.
- Un prodotto può essere aggiunto al carrello.
- La pagina di checkout si apre.
Non verifica le regole degli sconti, i messaggi di validazione o i casi limite. Quelli appartengono alla suite di regressione.
Smoke testing e sanity testing a confronto
Sono i due termini confusi più spesso durante i colloqui.
| Smoke testing | Sanity testing | |
|---|---|---|
| Ambito | Ampio: l’intera applicazione, in superficie | Ristretto: un’area, un po’ più a fondo |
| Quando | A ogni nuova build | Dopo una correzione specifica o una piccola modifica |
| Domanda | “La build è abbastanza stabile per essere testata?” | “Questa correzione funziona e sembra sensata?” |
| Di solito | Scriptato e automatizzato | Spesso senza script, controlli manuali rapidi |
Un modo semplice per ricordarlo: lo smoke è largo e poco profondo, il sanity è stretto e mirato.
In una pipeline CI
Gli smoke test di solito girano subito dopo il deploy in un ambiente di test o di staging, e di nuovo dopo un rilascio in produzione come controllo post-deploy. Tienili entro pochi minuti. Se falliscono, la pipeline si ferma prima delle fasi più lente di regressione ed end-to-end. Una smoke suite che dura 40 minuti ha smesso di essere una smoke suite.