Certificazioni DevOps ufficiali

Formazione scritta DevOps

Perché serve l'automazione dei test nell'organizzazione DevOps?


Se il reparto che rilascia il software non ha ancora un'automazione dei test adeguata, c'è una netta separazione tra sviluppo e test. Gli sviluppatori ricevono feedback tardivi sulla qualità del lavoro mentre sono già impegnati in altre attività. Spesso sfugge loro il rapporto di causa ed effetto tra il codice scritto (o omesso) e i difetti. Tornare con la mente a quando hanno introdotto i difetti richiede un cambio di contesto che riduce la produttività. Con un feedback tardivo, il legame tra sistemi e difetti è complesso e poco chiaro, quindi è irrealistico aspettarsi correzioni di qualità senza soluzioni di ripiego.

Senza automazione dei test, l'organizzazione DevOps impiegherebbe più tempo e denaro per rilasciare prodotti e servizi di qualità. Nel XXI secolo questo non è più un modello scalabile per un'organizzazione tecnologica, in qualunque settore operi.

Puoi automatizzare i test,
ma creare qualità richiede il lavoro del team

Il team DevOps dovrebbe automatizzare il maggior numero possibile di casi di test. Puoi automatizzare i test, ma non le capacità di ragionamento con cui il team crea qualità. Evita quindi di sprecare il tempo delle persone per attività ripetitive e ripetibili che il software può svolgere al loro posto.

Principi DevOps per una buona automazione dei test

  • L'automazione dei test deve fornire un riscontro tempestivo e precoce sulla qualità del lavoro.
  • A parità di condizioni nelle diverse esecuzioni, i test devono produrre risultati coerenti, deterministici e ripetibili.
  • I test non dovrebbero generare falsi positivi.
  • Pochi casi di test automatizzati e affidabili sono preferibili a molti test non automatizzati e inaffidabili, che possono dare risultati incoerenti anche a parità di condizioni.
  • L'automazione dovrebbe concentrarsi per prima cosa sulla convalida delle funzionalità e dei vantaggi principali che i sistemi offrono ai clienti interni ed esterni. Anche solo questo livello di automazione è molto meglio di nessuna automazione.
  • In seguito, automatizza il maggior numero possibile di casi di test per valorizzare al meglio il tempo delle persone nei team DevOps.
  • Nell'automazione dei test, evita riscontri lenti e periodici. Serve un riscontro rapido ogni volta che tu o uno sviluppatore tentate di integrare codice nel trunk.
  • Se i test automatizzati non sono abbastanza veloci, cerca modi per accelerare i test e/o il software. È fondamentale per avere una piattaforma di rilascio continuo e una pipeline di deployment affidabili e offrire un servizio di qualità ai clienti. Per aumentare ancora la velocità, esegui i test automatizzati in parallelo.
  • Valuta lo sviluppo guidato dai test (TDD). Scrivi prima i test automatizzati, poi realizza il software.

L'automazione dei test è essenziale per il rilascio continuo e la pipeline di deployment

Come abbiamo visto, DevOps permette agli sviluppatori di distribuire il proprio codice nei sistemi di produzione. Osservando i primi team DevOps nelle organizzazioni si è però visto che, pur registrando rapidamente il codice nel trunk e chiudendo attività e ticket, gli sviluppatori esitavano a premere il pulsante per rilasciarlo in produzione. Temevano di compromettere la produzione e di esserne ritenuti responsabili.

Gli sviluppatori sono riusciti a superare questa paura solo quando i team DevOps hanno ottenuto una copertura dei test ampia e affidabile grazie all'automazione.

Per esempio, in Google, quando uno sviluppatore registra codice nel trunk, dopo controlli iniziali come l'analisi statica del codice, l'analisi delle duplicazioni e della copertura, il codice viene verificato con quasi un milione di casi di test automatizzati. Se tutti i controlli e i test riescono, la build viene generata dal trunk, messa in produzione e replicata sugli altri server di produzione. È più o meno così che 5.000 piccoli team indipendenti di Google rimangono produttivi ed eseguono decine di migliaia di deployment in produzione ogni giorno. Senza automazione dei test non sarebbe possibile.

Un feedback rapido e affidabile è l'unico modo per avere una pipeline di deployment sicura e proteggerne l'integrità. Quando la pipeline si blocca perché alcuni casi di test automatizzati falliscono, il team DevOps corregge codice e configurazione errati prima di integrare altro lavoro nel trunk. Inoltre, ogni volta che rilevi nella pipeline un errore che si sarebbe potuto individuare e prevenire con un caso di test automatizzato, crei quel caso di test e lo aggiungi al repository dei test automatizzati.

Tipi di test che puoi automatizzare

  • Test unitari: Convalidano singole funzioni, classi o moduli delle applicazioni.
  • Test di accettazione: Convalidano le funzionalità e i vantaggi che le applicazioni offrono ai clienti.
  • Test di integrazione (dei servizi): Convalidano l'interazione tra le applicazioni e i flussi completi dei servizi.
  • Test di prestazioni e stress: Convalidano la capacità dei servizi di scalare, o meno, con carichi previsti e imprevisti dei client. Sono particolarmente importanti per i servizi più usati.
  • Test non funzionali: Servono a convalidare sicurezza, disponibilità, capacità e scalabilità.

Se tu e il team faticate ad automatizzare i test unitari e di accettazione e dipendete molto dai test di integrazione automatizzati, probabilmente l'architettura è strettamente accoppiata. Cerca modi per disaccoppiarne gli elementi.

CONCLUSIONE

In questo capitolo abbiamo illustrato l'importanza dell'automazione dei test in DevOps. Automatizzare i test è fondamentale per rilasciare software in modo sicuro e rapido.

Che l'organizzazione adotti DevOps o meno, senza test automatizzati è impossibile avere un'organizzazione IT di livello internazionale, produttiva, redditizia e in grado di servire bene i clienti interni ed esterni.



Ti garantiamo che la formazione online gratuita ti farà superare l'esame di certificazione DevOps!

  1. 01

    Iscriviti online

    Scegli la tua certificazione accreditata e completa l’iscrizione.

  2. 02

    Ricevi il codice di accesso

    Il tuo codice personale di accesso all’esame arriva subito via email.

  3. 03

    Preparati e sostieni l’esame

    Studia con la formazione gratuita e rispondi online a 50 domande a scelta multipla.

  4. 04

    Ottieni una credenziale valida a vita

    Ricevi un certificato valido in tutto il mondo e un badge digitale verificabile.

Esempio di certificato Certified DevOps Generalist™
Iscriviti alla certificazione

LA TUA FORMAZIONE PREMIUM ONLINE GRATUITA

Ottieni la terza edizione di DevOps Revealed

Abbiamo creato la tua formazione con un consorzio di rinomati dirigenti aziendali e responsabili di team, DevOps Coach, mentori, esperti e autorità dei principali settori. Tutti i visitatori di International DevOps Certification Academy™ possono accedervi. Trovi i materiali tramite Il tuo libro DevOps gratuito e La tua formazione DevOps gratuita di livello avanzato del menu principale.

Questi materiali sono proprietà intellettuale di International DevOps Certification Academy™ e sono tutelati dal diritto d'autore. Li condividiamo gratuitamente con tutti, perché condividere le nostre competenze sostiene i professionisti DevOps e aiuta il settore a crescere.

L'esame di certificazione prevede domande a scelta multipla. Leggi il materiale di formazione online per acquisire le conoscenze necessarie a superare l'esame e ottenere la certificazione DevOps.

Ti garantiamo che la formazione online gratuita di livello avanzato ti farà superare l'esame di certificazione DevOps!