Gibt es wissenschaftliche Studien zu TDD, bei denen die Gesamtbetriebskosten für ein Produkt als Maß verwendet werden?


11

Als ich die Zusammenfassung früherer Arbeiten in Dogsa T, Batic D, las. Die Wirksamkeit der testgetriebenen Entwicklung: eine industrielle Fallstudie. Software Quality Journal. 2011; 19 (4): 643 & ndash; 661. Es fiel mir auf, dass die Messungen, die in vielen Studien zu TDD verwendet wurden, auf Codezeilen, Fehlern und Entwicklungszeit basieren.

Gibt es Studien, die sich auf die Gesamtbetriebskosten von Produkten konzentrieren, die mit TDD im Vergleich zu herkömmlichen Entwicklungs- oder Test-Last-Produkten entwickelt wurden?

Ich interessiere mich besonders für die Gesamtkosten für Anschaffung und Betriebskosten.

Antworten:


3

Es gibt einige Studien zu den Auswirkungen und Vorteilen von TDD, aber die Ergebnisse sind widersprüchlich. Einige Projekte (dies ist meiner Erfahrung nach) weisen aufgrund der Verwendung von TDD eine geringere Fehlerrate und geringere Betriebskosten auf, da sich die Kosten für das Ändern einer Funktion drastisch verringern. Einige andere bleiben stehen.

Einige Studien ( hier ist eine - überprüfen Sie Folie n50) zeigen, dass die Anzahl der Fehler mit der Abdeckung zunahm. Ich gehe davon aus, dass eine größere Abdeckung TDD impliziert und dass eine höhere Anzahl von Fehlern höhere Betriebskosten impliziert.

Aus meiner Sicht kann keine Metrik oder Praxis allein mit einer besseren Qualität oder niedrigeren Betriebskosten in Verbindung gebracht werden. Es gibt eine Kombination von Faktoren, die zu einer gewissen Korrelation führen können. Und diese Faktoren ändern sich zwischen Teams und Projekten.

Ich denke, wir haben alle Geschichten von Teams gehört, die gerade mit TDD angefangen haben und 100-Zeilen-Testmethoden geschrieben haben, was (meiner Ansicht nach) die Betriebskosten erhöht, da die Aktualisierung dieses Tests teuer sein wird.

Meine pragmatische Regel lautet, dass Menschen, die sich um etwas kümmern und lernbegierig sind und in einem Umfeld arbeiten, das sie und ihre Ideen unterstützt, eine bessere Qualität und bessere Betriebskosten haben.


Folie n50 ist extrem irreführend. "Je mehr Abdeckung, desto mehr Fehler" bedeutet höchstwahrscheinlich "Je mehr Abdeckung, desto mehr Fehler ... werden Sie finden." Es ist möglich, aber ich bezweifle, dass eine größere Abdeckung zu mehr injizierten Defekten führt. Dies bedeutet lediglich, dass je mehr Abdeckung vorhanden ist, desto höher ist die Fehlerausbeute aus der Entwicklungsphase. Und ja, es gibt viele Metriken, mit denen sich Qualität und Betriebskosten messen lassen - # injizierte Fehler nach Phase, Fehlerausbeute nach Phase und Nacharbeit sind alles messbare Dinge, die sich direkt auf Qualität und Kosten auswirken. In PSP / TSP finden Sie einige gute Beispiele für diese Metriken.
Michael

Michael, im Kontext dieser Folie zeigt der Moderator, was mit einer höheren Fehlerdichte korreliert. Eine der Metriken waren Testfälle. Je mehr Testfälle eine Klasse hat, desto höher ist der Fehler in der Klasse. Der Moderator versucht zu sagen, dass keine Metrik für sich genommen mit einer geringeren Fehlerdichte korreliert.
Augusto

0

Ich habe keine spezifischen Studien, aber ich kann Ihnen aus persönlicher Erfahrung und aus den Erfahrungen anderer Entwickler sagen, dass TDD bei korrekter Anwendung für mittlere und größere Projekte die Markteinführungszeit verkürzt, Fehler und Defekte reduziert und die Codequalität verbessert .

Können Sie guten Code ohne TDD schreiben, obwohl es keine Silberkugeln gibt? Ja, können Sie mit TDD schlechten Code schreiben? Ja. Abhängig von Ihrem Projekt kann TDD Ihre Betriebskosten für den Code erheblich erhöhen. Ein gutes Beispiel ist die NASA, bei der die Kosten pro Codezeile enorm sind, die Betriebskosten jedoch nicht im Mittelpunkt stehen, sondern keine Mängel aufweisen.

Bei korrekter Anwendung erhöht TDD Ihre Startkosten und Ihre Codebasis. Sie profitieren jedoch langfristig von Regressionstests, frühzeitiger Fehlererkennung und besserem Code-Design, wodurch Fehler, Testkosten und Wartungszeit reduziert und somit die Gesamtkosten von gesenkt werden Eigentum.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.