Разработка через тестирование

На первой встрече Agile.by было задано много вопросов по тестированию. Я нашел замечательную презентацию, которая может прояснить многие моменты TDD. В презентации также делается обзор средств для написания модульных тестов на различных языках: PHP, Ruby, Python, Java, Perl, C/C++.А вот и сама презентация:

[slideshare id=181371&doc=test-driven-development-tutorial-11961285135562-4&w=425]

Для “погружения” в тему можно прочитать книгу Кента Бека “Экстремальное программирование: разработка через тестирование”.

Tags: , ,

Post Author

This post was written by who has written 22 posts on Agile.by.

  • agilesys

    Хочешь завалить проект – используй TDD:
    1) архитектуры в системе нихера нет
    2) написал кривые тесты – получил результат еще кривее
    3) тестирование – невиданная роскошь если ты ограничен в бюджете.

    И вообще, TDD не метод – это шлак. Кто сказал, что это agile? TDD это ересь гибкой разработки, которую надо убрать с корнями беспощадно. Лучше бы написал про FDD или DSDM.

  • http://alovak.com Павел Габриель

    Завалить проект можно используя любую штуку: Agile, TDD, MSF и прочие Silver bullets 🙂 Особенно если пользоваться ей без понимания.

    Велосипед очень плохое изобретение. ВСЕГДА падаешь с него, если крутишь руль на 180 градусов во время езды. Разбиваешь нос КАЖДЫЙ раз, когда хочешь прокатиться… если ручной тормоз на переднем колесе… Вот об этом вы мне написали.

    Если вы хотите конструктивного общения, то напишите о проблемах, с которыми столкнулись. Выясним причины и найдем решение.

    Кричать здесь не нужно. Подобные комментарии я буду удалять.

  • agilesys

    Окей. Удалять мои коменты – если вы открытое community и боитесь критики.

    Итак. говорю о программном средстве (ПС). Как решает проблему создания программной архитектуры TDD? Никак. это просто слепок текущего функционала. Верно? Ну если нет, то решите проблему создания архитектуры системы на основе тестов.

    как мне тестировать пользовательский интерфейс?

    а что, если меняются требования? Вау, гланая парадигма agile- умение работать с изменяющимися требованиями. Так? а получается, при изменении требоватгтний надо изменить тесты, проверить тесты, потом написать код, потом опять проверить код. 3 тестера на одного програмиста.

    Лучше вы мне скажите, что у вас есть успех применения TDD. И еще, очень личный вопрос, сколько гибких методов вы знаете? Scrum? Agile MSF? что еще?

  • agilesys

    MSF вообще imho плановый.

  • http://alovak.com Павел Габриель

    Скажу вам о том, что у меня есть опыт успешного применения TDD на двух проектах (на одном мы частично тестировали и пользовательский интерфейс). И опыт не совсем успешного применения.

    Сколько гибких методов? Один: думать головой.

    Вопрос вам: вы читали книгу Кента Бека о разработке через тестирование?

  • agilesys

    Книгу смотрле по Амазону (exceeds). Маодзедун сказал – не читайте много книг 🙂 А вообще, Паша, вы меня может не так поняли: TDD не вы придумали – и не вам я предявы делаю!! но раз вы об этом пишите – то обороняйте свою точке зрения.

    Я просто удивлен, что в Беларуси знают о гибких методах. И еще больше уддивлен, что о TDD есть рубрика, а о всем другом нет. Просто agile development – это не TDD и не Scrum (он вообще не метод – а какая-то из пальца высосанная абстракция с скрум-лидером – ума не приложу, зачем этот человек в проекте).

    Давайте развернем дискуссию – и поспорим что есть в TDD, и чего он деать не может. Вы тестируете код? QA manager? или все же Project Manager?

  • http://alovak.com Павел Габриель

    Дискуссия может получится, если у вас есть проблема и вы хотите найти решение. Я этого не наблюдаю. Обсуждать шлак ли TDD – не вижу смысла.

    Если у вас есть конкретные вопросы ко мне, пишите: alovak на gmail.com

    P.S.
    Дискуссия (от лат. discussio – рассмотрение, исследование), публичное обсуждение какого-либо спорного вопроса, проблемы;

  • agilesys

    окей. пусть так. но если с 18 марта никто не написал на этот пост – ну наверное он не интересен людям. ну не обижайтесь на меня. ну честно. Людям намного интереснее оббсуждать, явлляется ли что-то шилом (шлаком) или нет. ну честно. я просто знаю – может, пожтому у меня нет велосипеда, я катаюсь на бмв.

    А если серьезно, то буду на самом деле благодарен за ответ на совем другой вопрос. Как перевести DSDM? У нас тут разгорелся спор:
    1) Динамичный метод разработки систем (я за этот вариант)
    2) Метод разработки динамичных систем
    3) Динамический метод разработки систем
    4) метод разработки динамических систем.

  • http://alovak.com Павел Габриель

    Из предложенных вариантов 1 и 3 – синонимы (если пользваться словарем 😉

    Я бы выбрал 1 или 3. Кажется мы закончили дискуссию 🙂

  • agilesys

    OK, спасибо.

    p.s. дайте мне права администратора – подолью уникального контента в стеле своих постов. Как бы, это challenge – вызов. Посмотрим, может будут обсуждать. Дадите?

  • http://alovak.com Павел Габриель

    Ответьте сами на свой вопрос 🙂

    Если у вас есть статья, присылайте, разместим. Познакомимся поближе, будет вам доступ к публикации.

  • Денис Петелин

    У меня есть опыт использованияучастия TDD в трех проектах. Сработано – отлично. Кстати, все три делались силами команд из Беларуси.

    При этом почему TDD подразумевает отсутствие требований и архитектуры – не очень понял. Соотношение тестеров – один тестер на 3-5 программистов. При использовании Fitnesse – можно вообще обойтись без выделения тестеров, как и делают камрады в Киеве, как рассказывал и показывал Николай на конференции. Товарищ аджайлсис, вообще с темой знаком? Сколько проектов сделалзапорол?

    Пока даже обмена мнениями не видим, видим только поток мысли в стиле “… – шлак! обороняйте свою точку зрения!” От чего оборонять – от поливания эээ.. шлаком? Лучшая оборона от поливания шлаком – известна, так что воздержись от надоевших стратегий загаживания блогов.

    Вообще посты сверху напоминают не дискуссию, а поиск “к чему бы придраться!” Придраться не к чему – “а вот тема висит с 18 марта!”. Дискуссия ради дискуссии – это не челлендж, это шлак. Права администратора для производства шлака – в топку, к шлаку.

    И еще одно – не вздумай пожалуйста путать “свободу словаоткрытое сообщество” и “срать в комментах”. Если люди, которые сделали сообщество, не желают тебя видеть – это их право, ты не находишь? Или ты считаешь что кто-то из сообщества тебе что-то должен?

    P.S. Тем не менее первую статью – конечно присылай. Разместит ее Павел или я (к слову, он не любит, когда его зовут Пашей), после проверки орфографии – чтобы стель сайта не портился ошибками.