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?

posted @ venerdì 17 settembre 2004 22:56

Print

Comments on this entry:

# re: Riflessioni sull'arte del testare #1

Left by Marco Abis at 18/09/2004 00:26
Gravatar
Dico che concordo con la distinzione tra test-driven e test-first fatta da Dave Thomas, un pragmatic programmer, qualche mese fa nel suo blog: http://pragprog.com/pragdave/Practices/TestDrivenOrTestFirst.rdoc
Comments have been closed on this topic.
«febbraio»
domlunmarmergiovensab
28293031123
45678910
11121314151617
18192021222324
252627282912
3456789