Проводятся ли какие-либо научные исследования в области TDD, в которых для измерения продукта используется общая стоимость владения?


11

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

Существуют ли какие-либо исследования, которые фокусируются на общей стоимости владения для продуктов, которые были разработаны с использованием TDD по сравнению с традиционной разработкой или тестовым последним?

Меня особенно интересует общая стоимость приобретения и эксплуатационные расходы.

Ответы:


3

Есть некоторые исследования о последствиях и преимуществах TDD, но результаты противоречивы. Некоторые проекты (это, по моему опыту) имеют более низкую частоту появления ошибок и стоимость владения в результате использования TDD, поскольку стоимость изменения функции резко снижается. Некоторые другие останавливаются.

Некоторые исследования ( здесь одно - проверьте слайд №50) показывают, что количество ошибок увеличивается с охватом. Я предполагаю, что больший охват подразумевает TDD, а большее количество ошибок - более высокую стоимость владения.

С моей точки зрения, ни один показатель или практика сами по себе не могут быть связаны с лучшим качеством или более низкой стоимостью владения. Существует сочетание факторов, которые могут привести к некоторой корреляции. И эти факторы меняются между командами и проектами.

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

Мое прагматическое правило состоит в том, что люди, которые заботятся и хотят учиться , работая в среде, которая поддерживает их, и их идеи имеют лучшее качество и стоимость владения.


Слайд N50 вводит в заблуждение. «Чем больше охват, тем больше ошибок», скорее всего, означает «чем больше охват, тем больше ошибок ... вы найдете». Это возможно, но я сомневаюсь, что большее покрытие приведет к большему количеству внедренных дефектов. Это просто говорит о том, что чем больше охват, тем выше выход дефекта на этапе разработки. И да, существует множество метрик, которые могут измерять качество и стоимость владения - # внедренные дефекты по фазе, выход дефектов по фазе и доработка - все это измеримые вещи, которые напрямую влияют на качество и стоимость. Посмотрите PSP / TSP для некоторых замечательных примеров этих метрик.
Майкл

Майкл, в контексте этого слайда докладчик показывает, что связано с более высокой плотностью ошибок. Одной из метрик были тестовые случаи, поэтому, чем больше тестов будет в классе, тем выше будет ошибка в классе. Докладчик пытается сказать, что сама по себе метрика не соответствует меньшей плотности ошибок.
Августо

0

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

Сказав, что это не серебряные пули, вы можете написать хороший код без TDD? да, вы можете написать плохой код, используя TDD да. Кроме того, в зависимости от вашего проекта TDD может значительно увеличить стоимость владения для кода, хорошим примером является NASA, где стоимость каждой строки кода огромна, но стоимость владения не в центре внимания, это отсутствие дефектов.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.