talk

Total testing in DevOps

Abstract

Si parla tanto di DevOps e alle conferenze gli argomenti più gettonati sono pipeline di build, CI/CD, deploy automation e monitoring.

Ci stiamo dimenticando qualcosa… i test! Dove sono finiti? Perché non si parla quasi mai del loro ruolo centrale? In questo fantastico mondo DevOps, come si inseriscono davvero i test?

I test non sono solo un singolo passaggio automatizzato nella build. Se fosse così, questo intervento si intitolerebbe “Continuous Testing in DevOps”. Attraverso il concetto di Total Testing, vedremo come applicare il testing — e collezionare feedback continui — a ogni singola fase del ciclo di vita del software: dal branching all’infrastruttura come codice, fino al planning e al monitoring.

Cosa hanno imparato i partecipanti

Partecipando a questo talk, i partecipanti hanno scoperto come superare la visione riduttiva dei test come semplice fase della pipeline, apprendendo un approccio olistico al feedback continuo in ambito DevOps. In particolare, hanno imparato a:

  • testare oltre la pipeline CI/CD: i test non sono un singolo step automatizzato della build, ma rappresentano l’elemento chiave per raccogliere feedback continui lungo l’intero ciclo di vita DevOps.
  • Testing applicato a processi e infrastruttura: è possibile (e necessario) testare non solo il codice applicativo, ma anche la Delivery, l’Automazione dei Deploy, la Configuration Management e la fase di Operability.
  • L’approccio Everything as Code: strumenti come la build automation e la gestione delle configurazioni possono essere scritti e verificati tramite DSL o linguaggi di programmazione, trattandoli a tutti gli effetti come codice (Pipeline as Code, Deploy Automation as Code, Unit Testing con tool dedicati).
  • Valutazione di usabilità, prestazioni e sicurezza: per ogni fase del flusso di lavoro occorre analizzare aspetti oltre il semplice superamento dei test funzionali, inclusi chiarezza dei log, velocità delle build/deploy, isolamento degli ambienti e sicurezza degli accessi.
  • Testare fin dalla fase di Planning: l’efficacia di un’idea o di un’interfaccia (UX e feature) può essere testata preventivamente con gli utenti tramite sondaggi e landing page prima di passare allo sviluppo vero e proprio.
  • Monitoraggio guidato dall’utente: il monitoring in produzione deve fornire poche informazioni ma di valore (es. anomalie di carico o rallentamenti), tenendo presente che l’utente finale resta il miglior indicatore dello stato della rete.
  • Cultura del feedback rapido e della sperimentazione: l’obiettivo finale di DevOps non è l’automazione fine a se stessa, ma l’ottenimento del feedback nel minor tempo possibile prima di andare in produzione, mantenendo un atteggiamento orientato all’esplorazione e alla ricerca di soluzioni alternative.

Materiali

Vuoi lavorare su questo tema con il tuo team?

Raccontami il contesto: vediamo se un talk o un workshop interno può aiutare il tuo team a fare un passo avanti.

Scopri come posso aiutarti