14 декабря 2008 г.

Научные исследования эффективности Test-First Development

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

Многие компании двигаются именно в направлении тестирования наперед. Кристоф Квалина, менеджера команды .NET Framework, на PDC 2008 рассказывал про TDD. По поводу тестирования наперед он сказал веселую фразу: "Когда вы пишете сначала тест, то у вас уже есть тест".

В свое время меня вдохновила интересно описанная сцена разработки программы с помощью тестирования наперед от Роберта Мартина и Роберта Косса, которая вошла в книгу Agile Principles, Patterns, and Practices in C#.

Теперь в своей повседневной работе я руководствуюсь именно этими принципами. Я рассказывал о том, как и почему мы используем тестирование наперед в нашей компании. Эта статья получила много интересных комментариев.

Главный вопрос: "Почему же мы выбираем TDD?"

Кроме статей и обсуждений, для ответа на вопрос, мне всегда не хватало более детального и серьезного обоснования. Меня порадовала недавняя находка. В рассылке ALT.NET, Денис Олано дал ссылку на документ, в котором описаны исследования National Research Council Canada на тему On the Effectiveness of Test-first Approach to Programming. В статье сравниваются два стиля разработки: Test-First и Test-Last.

Основные выводы из исследования, говорят о том, что Test-First положительно влияет на:

  1. Качество кода
  2. Продуктивность разработки
  3. Количество тестов

Рой Ошеров написал о своей находке документов, исследовавших эффективность TDD

Эти исследования будут интересны и тем, кто применяет TDD и тем, кто еще не использовал эту методику.

4 комментария:

  1. PDF по ссылке On the Effectiveness of Test-first Approach to Programming не открывается

    ОтветитьУдалить
  2. @xoposhiy
    Да, точно. Постараюсь найти живую ссылку.

    ОтветитьУдалить
  3. Здравствуйте, Александр, скажите а будет ли записаны доклады с конференции на видео, очень бы хотелось бы посмотреть так как возможности посетить конференцию нет?

    ОтветитьУдалить
  4. @Сергей

    Мы планируем записать все доклады на видео и выложить их со слайдами в разделе Материалы.

    ОтветитьУдалить