Komponententests klingen gut für mich, aber ich bin mir nicht sicher, ob ich es wirklich lernen sollte, es sei denn, ich kann andere davon überzeugen, dass es einen signifikanten Wert hat. Ich muss die anderen Programmierer und, noch wichtiger, die Bean-Counter im Management davon überzeugen, dass die ganze zusätzliche Zeit, die ich damit verbracht habe, das Testframework zu lernen, Tests zu schreiben, sie auf dem neuesten Stand zu halten usw. sich bezahlt macht.Gibt es eindeutige Beweise für den ROI von Komponententests?
Welchen Beweis gibt es? Hat jemand tatsächlich die gleiche Software mit zwei separaten Teams entwickelt, von denen eines den Komponententest verwendet und der andere nicht, und die Ergebnisse verglichen hat? Ich bezweifle das. Soll ich das nur begründen mit: "Schaut es euch im Internet an, alle reden darüber, also muss es das Richtige sein"?
Wo ist der harte Beweis, der die Laien davon überzeugen wird, dass Unit Testing die Mühe wert ist?
Die erste Studie vergleicht agile + TDD gegen Wasserfall-Projekte, wäre es relevanter, wenn es zwei agile Teams verglichen hatte. Die zweite Studie erwähnt andere Studien, die für TDD-Projekte wenig bis keinen Qualitätsbonus gefunden haben. Und wenn Sie die Schätzungen des Managements über die benötigte zusätzliche Zeit für TDD vergleichen, wird es für die beiden Teams mit einer hohen Domänenexpertise deutlich höher geschätzt, aber sie haben auch eine um 20% geringere Testabdeckung. Dies bestätigt meine eigene Erfahrung, ich finde Sicherheit viel wichtiger in Systemen, mit denen ich noch nicht gearbeitet habe, während Testen für alles andere hinderlich ist. – LearnCocos2D
Keine der Studien vergleicht vergleichbares Prozessmodell mit nur der testmethodologischen Veränderung. Das heißt, dass die Zeit, die für UT verwendet wird, tatsächlich besser für zB ausgegeben wird. Systemtests. So wie es aussieht, könnte es auch sein, "wenn wir smarter testen, hilft das". –
Was also, wenn die Kosten für die Korrektur der Post-Release-Bugs 0,01% der gesamten Entwicklung betragen? TDD wäre in diesem Fall eine schreckliche Investition. Und wenn die Bugs sind wenige? Diese% s bedeuten nichts ohne Kontext. Um fair zu sein, muss ich noch die ganze Studie lesen. Aber wie es aussieht, ist Ihr Beitrag nützlich (gute Links), beantwortet aber nicht die Frage bezüglich ROI, IMO. – Instine