Mi sono appena unito a un team che ha lavorato in modalità main-always per gli ultimi 5 anni (java, progetto basato su maven). Di conseguenza, i piani per sfruttare i test unitari sono sempre stati in cantiere, mai concretizzati (finora). Un team di sviluppatori ha fatto in modo che la qualità del codice sia generalmente buona e non ci siano problemi di codice strutturale, ma non c'è cultura di scrittura di test jnuit. Ma io, avendo visto i benefici dei test unitari, sono un guerriero solitario che spinge qui per l'adozione dell'auto-testing.Il test unitario vale lo sforzo, in un codice grande e vecchio (5 anni)?
Il layout squadra è tale che un team di testing indipendente fa test manuale di funzionalità prima di stendere il codice, e un team di gestione del cambiamento è una checkgate per l'approvazione del cambiamento e costruisce (senza integrazione continua sia, finora).
Di seguito sono riportati gli ostacoli: poiché la base di codice è enorme e alcuni sviluppatori originali hanno lasciato il team, eventuali test di unità aggiuntivi potrebbero essere insufficienti, troppo tardi. Aggiungete che posso essere l'unico a spingere per il test delle unità. Sebbene il mio manager abbia supportato l'idea, non vuole che il team delle modifiche sia impantanato dal tempo aggiuntivo necessario per l'esecuzione dei test.
Sono dell'opinione che sia possibile utilizzare uno strumento CI autonomo per iniziare e il team di modifiche deve modificare i propri script per saltare i test, come e quando vengono aggiunti.
Cosa faresti nei miei panni?
P.S .: Sono a conoscenza di una domanda simile su stackoverflow, ma in questo caso, l'obiettivo è convincere i diversi stakeholder e il miglior percorso verso il takel; non un confronto tecnologico.
Ho appena scoperto che esiste un mini progetto separato con solo i casi di test. Questi sono un numero molto limitato di test e presumibilmente fanno parte di un antico sforzo per superare il test fuori dalla lista in attesa. Inoltre, non offrono alcuna garanzia di codice, perché non vengono eseguiti ogni volta che il codice viene compilato. Gli sforzi per la scrittura di nuovi test non sono aiutati dal fatto che il codice non è stato scritto con test automatici in mente - le parti non hanno la possibilità di inserire oggetti test/mock, e potrebbe essere necessario un grande framework di simulazione. Ma suppongo che il consenso finora sia quello di persistere con la scrittura di nuovi test? –