Nella nostra azienda, siamo solo due dipendenti IT e io sono l'unico sviluppatore. Sto sviluppando applicazioni intranet ricche usando plain php ed extjs come framework javascript.
Il nostro ciclo di sviluppo è in genere molto veloce, tanto che spesso le persone utilizzano domani ciò che sviluppo oggi. Questo è possibile tramite uno script di build automatico.
Ora il problema:
Succede, che nonostante tutte le cure, le cose si rompono. E io o gli utenti finali lo noteremo una volta che l'aggiornamento dell'applicazione sarà pubblicato. Ovviamente una soluzione di test (o mabe due, una per php e una per js) sarebbe la soluzione. Ma questo mi sembra un ostacolo insormontabile, a causa di questi punti:
- Non ho mai usato un framework di test e non ho le conoscenze necessarie
- Un framework di test pone dei vincoli sul modo in cui il codice viene scritto (e non posso giudicare per ora, se il mio codice si adatta a un particolare framework). Temo quindi di dover refactoring il mio codice per poter utilizzare un framework di test.
- Temo che scrivere i test richieda più tempo rispetto alla scrittura del codice.
- Gran parte del codice dipende dai dati presenti in diversi database. Come creare dati falsi che possono essere utilizzati per il test.
Qualcuno può darmi consigli su come introdurre una struttura di test in un contesto in cui competenza e tempo sono scarsi? So che questa domanda è davvero ampia, ma spero di ricevere comunque preziosi consigli.
Modifica
Mi ci sono voluti diversi mesi prima che avessi il coraggio di immergermi nei test dell'Unità, e mi ci è voluta solo un'ora per alzarmi e testare. Ci vorranno alcune ore in più per includerlo definitivamente nel processo di creazione.
Ho davvero temuto troppo !!
Il test delle unità non è più un lavoro (o solo leggermente più) del test con echo
e var_dump
. Il vantaggio è che è permanente. Una volta modificato il codice, il test funziona ancora. Non è più necessario ripetere il test manualmente.