Esistono studi scientifici condotti su TDD che utilizzano il costo totale di proprietà di un prodotto come misura?

11

Mentre stavo leggendo il riassunto del lavoro precedente in Dogsa T, Batic D. L'efficacia dello sviluppo basato sui test: un case study industriale. Giornale di qualità del software. 2011; 19 (4): 643-661. mi ha colpito il fatto che le misurazioni utilizzate in molti studi su TDD si basano su elementi come linee di codice, difetti e tempo speso per lo sviluppo.

Ci sono studi là fuori che si concentrano sul costo totale di proprietà per prodotti che sono stati sviluppati utilizzando TDD vs ex sviluppo tradizionale o test-last?

Sono particolarmente interessato al costo totale dell'acquisizione e dei costi operativi.

    
posta Patrik Björklund 17.05.2012 - 12:55
fonte

2 risposte

3

Ci sono alcuni studi sulle implicazioni e i benefici del fare TDD, ma i risultati sono contraddittori. Alcuni progetti (secondo la mia esperienza) hanno una percentuale di bug e costi di proprietà inferiori a causa dell'utilizzo di TDD, poiché il costo di modifica di una funzione si riduce drasticamente. Alcuni altri sono fermati.

Alcuni studi ( qui è uno - controlla la diapositiva n50) mostra che il numero di bug aumentati con la copertura. Suppongo che una maggiore copertura implichi TDD e che un numero più elevato di bug implichi un costo di proprietà più elevato.

Dal mio punto di vista, nessuna metrica o pratica da sola può essere correlata a una migliore qualità oa un minore costo di proprietà. C'è una combinazione di fattori che può portare ad alcune correlazioni. E questi fattori cambiano tra team e progetti.

Penso che tutti abbiamo sentito storie di team, che hanno appena iniziato a fare TDD, scrivendo metodi di test a 100 righe, che (a mio avviso) aumentano i costi di proprietà, poiché l'aggiornamento di quel test sarà costoso.

La mia regola pragmatica è che le persone a cui interessa e sono impazienti di imparare , lavorando in un ambiente che li supporta e le loro idee hanno meglio qualità e costo di proprietà.

    
risposta data 18.05.2012 - 15:39
fonte
0

Non ho studi specifici, ma posso dirti per esperienza personale, e dalle esperienze di altri sviluppatori so che quando applicato correttamente per progetti di dimensioni medie e più grandi TDD riduce il time to market, riduce bug e difetti e migliora la qualità del codice.

Avendo detto che non ci sono proiettili d'argento, puoi scrivere un buon codice senza TDD? si, puoi scrivere codice cattivo usando TDD sì. Inoltre, a seconda del progetto, TDD può aumentare notevolmente il costo di proprietà del codice, un buon esempio è la NASA, dove il costo per riga di codice è enorme, ma il costo di proprietà non è l'attenzione, è la mancanza di difetti. / p>

Se applicato correttamente, TDD aumenterà i costi iniziali e la base di codice, ma i benefici a lungo termine del test di regressione, il rilevamento precoce dei bug e una migliore progettazione del codice dovrebbero ridurre i difetti e i costi di test e di manutenzione, riducendo così costo totale di proprietà.

    
risposta data 18.05.2012 - 16:37
fonte

Leggi altre domande sui tag