Комбинатор
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
1

TDD

15.03.2012, 17:26. Показов 1680. Ответов 16

Author24 — интернет-сервис помощи студентам
TDD - Test Driven Development.
Хотелось бы узнать, используете ли вы тесты(те самые TDD) при разработке своих продуктов?
И вообще ваше мнение об этом.

Я вот не использую пока что. Справляюсь как-то без них. Но чувствую, что уже наверное пора бы...
Да и многие авторы, очень рекомендуют, сначала строить тест для будущего модуля, а потом уже создавать сам модуль и тестировать его... Конечно, красиво звучит, но как-то в лом делать их, я могу и сам в ручную все проверить... Пока что.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2012, 17:26
Ответы с готовыми решениями:

TDD на практике
Доброго времени суток всем! Вот давно болит вопрос, как в реальности использовать TDD? Да, я везде...

Методология TDD
Добрый вечер! Хотелось бы посоветоваться со знатоками. Ситуация такая, что мне досталась тема для...

Google Test и TDD
1) Гугловский фреймворк тестировать умеет только статические библиоткеи? Разве создать обычный...

TDD/BDD и Python
Всем привет. Начали с подругой изучать Python(ей - для работы разработчиком, мне - для работы...

16
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.03.2012, 01:46 2
Цитата Сообщение от DenQ Посмотреть сообщение
я могу и сам в ручную все проверить
после каждого изменения ?
напиши что-нибудь размером 1000 строк
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
16.03.2012, 03:11 3
DenQ, естественно. Работаю над очень большим многолетним проектом. На днях столкнулся с ситуацией, когда было затребовано изменение, которое проходит через всю программу(100500+ строк кода, в буквальном смысле). При этом отлавливать это изменение по всему проекту достаточно проблематично. Качественно написанные JUnit(не только мной, но и остальными девелоперами) позволили мне сократить затраты на поиск и фикс импакта буквально до двух дней, т.к. упали именно в тех местах, где был этот самый импакт(не о всех из этих кейсов я помнил).
Так что если проект достаточно большой, то без них обходится будет очень сложно, можно сказать, что практически не реально
0
Комбинатор
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
16.03.2012, 12:38  [ТС] 4
Цитата Сообщение от accept Посмотреть сообщение
напиши что-нибудь размером 1000 строк
Хахах.. рассмешил...
Для тебя наверное это очень много...
Цитата Сообщение от accept Посмотреть сообщение
после каждого изменения ?
Да, после каждого изменения, пока что разработанная мной структура проекта позволяет не заботиться о таких вещах. Проверяешь непосредственно новый функционал, а в конце проверяешь все ли работает исправно в расширяемом модуле. И если что-то не так, то я довольно быстро нахожу в чем причина. И устраняю ее и снова проверяю модуль.
Данным вопросом я занялся лишь потому что, очень скоро к проекту нужно будет подключать других программистов. И чтобы им было легче, да и разработка шла быстрее. Я то свою систему знаю, а вот они...
Да и сам чувствую, это ускорит разработку процентов на 20. И даст ощутимую стабильность проекта в целом.

M128K145, спасибо очень интересно. Надо будет выделить время, для разработки модуля тестирования, других модулей и контролеров.

ЗЫ. На данный момент в проекте более 150 файлов(без учета сторонних библиотек, картинок и прочего, что ни есть моим кодом(иначе было бы более 3500 файлов)), и в каждом из них в среднем 300 строк кода. Суммарно это выходит более чем 45 000 строк кода, и это по самым скоромным подсчетам. И это только 1 месяц разработки. И это еще без учета пользовательских функций на plpgsql. И еще мало контроллеров - можно сказать, что пока разрабатывается платформа, для удобной разработки будущих контроллеров и модулей.
Пока что удается справляться, но думаю тесты облегчат жизнь всем.
0
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2012, 14:02 5
Цитата Сообщение от DenQ Посмотреть сообщение
TDD - Test Driven Development.
Хотелось бы узнать, используете ли вы тесты(те самые TDD) при разработке своих продуктов?
И вообще ваше мнение об этом.
Я вот не использую пока что. Справляюсь как-то без них. Но чувствую, что уже наверное пора бы...
Да и многие авторы, очень рекомендуют, сначала строить тест для будущего модуля, а потом уже создавать сам модуль и тестировать его... Конечно, красиво звучит, но как-то в лом делать их, я могу и сам в ручную все проверить... Пока что.
Как это пока? Может уже? Начинают ведь без опыта и знаний, а со временем их приобретают, тогда уже можно иногда без тестовых прогонов обходиться. Я ещё нее дошл до полного отказа от тестов, но уже редко тестирую.
0
Комбинатор
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
16.03.2012, 16:05  [ТС] 6
taras atavin, я так понял ты считаешь тестирование, уделом новичков?
0
228 / 52 / 7
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
16.03.2012, 16:12 7
DenQ, тестирование удел тестеров. так наверно правильнее. ты же сам знаешь что супер идея это редкость и ее нельзя топить в рутине тестирования. для тестирования есть тестер, для кодирования есть кодер. а для идеи есть....
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
16.03.2012, 16:17 8
Цитата Сообщение от Pure Посмотреть сообщение
DenQ, тестирование удел тестеров.
как все запущено....
0
228 / 52 / 7
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
16.03.2012, 16:51 9
Цитата Сообщение от M128K145 Посмотреть сообщение
как все запущено....
через твои очки если смотреть то да.

а чем тебя обижает функция тестера или кодера в крупном проекте?
0
Комбинатор
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
16.03.2012, 17:07  [ТС] 10
Pure, ты просто не понял о чем речь. О каких тестах тема.
0
228 / 52 / 7
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
16.03.2012, 17:11 11
DenQ, а ну ладно. тогда сори
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
16.03.2012, 17:58 12
Pure, для справки Модульное тестирование
0
4 / 4 / 0
Регистрация: 07.05.2011
Сообщений: 53
17.03.2012, 05:17 13
Цитата Сообщение от DenQ Посмотреть сообщение
taras atavin, я так понял ты считаешь тестирование, уделом новичков?
О, taras atavin очень много чего считает - советую пообщатся)))

А по теме - приучаю себя постепенно к тестам, профит таки может быть иногда очень большим. Главное без паранойи и разумно, и не гнаться за 100% покрытием
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
17.03.2012, 06:03 14
Цитата Сообщение от DenQ Посмотреть сообщение
Хахах.. рассмешил...
Для тебя наверное это очень много...
1000 строк достаточно, чтобы начать теряться в функциях и не помнить, где какая

Цитата Сообщение от DenQ Посмотреть сообщение
Да, после каждого изменения, пока что разработанная мной структура проекта позволяет не заботиться о таких вещах. Проверяешь непосредственно новый функционал, а в конце проверяешь все ли работает исправно в расширяемом модуле. И если что-то не так, то я довольно быстро нахожу в чем причина. И устраняю ее и снова проверяю модуль.
изменения - это не всегда добавление
бывает так, что нужно переделывать код
и когда программ несколько, ты уже не вспомнишь, где какой функционал в какой-то из них, где новый, где старый, а где не очень старый
0
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
17.03.2012, 20:18 15
Цитата Сообщение от DenQ Посмотреть сообщение
taras atavin, я так понял ты считаешь тестирование, уделом новичков?
Не только, но новичков - в первую очередь. Особенно, частое тестирование. Удел новичков - тестирование после каждой закорючки, опытные от этого всегда отходят. Совсем отойти от тестирования абсолютно не способны те, у кого сложность программ соответствует опыту, если же продолжать клепать полный примитив, то тестирование становится не нужным по причини гарантии правильности.
Цитата Сообщение от accept Посмотреть сообщение
1000 строк достаточно, чтобы начать теряться в функциях и не помнить, где какая
2-х миллионов мало, а жалкой тысячи достаточно? Однако! В сложных проектах память - далеко не всё, но запутаться даже в структуре - это надо уметь.
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
17.03.2012, 20:59 16
Цитата Сообщение от taras atavin Посмотреть сообщение
Удел новичков - тестирование после каждой закорючки, опытные от этого всегда отходят.
Я тут читал в одной книге в разделе про юнит-тестирование, что в идеале грубо говоря надо создавать по тесту для каждой строки кода, причем это рекомендовалось не для новичков, а уже для профессиональных программистов
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
18.03.2012, 09:20 17
Интересная тема, отмечусь
Что, кто-то реально TDD использует?
Меня например BDD полностью устраивает в отличии от сабжа.

Цитата Сообщение от Eugene22 Посмотреть сообщение
что в идеале грубо говоря надо создавать по тесту для каждой строки кода
Причем писать тесты до кода. И надо тестировать тесты (да масло масленое, но тем не менее). Мне такая идея категорически не нравиться.
ИМХО тесты должны проверять функциональность программы по спецификации, а не факт перемещения двух строк для улучшения читаемости кода.

Добавлено через 8 минут
Дочитал тему, сложилось впечатление, что никто TDD не пользует
0
18.03.2012, 09:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2012, 09:20
Помогаю со студенческими работами здесь

Переход к TDD: мучительно
Я программирую. Программирую я не все свое рабочее время. Ну, может быть, 5 % рабочего времени....

Задание на тестирование (TDD)
На первом этапе реализовать набор тестов для методов, а затем реализовать сами методы: 1. Метод...

Инструменты, поддерживающие методологию TDD
Всем привет! Подскажите пожалуйста, какие инструменты поддерживают разработку через тестирование?...

Спроектируйте с использованием TDD класс
Спроектируйте с использованием TDD класс CTVSet , моделирующий телевизор, который может находиться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru