luglio 2006 Blog Posts
Pensavo che con MbUnit non ci fosse la possibilità di impostare il timeout di un test. Oggi ho trovato questo post del blog testingReflections.com il quale spiega che basta impostare la property Timeout dell'attributo [TestFixture]:
[TestFixture(TimeOut = 1)] public class MyFixture{ ...}
Ho provato a lanciare un test che impiegasse più tempo del timeout e TestDriven.NET mi ha segnalato, correttamente in output:
TestCase 'MyFixture.SetUp.Test1.TearDown' failed: Fixture Timed Out MbUnit.Core.Exceptions.FixtureTimedOutException Message: Fixture Timed Out Source: StackTrace:
Quello che trovo poco intuitivo è che sia una property della TestFixture e non un attributo da aggiungere ad un metodo di test, come avviene su TeamSystem, come nel...
la prima differenza sta nei reference da:
MbUnit.Framework a: Microsoft.VisualStudio.QualityTools.UnitTestFramework
Segue una tabella, incompleta con il mapping degli attributi e delle classi, usate dal mio progetto da MbUnit a Visual Studio:
MbUnit
Visual Studio
Descrizione
[TestFixture]
[TestClass]
Identifica una classe di test
[Test]
[TestMethod]
Identifica un metodo di test
[SetUp]
[TestInitialize]
Viene eseguito prima di ogni metodo di test di una TestFixture
[TearDown]
[TestCleanup]
Viene eseguito dopo ogni metodo di test di una TestFixture
[Ignore]
[Ignore]
Il test non viene eseguito
RowTest
???
Serve per passare dei parametri ad un test. Non ho trovato l'equivalente in Visual Studio
???
Timeout
Specifica il Timeout di un test. Non ho trovato l'equivalente in MbUnit
Assert
Assert
L'hanno mantenuta uguale incredibile
ArrayAssert
CollectionAssert
Verifica se due array sono ugualiRispetto a TestDriven.NET viene indicato...
Supponiamo di avere un Assembly che ci mette a disposizione il servizio di invio E-mail:
public class EmailSender { public virtual void Send(string from, string to, string message) { Console.WriteLine("Email from:{0}\nTo:{1}\nMessage:{2}", from, to, message); } }
Ovviamente l'implementazione nel mondo reale sarà un pò più complessa, ma per il nostro scopo è più che sufficiente.
Il nostro codice ora è in produzione e siamo tutti felici. Ad un certo punto il responsabile della sicurezza che per definizione non ha a cuore noi developers, decide che tutto ciò che viene mandato via mail deve essere loggato.
Orrore oltraggio! devo modificare...
Quando si arriva su un sito web di solito si seguono i seguenti passi:
Cerchiamo di trovare qualcosaPotrebbe essere l'ultimo modello di cellulare Nokia o il regista del film La Dottoressa preferisce i marinai
Decidiamo se usare la ricerca o seguire i link nell paginaAlcuni utenti sono Search Dominant, cioè tendenzialmente usano sempre la search box quando arrivano su un sito. Altri sono Link Dominant, cioè preferiscono navigare attraverso i link ed usano la ricerca solo nel caso in cui non hanno alternative. Per tutti gli altri dipende dalle circostanze, come la fretta o la navigabilità del sito. Maggiori dettagli si trovano...
Sono tratti dal libro The Pragmatic Programmer - From Journeyman to Master
Avere cura della propria professionePerchè spendere la propria vita a sviluppare e non avere cura di farlo bene?
Pensare al proprio modo di lavorareSpegni il pilota automatico e prendi il controllo. Critica e misura la qualità del tuo lavoro.
Fornire alternative. Non cercare inutili scuseInvece di scuse fornisci alternative. Non dire non si può fare, spiega cosa si può fare.
Ho appreso che dal 25 al 28 luglio a Parigi verrà fatto un studio di usabilità per Google Earth. Per chi avrà la fortuna di essere a Parigi può provare a partecipare.
Tutti i dettagli qui. Tra le altre cose si verrà pagati 100 euro per una sessione di due ore.
Nel mio precedente post avevo introdotto il concetto di background noise e come esempio avevo usato il nuovo look grafico di Code Project. Oggi visito il sito e vedo che se ne sono accorti anche loro.
Le tre immagini seguenti illustrano, il vecchio look, la mia proposta di restyling e come è adesso:
Ecco il link: Code Reviews vs. Pair Programming?
Sono completamente d'accordo sulla conclusione:
The good news is you don’t need to choose between code reviews and pair programming. Just do both!
Per esperienza personale posso dire che entrambi migliorano notevolmente la qualità del codice.
Ho notato che Code Project ha cambiato look, rispetto a prima è migliorato notevolmente e vorrei segnalare ciò che a mio avviso è una piccola sbavatura.
Immaginiamo un cocktail party: quando tutti parlano, nessuna fonte di rumore è sufficientemente forte da prevalere sulle altre; analogamente in una pagina web è possibile aggiungere del background noise, cioè degli elementi grafici che rendono più difficile lo scan della pagina o il colpo d'occhio. Questo non disturba tutti gli utenti allo stesso modo, ma a molti dà fastidio.
Torniamo a Code Project a sinistra c'è l'elenco delle sections, le righe nere tra il...
Questo articolo di Jakob Nielsen, introduce alcuni concetti sull'usabilità
What (definizione di usabilità)
L'usabilità è un attributo della qualità, cioè misura quanto una user interface è semplice da usare. Ci si riferisce con la parola usabilità anche ai modi per migliorare la facilità d'uso durante il processo di design.
L'usabilità si definisce con cinque indici di qualità:
Facilità di apprendimento: Quanto è semplice per gli utenti portare a termine semplici task la prima volta che vedono la user interface?
Efficienza: Una volta che gli utenti hanno imparato ad utilizzarla, con quanta rapidità riescono a portare a termine i task?
Facilità di memorizzazione: Dopo un certo...
Come spiegato in questo articolo di Jakob Nielsen, noi utenti spendiamo poco tempo a leggere le pagine di un sito web (io sono il primo), preferiamo fare un rapido scan della pagina alla ricerca di ciò che ci interessa.
I motivi sono elencati in questo capitolo di esempio del libro don't make me think:
Abitualmente siamo di fretta: Utilizziamo il Web con l'intenzione di risparmiare tempo. I web users si comportano come degli squali: si devono continuare a muovere o muoiono. Non abbiamo tempo di leggere più di ciò che ci serve.
Sappiamo già che non ci serve leggere tutto: In...