Чи є якісь наукові дослідження, проведені на TDD, які використовують загальну вартість власності на продукт як вимірювальний пристрій?


11

Коли я читав резюме попередньої роботи в Dogsa T, Batic D. Ефективність тестової розробки: промисловий кейс. Журнал якості програмного забезпечення. 2011; 19 (4): 643-661. мене вразило, що вимірювання, які використовуються в багатьох дослідженнях навколо TDD, базуються на таких речах, як рядки коду, дефекти та витрачений час на розробку.

Чи є якісь дослідження, які зосереджуються на загальній вартості власності на продукцію, розроблену за допомогою TDD порівняно з попередніми традиційними розробками або тестовими останніми?

Мене особливо цікавлять загальні витрати на придбання та експлуатаційні витрати.

Відповіді:


3

Є деякі дослідження щодо наслідків та переваг застосування TDD, але результати суперечливі. Деякі проекти (на мій досвід) мають менший рівень помилок і вартість власності внаслідок використання TDD, оскільки вартість зміни функції різко знижується. Деякі інші зупиняються до зупинки.

Деякі дослідження ( ось одне - перевірка слайда n50) показують, що кількість помилок збільшувалась із покриттям. Я припускаю, що більший рівень охоплення передбачає TDD і що більша кількість помилок означає більш високу вартість володіння.

З моєї точки зору, жодна метрика чи практика сама по собі не може бути пов'язана з кращою якістю або меншими витратами на володіння. Існує сукупність факторів, які можуть призвести до певної кореляції. І ці фактори змінюються між командами та проектами.

Я думаю, що ми всі чули історії команд, які щойно почали робити TDD, писати 100-рядкові методи тестування, що (на мій погляд) збільшує вартість власності, оскільки оновлення цього тесту буде дорогим.

Моє прагматичне правило полягає в тому, що люди, які піклуються і прагнуть вчитися , працюють у середовищі, яке їх підтримує та їх ідеї мають кращу якість та вартість власності.


слайд n50 вкрай вводить в оману. "Чим більше покриття, тим більше помилок", швидше за все, означає "чим більше покриття, тим більше помилок ... ви знайдете". Це можливо, але я сумніваюся, що більше покриття призведе до більшої кількості введених дефектів. Це просто говорить про те, що чим більше покриття, тим вищий дефект виходить з фази розробки. І так, є безліч показників, які можуть вимірювати якість та вартість власності - # введені дефекти за фазою, вихід дефектів за фазою та перероблення - все вимірювані речі, що мають прямий вплив на якість та вартість. Див. PSP / TSP для отримання чудових прикладів цих показників.
Майкл

Майкл, в контексті цього слайду ведучий показує, що корелює з більшою щільністю помилок. Однією з показників були тестові випадки, тому чим більше тестових випадків має клас, тим вище буде помилка в класі. Що ведучий намагається сказати, це те, що жодна метрика сама по собі не корелює з меншою щільністю помилок.
Август

0

У мене немає конкретних досліджень, але я можу вам сказати з особистого досвіду, а з досвіду інших розробників я знаю, що при правильному застосуванні для середніх та великих проектів TDD скорочує час на ринок, зменшує помилки та дефекти та покращує якість коду .

Сказавши, що їх немає срібних куль, чи можете ви написати хороший код із TDD? так, чи можете ви написати неправильний код за допомогою TDD так. Також залежно від вашого проекту TDD може значно збільшити ваші витрати на володіння кодом, хороший приклад - NASA, де вартість за рядок коду величезна, але вартість власності не в центрі уваги, це відсутність дефектів.

При правильному застосуванні TDD збільшить ваші стартові витрати та вашу кодову базу, але ви отримаєте довгострокові переваги регресійного тестування, раннього виявлення помилок та кращого дизайну коду, який повинен зменшити дефекти та витрати на тестування та час обслуговування, тим самим зменшивши загальну вартість право власності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.