Domanda

Nel mio lavoro stiamo eseguendo un gruppo di test composto da circa 3.000 casi di test separati.In precedenza eseguivamo l'intera suite di test su una macchina, il che richiedeva circa 24-72 ore per completare l'intera esecuzione del test.Ora abbiamo creato il nostro sistema per raggruppare e distribuire i test tra circa tre macchine separate e i test hanno la priorità in modo che i test principali vengano eseguiti per primi per risultati più immediati e i test extra vengano eseguiti quando c'è una macchina disponibile.

Sono curioso di sapere se qualcuno ha trovato un buon modo per distribuire i propri test su più macchine per ridurre il tempo totale di test per un'esecuzione completa e quali strumenti sono stati utilizzati per raggiungere questo obiettivo.Ho fatto qualche ricerca e sembra che TestNG lo sia muovendosi in questa direzione, ma sembra che sia ancora in fase di sviluppo.

Non abbiamo intenzione di riscrivere nessuno dei nostri test, ma man mano che aggiungiamo nuovi test e testiamo nuovi prodotti o componenti aggiuntivi, mi piacerebbe essere in grado di affrontare il fatto che stiamo lavorando con un numero molto elevato di test.D'altra parte, se riusciamo a trovare uno strumento che possa aiutare a distribuire il nostro Junit 3.x test anche in modo molto elementare, quello volevo essere utile poiché non dovremmo mantenere i nostri strumenti per farlo.

È stato utile?

Soluzione

Ho visto alcune persone giocare con JUnit distribuito.Non posso particolarmente garantire quanto sia efficace, ma le altre squadre che ho visto sembravano pensare che fosse abbastanza semplice.Spero che aiuti.

Altri suggerimenti

I nostri sviluppatori utilizzano Mozilla Tinderbox.Sembra avere alcuni agganci per i test distribuiti.Mi dispiace non conoscere i dettagli ma ho pensato di passarti almeno l'indicazione.

È anche bello perché puoi scoprire immediatamente quando una build si rompe e quale check-in potrebbe essere stato il colpevole.

http://www.mozilla.org/tinderbox.html

C'è anche unità parallela.A seconda di come esegui attualmente i test, la sua comodità può variare: l'idea è semplicemente quella di eseguire il multithread su un singolo sistema con più core.Ci ho giocato brevemente, ma è un cambiamento rispetto al modo in cui attualmente eseguiamo i nostri test.

Hudson, il motore di integrazione continua che utilizzo, dispone anche di alcuni modi per distribuire i test in esecuzione (risultati aggregati di lavori separati in uno solo).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top