NUnit ed il Test Driven Development (TDD)
NUnit è uno unit testing framework open source per Microsoft .NET.

Lo unit testing è una procedura utilizzata per verificare la correttezza di alcune parti del codice in maniera automatizzata.
Eseguendo uno unit test su un oggetto ad esempio è possibile verificare tutti i metodi e garantire che il suo funzionamento è corretto.
Nel caso di successive modifiche al codice della classe è possibile eseguire nuovamente gli unit test ed essere certi che non si sono verificate regressioni.
Lo unit testing è anche alla base di una metodologia di programmazione nota come TDD o Test Driven Development.
Secondo questo approccio prima di scrivere del nuovo codice o una nuova funzionalità viene scritto il relativo test di unità. In pratica si tratta di un'approccio completamente opposto a quanto indicato nella letteratura relativa al software engineering che si basa spesso sul modello a cascata analisi, progetto, sviluppo, testing.
Solo una volta scritto il test si implementa il codice che realizza la funzionalità e che valida il test.
Quando i test sono validi è possibile poi eseguire refactoring sul codice per renderlo più semplice, ordinato, manutenibile e performante sempre senza invalidare i test di unità.
Maggiori informazioni sono disponibili sul sito ufficiale del progetto: http://www.nunit.org/