Stiamo lavorando su un prodotto di grandi dimensioni che è stato in produzione per circa 5 anni. Il codebase è .. erm .. funzionante. Non proprio bene ma sta funzionando. Le nuove funzionalità vengono lanciate in produzione e testate con un piccolo QA. I bug sono corretti, ecc. Ma nessuno, tranne me, sta scrivendo unit-test. Nessuno usa il potere di "tracciare" i bug scrivendo test di unità per assicurarsi che questo bug speciale (caso di test) non si verifichi mai più.
Ho parlato con il management. Ho parlato con gli sviluppatori. Ho parlato con tutti in tutta la compagnia. Tutti dicono: "Sì, dobbiamo scrivere più test unitari!" E 'stato circa un anno fa. Da allora ho forzato l'introduzione della revisione del codice pre-commit ( Gerrit ) e l'integrazione continua ( Jenkins ).
Ho tenuto alcuni incontri sui test unitari e ho anche mostrato i vantaggi della stesura dei test unitari. Ma nessuno sembra essere interessato.
Q1: come motivo i miei compagni di lavoro a scrivere test unitari?
Q2: Come posso rimanere motivato a seguire i miei standard di qualità del codice personale? (A volte è davvero frustrante!)
PS: Alcuni fatti frustranti (raggiunti in 1 anno):
- Test unitari totali: 1693
- Totale "esempi di test unitari": circa 50
- Fatto da me: 1521
Modifica: Mi aspetto troppo? È il mio primo posto di lavoro e sto cercando di fare del mio meglio.
Modifica 2: In base a tutte le risposte, ho creato una piccola lista di controllo per me stesso. Ho parlato con due sviluppatori in privato e abbiamo avuto una conversazione buona e onesta.
Uno di loro mi ha detto, come Telastyn ha detto, che è davvero a disagio con i test unitari. Ha detto che gli piacerebbe essere "più professionale" ma ha bisogno di un kickstart. Ha anche detto che il nostro incontro di test unitario con tutti gli sviluppatori (intorno all'11 settembre) era buono, ma era troppo affollato. Meh. Alcuni critici per me, ma imparerò da questo. (vedi le risposte sotto le riunioni di tdd kata!)
L'altro ha detto che non è interessato a scrivere test unitari. Pensa che il suo lavoro sia abbastanza buono per il suo stipendio. Non vuole mettere più impegno. Ero piuttosto senza parole. Tipico 9-5 "lavoratore".
La prossima settimana parlerò con gli altri sviluppatori.
Grazie per le tue fantastiche risposte (finora!) e il tuo supporto. Lo apprezzo molto! Ho imparato molto, grazie mille!