Vai al contenuto
SDETRole
SDETRole

Glossario · Fondamenti del testing

Shift-left testing

Detto anche: shift left, shift-left, approccio shift-left, test shift-left

Definizione

Anticipare test e attività di qualità nel ciclo di consegna del software, così i difetti vengono prevenuti o intercettati quando correggerli costa meno.

Shift-left testing significa fare il lavoro sulla qualità prima: a sinistra di una linea temporale che va dai requisiti al rilascio. Invece di una fase di test dopo la fine dello sviluppo, tester e sviluppatori revisionano i requisiti, concordano i criteri di accettazione, scrivono test automatici insieme al codice e li eseguono a ogni commit. Un difetto trovato durante la revisione dei requisiti costa una conversazione; lo stesso difetto trovato in produzione costa un incidente.

Come si presenta nella pratica

  • Refinement. Un tester chiede “cosa succede se il coupon è scaduto?” prima che esista una riga di codice, e la risposta diventa un criterio di accettazione.
  • Progettazione. La testabilità si discute fin dall’inizio: test ID stabili, endpoint API per popolare i dati, feature flag.
  • Sviluppo. Gli unit test e i test API vengono scritti insieme alla funzionalità, non settimane dopo. Analisi statica e linting girano nell’editor e sulle pull request.
  • CI. Ogni pull request esegue le suite veloci e un fallimento blocca il merge.

Shift left e shift right

Lo shift-right testing è l’idea complementare: imparare dalla produzione tramite monitoraggio, canary release, feature flag, controlli sintetici ed esperimenti A/B. Alcuni problemi, come i pattern di traffico reali o i disservizi di terze parti, emergono solo in produzione. I team maturi fanno entrambe le cose. Spostarsi a sinistra non è un motivo per smettere di osservare cosa succede dopo il rilascio.

Errori comuni

  • Cambiare nome senza cambiare nulla. Se i tester ricevono ancora una build finita e una scadenza, non si è spostato niente. La prova è se le conversazioni sulla qualità avvengono prima che il codice venga scritto.
  • Far fare tutti i test agli sviluppatori da soli. Lo shift-left distribuisce il testing su tutto il team; non elimina il bisogno di competenze di testing. Spesso i tester si spostano verso coaching, test design e sviluppo di strumenti.
  • Spostare solo l’automazione. Eseguire prima i test UI aiuta, ma i guadagni maggiori di solito arrivano dal chiarire i requisiti e dallo spostare i controlli verso il livello unit e API.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →