TecnoLogicamenteCorretti - Il Blog di Fabio Carucci

settembre 2004 Entries

Riflessioni sull'arte del testare #1

Sto pensando allo sviluppo test-driven e a quello test-first...

tutto sommato il primo ingloba il secondo ma la differenza è sostanziale.

Infatti nello sviluppo test-driven NON scriviamo analisi dettagliata sulla carta, bensì scriviamo test sottoforma di codice sorgente e USIAMO i test per orientare al meglio la progettazione e il disegno del software. I test ci guidano nel disegno e nell'implementazione.

Questi sono gli steps e le regole da seguire (vi ricordo che l'eXtreme Programming prevede sviluppo iterativo - un pò come RUP - quindi i passi seguenti vanno iterati "n" volte):

 - scriviamo test code che si riferisca a piccole unità funzionali e testiamo qualsiasi cosa possa sollevare una exception;

 - siccome non abbiamo ancora scritto la funzionalità il nostro test code DEVE fallire;

 - scriviamo il code affinchè passi il test;

 - usiamo il refactoring e assicuriamoci che le nostre classi siano disegnate il meglio possible;

 - assicuriamoci che tutti i test vengano eseguiti con successo al 100% ogni volta.

Nello sviluppo test-first, al contrario, non scriveremo mai codice di produzione prima di aver passato tutti i test cases perchè l'obiettivo è quello di scrivere prima tutti i test, poi sviluppare le funzionalità e infine testarle.

Voi che ne pensate?

VbUnit (o se volete Nunit con vb6)

Se avete necessità di effettuare unit testing su codice scritto in VB6 (quindi anche componenti COM) esiste un tool, in parte free, simile a Nunit.

E' composto da una API library, un add-in per l'IDE di VB6 (solo nella versione a pagamento) e una applicazione standalone.

Come per Nunit, si creano classi custom di test mediante i metodi della libreria API e si eseguono utilizzando l'applicazione standalone chiamata TestRunner, che permette di definire l'output dei casi di test in file di testo o XML.

Gira sotto VB6 con Service Pack 5 e lo trovate qui.