Stiamo lavorando su un prodotto di grandi dimensioni che è in produzione da circa 5 anni. La base di codice sta funzionando. Non proprio bene ma funziona. Le nuove funzionalità vengono lanciate in produzione e testate con un piccolo QA. I bug sono stati corretti, ecc. Ma nessuno, tranne me, sta scrivendo test unitari. Nessuno usa il potere di "rintracciare" i bug scrivendo unit test per assicurarsi che questo speciale bug (test case) non si verifichi mai più.
Ho parlato con la direzione. Ho parlato con gli sviluppatori. Ho parlato con tutti in tutta l'azienda. Tutti dicono: "Sì, dobbiamo scrivere più unit test!" È successo circa un anno fa. Da allora ho forzato l'introduzione della revisione del codice pre-commit ( Gerrit ) e l'integrazione continua ( Jenkins ).
Ho tenuto alcune riunioni sui test unitari e ho anche mostrato i vantaggi della stesura dei test unitari. Ma nessuno sembra essere interessato.
Q1: Come motivare i miei colleghi a scrivere unit-test?
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):
- Prove unitarie totali: 1693
- Totale "test unitari di esempio": 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: Sulla base di tutte le risposte ho creato una piccola lista di controllo per me stesso. Ho parlato con due sviluppatori in privato e abbiamo parlato bene e onestamente.
Uno di loro mi ha detto, come ha detto Telastyn , che è davvero a disagio con i test unitari. Ha detto che vorrebbe essere "più professionale" ma ha bisogno di un calcio d'inizio. Ha anche detto che il nostro incontro di unit test con tutti gli sviluppatori (intorno all'11 settembre) è stato positivo, ma era troppo affollato. Meh. Alcuni critici per me, ma imparerò da quello. (vedi le risposte sotto relative alle riunioni di tdd kata!)
L'altro ha affermato di non essere interessato a scrivere unit test. Pensa che il suo lavoro sia abbastanza buono per il suo stipendio. Non vuole fare più sforzi. Ero abbastanza senza parole. Tipico "lavoratore" 9-5.
La prossima settimana parlerò con gli altri sviluppatori.
Grazie per le tue fantastiche risposte (finora!) E per il tuo supporto. Lo apprezzo molto! Ho imparato molto, grazie mille!