Ciclo continuo di feedback di integrazione

2

Quanto dovrebbe durare il processo di Continuous Integration (cioè compilare classi e test di unità in esecuzione + test di integrazione)?

Sul mio progetto attuale ci vogliono circa 30 minuti, va bene? Qual è la durata ideale del tempo di costruzione?

I test di integrazione richiedono la maggior parte di quel tempo, se i 30 minuti sono troppo lunghi e cosa può essere fatto qui?

Qual è l'impatto del completamento della compilazione in 30 minuti?

    
posta jakstack 09.03.2013 - 11:36
fonte

3 risposte

5

Separa i tuoi test unitari o altrimenti i test rapidi da test di integrazione più lenti. Cerca di mantenere i test di 'commit' in meno di 10 minuti (non molto più tempo necessario per prendere una tazza di caffè).

Dividi i test unitari da tutto ciò che richiede un sistema installato per testare. Esegui quelli in una seconda fase di test.

Non c'è davvero un numero difficile, se hai un grande sistema, tenere tutto sotto i 10 minuti può essere difficile. Prova a tenerlo il più corto possibile.

    
risposta data 09.03.2013 - 12:31
fonte
2

Come per i test di prima linea (unità): Secondo Michael Feathers ("Lavorare efficacemente con il codice legacy"), più di qualche secondo per compilare e testare la tua classe in locale è troppo lungo (causando l'inizio di barare via dal metodo TDD).

    
risposta data 09.03.2013 - 20:46
fonte
0

L'obiettivo finale è fornire un feedback mentre i dettagli dell'attività sono ancora nella memoria a breve termine. Secondo alcune fonti, la durata della memoria a breve termine può essere di soli 15-30 secondi, quindi un ciclo di compilazione e test target di circa 5-10 secondi sembrerebbe essere una risposta motivata e razionale.

Sfortunatamente, considerazioni pratiche rendono questo obiettivo estremamente difficile da raggiungere senza un notevole sforzo ingegneristico. Spero che i futuri strumenti di automazione dello sviluppo possano essere d'aiuto nei compiti difficili di analisi delle dipendenze a grana fine, unità di compilazione e selezione dei casi di test.

    
risposta data 10.03.2013 - 12:31
fonte

Leggi altre domande sui tag