Sono il programmatore principale di una piccola azienda di software (attualmente 4 sviluppatori tra cui me stesso), sviluppiamo applicazioni ASPF di WebForm personalizzate per le aziende. Mi sono iscritto lì nel 2010 subito dopo la laurea, quindi è stato il mio primo vero lavoro. Dopo che altri programmatori senior se ne sono andati, sono stato promosso a guidare e abbiamo assunto un gruppo di sviluppatori junior per me come mentore.
Il mio problema è che al momento abbiamo un enorme lavoro da progetti in ritardo (2-3 anni in ritardo), quindi il nostro sviluppo è molto affrettato e i test vengono lasciati all'ultimo minuto e le nostre uscite spesso escono con bug ovvi che avremmo dovuto raccogliere. Questo mette davvero giù il morale e mette tutti molto stressati, incluso me stesso.
Non abbiamo alcuna struttura di test o, a malapena nessuna organizzazione, ciò che intendiamo fare. Non usiamo mai i test unitari e tutti i test sono manuali e molto laboriosi. Questo tipo di metodologia è tutto ciò a cui sono stato esposto da quando sono diventato programmatore, ma sto imparando velocemente che non è così che dovrebbe funzionare una software house.
Ho cercato di familiarizzare con TDD e con i test delle unità, ma per me è tutto estremamente estraneo e ho difficoltà a visualizzare come potremmo effettivamente usarli nelle nostre applicazioni. La maggior parte della logica all'interno delle nostre app si trova nel codice sottostante per ogni pagina (qualcosa che sto cercando di allontanare) e da ciò che ho letto questo rende i test molto più difficili.
Qualcuno ha qualche consiglio, o conosce qualche buon tutorial, che ci aiuterà ad andare avanti con il TDD?
Abbiamo molti altri problemi, tra cui non usare SVN in modo efficiente, avere un HelpDesk di base per i nostri bug e fornire al nostro team specifiche abbastanza vaghe. Ancora una volta queste sono cose che voglio imparare da me stesso, ma ho bisogno di passare molto tempo a insegnarmi tutto questo. Quindi, se qualcuno ha qualche consiglio per questo, lo apprezzerei, ma il nostro test è la cosa più cruciale in questo momento.