Che cos’è la continuous integration?

[Dal portale Atlassian] Niente crea (o distrugge) l’agilità come l’impegno di un team per la continuous integration (CI). Questo concetto potrebbe sembrare minaccioso (specialmente se il tuo team deve ancora implementare la CI), ma ci sono buone notizie: indipendentemente dalle tecnologie utilizzate da un team, è probabile che ci sia un framework di continuous integration e di test automatizzati che si adatta alla sua base di codice.

Che cos’è la continuous integration? 

La continuous integration è una best practice Agile e DevOps che consente di integrare con regolarità le modifiche al codice nel branch principale di un repository e testare le modifiche il prima e il più spesso possibile. Idealmente, gli sviluppatori integrano il codice ogni giorno, se non più volte al giorno.

Vantaggi della continuous integration 

L’investimento in CI si traduce in feedback rapidi sulle modifiche al codice. Per “rapido” intendiamo pochi minuti. Un team che si affida principalmente ai test manuali può ricevere i feedback in un paio d’ore, ma in realtà, i feedback completi sui test arrivano un giorno o diversi giorni dopo che il codice viene modificato. E a quel punto sono già state apportate altre modifiche e la correzione dei bug diventa una spedizione archeologica con gli sviluppatori che scavano nei diversi livelli di codice per arrivare alla radice del problema.

Decisamente, questo processo non è veloce.

Proteggi la qualità con build continue e automazione dei test 

Quanti di noi hanno scaricato il codice sorgente più recente e hanno riscontrato problemi di compilazione o un bug significativo? Proprio il contrario della produttività!

Per restare lontani da questa situazione, occorre seguire due pratiche:

Build continue: crea una build del progetto non appena viene apportata una modifica. Idealmente, la differenza tra ogni build è un singolo set di modifiche.

Automazione dei test: convalida programmatica del software per garantire la qualità. I test possono avviare azioni nel software dall’interfaccia utente (ne parleremo tra pochissimo) o dal livello dei servizi di back-end.

Pensa a queste due pratiche come al burro e la marmellata: hanno un buon sapore separatamente, ma sono fantastici insieme! La continuous integration accoppia le build continue con l’automazione dei test per garantire che in ogni build sia valutata anche la qualità della base di codice.

E ricorda: per realizzare appieno i vantaggi, un team deve anche avere la disciplina per mettere in pausa lo sviluppo e affrontare subito le interruzioni. L’energia che un team investe nella scrittura di test e nella configurazione dell’automazione (fai attenzione: si tratta proprio di un investimento) è inutile se le build vengono lasciate a languire nello stato di interruzione. Proteggere l’investimento in CI e proteggere la qualità della base di codice sono la stessa cosa.

Per approfondire questo argomento ti suggerisco di visitare il portale di Atlassian

Comments are closed