Un'app su cui lavoro è in fase di sviluppo con una versione modificata di scrum. Se non hai familiarità con scrum, è solo un approccio alternativo a un modello di watefall più tradizionale, in cui una serie di funzioni vengono elaborate per un determinato periodo di tempo noto come uno sprint. L'app è scritta in C # e fa uso di WPF. Utilizziamo l'edizione Express di Visual C # 2010 come IDE.
Se lavoriamo a uno sprint e aggiungiamo alcune nuove funzionalità, ma non pensiamo di rilasciarlo fino al completamento di un ulteriore sprint, il test di regressione non è un problema in quanto tale. Testiamo solo le nuove funzionalità e diamo una buona occhiata all'app. Tuttavia, se è prevista una release che i nostri clienti possano scaricare, viene preso in considerazione un test completo di regressione. In passato non era un grosso problema, ci sono voluti 3 o 4 giorni e gli sviluppatori semplicemente sistemavano eventuali bug trovati nella regressione fase, ma ora che l'app sta diventando sempre più grande e include sempre più funzionalità, la regressione si estende per settimane.
Sono interessato a tutti i metodi che le persone conoscono o utilizzano che possono ridurre questo tempo. Al momento le uniche idee che ho sono di iniziare a scrivere Test unitari, che non ho mai provato completamente in un ambiente commerciale, oa ricercare la possibilità di qualsiasi API o strumenti di automazione dell'interfaccia utente che mi permettessero di scrivere un programma per eseguire una serie di test in batch. Non conosco letteralmente nulla sulle possibilità di automazione dell'interfaccia utente, quindi qualsiasi informazione sarebbe preziosa. Neanche io ne so molto del test unitario, quanto possono essere complicati i test? È possibile ottenere i test di unità per utilizzare l'interfaccia utente? Ci sono altri metodi che dovrei prendere in considerazione?
Grazie per la lettura e per qualsiasi consiglio in anticipo.
Modifica: Grazie per l'informazione. Qualcuno sa di alternative a quanto detto finora (NUnit, RhinoMocks e CodedUI)?