2010-03-16 31 views
21

C'è così tanto scritto sui test unitari ma difficilmente ho trovato libri/blog sui test di integrazione? Potresti per favore suggerirmi qualcosa da leggere su questo argomento?Come eseguire i test di integrazione?

Quali test scrivere quando si esegue il test di integrazione? cosa rende un buon test di integrazione? etc etc

Grazie

risposta

4

Forse è generalmente più difficile trovare informazioni sui test di integrazione, perché è molto più specifico per l'applicazione effettiva e il suo uso aziendale. Tuttavia, ecco la mia opinione su di esso.

Ciò che vale per unit test si applica anche ai test di integrazione: i moduli devono avere un modo semplice per simulare i loro ingressi esterni (file, DB, tempo ...), in modo che possano essere testati insieme con l'altra unità- test.

Ma ciò che ho trovato estremamente utile, almeno per le applicazioni orientate ai dati, è essere in grado di creare una versione "console" dell'applicazione che prende i file di input che ne determinano completamente lo stato (nessuna dipendenza dai database, risorse di rete ...) e restituisce il risultato come un altro file. Si possono quindi mantenere coppie di input/file di risultati previsti e testare per regressioni come parte di build notturne, per esempio. Avere questa versione della console consente uno scripting più semplice, e rende il debug incredibilmente più semplice in quanto si può fare affidamento su un ambiente molto stabile, in cui è facile riprodurre bug e avviare il debugger.

5

Qualsiasi cosa scritta da Kent Beck, padre di entrambi JUnit e SUnit, è un ottimo punto di partenza (per unit test/test di scrittura in generale). Suppongo che tu non intenda "integrazione continua", che è un approccio di costruzione basato sui processi (molto interessante, quando lo fai funzionare).

Nella mia esperienza personale, i test di integrazione sembrano molto simili ai normali test di unità, semplicemente ad un livello superiore. Altri oggetti finti. Più inizializzazione dello stato.

Credo che i test di integrazione siano come le cipolle. Hanno strati.

Alcune persone preferiscono "integrare" tutti i loro componenti e testare il prodotto "intero" come il test "integrazione". Puoi certamente farlo, ma preferisco un approccio più incrementale. Se inizi a basso livello e poi continui a eseguire test su livelli di composizione più elevati, otterrai i test di integrazione.

Problemi correlati