Sembra una considerazione stupida, ma in ogni progetto di UI tendo a mettere un Test Mode abilitabile nel config che mi permette di semplificare il testing. Anche se costruite il vostro applicativo in MVVM puro con WPF e usate lo unit testing, è spesso necessario lanciare l’applicativo completo per verificare una determinata interfaccia del sistema, operazione che può diventare spesso tediosa. Oppure banalmente dovete prima o poi fare un integration test, replicare un bug, etc, e quindi dovete usare l’applicazione in modalità full e verificare il comportamento di una determinata sezione dell’applicativo.
Ad esempio ho una situazione in cui debbo
- effettuare il login
- aprire una interfaccia da un menu nella systray
- da questa interfaccia andare ad aprire la vista che voglio verificare
La perdita di tempo è molto elevata, soprattutto perché il programma in questione apre una serie di Viste di default che comunicando con i servizi rallentano comunque il tempo di risposta durante lo startup, facendo perdere tempo ogni volta che il programma viene lanciato. Debbo poi andare nella systray, andare ad aprire il menu con il tasto destro, selezionare la vista che voglio testare, etc. etc.
In questo caso il Test Mode consiste nel mettere una stringa nell’app.config che contiene user name, password, e il nome della vista da aprire. Quando il programma parte, se esiste la stringa di test mode, la analizza, fa la login ed apre solamente la vista richiesta, riducendo il tempo di startup e permettendomi di premere F5 e di non dovere fare nulla di ulteriore per poter interagire con la vista in questione. Questa tecnica sembra banale, ma spesso vedo persone che prima di poter testare qualche cosa attraverso la UI sono costretti a fare numerosi click, perdendo quindi molto tempo.
Se strutturate da subito la vostra applicazione in modo da poter sempre far partire una determinata parte di UI in test mode troverete molto risparmio di tempo in futuro :).
Gian Maria.