powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Про TDD
25 сообщений из 134, страница 1 из 6
Про TDD
    #39003936
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то задумался над этим подходом. книги/статьи читал. но как-то не проникся. может подскажете хорошее чтиво/статьи, где не хелловорд и не про бороздят космические океаны. почему пишу? чувствую, надо быть в тренде что есть в этом подходе что-то мне нужное.
...
Рейтинг: 0 / 0
Про TDD
    #39003949
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TDD это забавный зверек пригодный для расчетных задач. Но в большинстве случаев мы пишем что-то работающее с пользовательскими интерфейсами, а для этого чрезвычайно сложно создать автоматический тест. Поэтому и TDD распространения не получил.
Но если у тебя задача типа взять один файл и превратить его в другой - то TDD становится чрезвычайно удобным. Можно даже утверждать что для любых конверторов TDD это наиболее естественный процесс разработки.
Но для любых приложений с GUI это уже практически неприменимо.
...
Рейтинг: 0 / 0
Про TDD
    #39003952
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlTDD это забавный зверек пригодный для расчетных задач. Но в большинстве случаев мы пишем что-то работающее с пользовательскими интерфейсами, а для этого чрезвычайно сложно создать автоматический тест. Поэтому и TDD распространения не получил.
Но если у тебя задача типа взять один файл и превратить его в другой - то TDD становится чрезвычайно удобным. Можно даже утверждать что для любых конверторов TDD это наиболее естественный процесс разработки.
Но для любых приложений с GUI это уже практически неприменимо.

Ваш ответ скорее против, чем за TDD, как мне кажется. меня больше интересует, как этот TDD, работает в обычных бизнес-приложениях. там все уже известно - что и как. а бизнес логика - именно то что есть "бизнес-логика" - та часть, которую надо неизбежно говнокодить - как тут это TDD имеет место быть? часто пишут в интернетах: вот контроллер, вот репозиторий. но это как-то мимо все
...
Рейтинг: 0 / 0
Про TDD
    #39003991
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawВаш ответ скорее против, чем за TDD, как мне кажется. меня больше интересует, как этот TDD, работает в обычных бизнес-приложениях. там все уже известно - что и как. а бизнес логика - именно то что есть "бизнес-логика" - та часть, которую надо неизбежно говнокодитьха-ха-ха.
Во впервых, кому нужно? Бизнес покупает готовый продукт (1С хотя бы) и подтягивает свою бизнес-логику под нее.
Разработки с нуля обычно начинаются там где бизнес-логикой и не пахнет. У них весь бизнес процесс на уровне "здесь играть, здесь не играть, здесь рыбу заворачивали". И когда такой бизнес решается на автоматизацию то жесткие рамки готовых решений не годятся и начинается своя разработка. Но под нее написать тесты практически нереально (смотри описание бизнес-логики).
Ну и во вторых, бизнес-приложения это всегда в первую очередь GUI клиенты для офисного люда. А для GUI тесты делать сложно.

У TDD расшифровка какая? Test Driven Development - уже из названия видно, что тесты стоят во главе всего. Если ты можешь написать автоматизированные тесты для всех частей своего приложения, то TDD будет хорошим выбором. А если с тестами напряг - то и опаньки.
...
Рейтинг: 0 / 0
Про TDD
    #39004020
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlTDD это забавный зверек пригодный для расчетных задач. Но в большинстве случаев мы пишем что-то работающее с пользовательскими интерфейсами, а для этого чрезвычайно сложно создать автоматический тест. Поэтому и TDD распространения не получил.
Но если у тебя задача типа взять один файл и превратить его в другой - то TDD становится чрезвычайно удобным. Можно даже утверждать что для любых конверторов TDD это наиболее естественный процесс разработки.
Но для любых приложений с GUI это уже практически неприменимо.

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

При таком подходе нет проблем использовать TDD для тестировани бизнеслогики.
А Гуй пусть оценивает комиссия по эстетике и морали, на качесто
работы бизнеслогики он влиять не должен.
...
Рейтинг: 0 / 0
Про TDD
    #39004022
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРгласят что мухи ( гуй ) отдельно , а котлеты ( бизнеслогика ) отдельно.Протестировали CRUD бизнес логики. Все ОК. В GUI кто-то повесил на кнопку Create обработчик Delete.
...
Рейтинг: 0 / 0
Про TDD
    #39004053
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРЯ прошу прощения , но последние бестпрактисы
гласят что мухи ( гуй ) отдельно , а котлеты ( бизнеслогика ) отдельно.это не бестпрактикс, это идеи теоретиков.
"если текущая дата превышает ожидаемую дату оплаты, то строку поставки необходимо выделить красным цветом" - как тебе такой кейс? и таких кейсов - миллион, и все они - бизнес-логика в гуе.
...
Рейтинг: 0 / 0
Про TDD
    #39004128
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Про TDD
    #39004136
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychДохтаРЯ прошу прощения , но последние бестпрактисы
гласят что мухи ( гуй ) отдельно , а котлеты ( бизнеслогика ) отдельно.это не бестпрактикс, это идеи теоретиков.
"если текущая дата превышает ожидаемую дату оплаты, то строку поставки необходимо выделить красным цветом" - как тебе такой кейс? и таких кейсов - миллион, и все они - бизнес-логика в гуе.Бизнес-логика в этом кейсе заканчивается на определении превышения текущей даты над датой поставки.
Раскрашивание пользовательского интерфейса во все цвета радуги к этому никакого отношения не имеет.
Ну и в каком месте находится проблема разделения бизнес-логики и гуя?
...
Рейтинг: 0 / 0
Про TDD
    #39004206
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvРаскрашивание пользовательского интерфейса во все цвета радуги к этому никакого отношения не имеет.да ладно, а что же это?
...
Рейтинг: 0 / 0
Про TDD
    #39004223
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
egorychsphinx_mvРаскрашивание пользовательского интерфейса во все цвета радуги к этому никакого отношения не имеет.да ладно, а что же это? информирование
...
Рейтинг: 0 / 0
Про TDD
    #39004225
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРЯ прошу прощения , но последние бестпрактисы
гласят что мухи ( гуй ) отдельно , а котлеты ( бизнеслогика ) отдельно.

При таком подходе нет проблем использовать TDD для тестировани бизнеслогики.


Очень правильное замечание, но проблема в том, что далеко не всегда "последние бестпрактики" применимы на практике, и
далеко не всегда, даже если они применимы, они применяются.
Да и GUI тестировать тоже надо, ибо порядка 70% ошибок именно в нём. Ну, половина уж точно.

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

Книгу я не подскажу, а автору посоветую не фанатствовать, попадёшь в компанию, где это кровь из носа нужно -- научишься быстро, это не rocket science, там ничего сложного нет. Не попадёшь -- ну и не надо.
...
Рейтинг: 0 / 0
Про TDD
    #39004227
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TDD - это про модульное тестирование. Раскрашивание по условию - это функциональное.
...
Рейтинг: 0 / 0
Про TDD
    #39004255
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseegorychпропущено...
да ладно, а что же это? информированието есть, произошло бизнес-событие о котором программа явно должна уведомить бизнес-пользователя, и это не бизнес-логика? ну-ну, я и говорю - теоретики.
...
Рейтинг: 0 / 0
Про TDD
    #39004260
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГхостикTDD - это про модульное тестирование. Раскрашивание по условию - это функциональное.вот с этим я согласен. Только получается, что весь проект мы не сможем написать по принципам TDD, что херит, на мой взгляд, всю идею.
...
Рейтинг: 0 / 0
Про TDD
    #39004267
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
egorycheNoseпропущено...
информированието есть, произошло бизнес-событие о котором программа явно должна уведомить бизнес-пользователя, и это не бизнес-логика? ну-ну, я и говорю - теоретики. система должна уведомить.
а как программа отобразит это - уже дело вкуса.
...
Рейтинг: 0 / 0
Про TDD
    #39004274
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseсистема должна уведомить.
а как программа отобразит это - уже дело вкуса.то есть, тестировать уже не надо, так, что ли?
...
Рейтинг: 0 / 0
Про TDD
    #39004279
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
egorycheNoseсистема должна уведомить.
а как программа отобразит это - уже дело вкуса.то есть, тестировать уже не надо, так, что ли? конечно надо.
но это не бизнес-логика.
...
Рейтинг: 0 / 0
Про TDD
    #39004285
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseegorychпропущено...
то есть, тестировать уже не надо, так, что ли? конечно надо.
но это не бизнес-логика.опять двадцать-пять. То есть, когда было написано "система должна уведомить" - это была бизнес-логика, а когда определены все ограничения дизайна, пользовательский интерфейс, технологии и прочая-прочая, и пишется конкретный код - вдруг перестало быть бизнес-логикой. Красиво, чё. Зато отделили бизнес-логику от UI, молодцом.
...
Рейтинг: 0 / 0
Про TDD
    #39004357
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychДохтаРЯ прошу прощения , но последние бестпрактисы
гласят что мухи ( гуй ) отдельно , а котлеты ( бизнеслогика ) отдельно.это не бестпрактикс, это идеи теоретиков.
"если текущая дата превышает ожидаемую дату оплаты, то строку поставки необходимо выделить красным цветом" - как тебе такой кейс? и таких кейсов - миллион, и все они - бизнес-логика в гуе.
Сдесь не сказано когда. Это например может случиться при нажатии на клавишу "исполнить" - сработает бизнес логика и вернет в Гуй ошибку. по которой он (Гуй) может раскрасить поля или просто скажет боксом - Это уже информирование.
...
Рейтинг: 0 / 0
Про TDD
    #39004376
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSqlСдесь не сказано когда. Это например может случиться при нажатии на клавишу "исполнить" - сработает бизнес логика и вернет в Гуй ошибку. по которой он (Гуй) может раскрасить поля или просто скажет боксом - Это уже информирование.почему то вы считаете, что "информирование" - это какой то отдельный зверь. Информирование - это неотъемлемая часть бизнес-процесса, без которой этот бизнес-процесс не имеет смысла. И как оно может быть не бизнес-логикой, скажите мне пожалуйста?
Конкретная реализация мессаджбокса, грида или другого какого чёрта-в-ступе-для-вывода-сообщений-пользователю, конечно, к бизнес-логике отношения не имеют, а вот его реакция на определённое событие - является.

И вот что я не понимаю возвращаясь, всё же, к заявленной теме - как тут применить TDD, когда программируешь такие кейсы. А ведь именно здесь они и нужны больше всего.
...
Рейтинг: 0 / 0
Про TDD
    #39004397
F#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
F#
Гость
egorychГхостикTDD - это про модульное тестирование. Раскрашивание по условию - это функциональное.


Раскрашиваение по условию вполне тестируется модульным тесто модели представления.

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

Это надо обосновать - почему тестирование только отдельных кусков херит всю идею.

Например в электрический чайник я наливаю воду вручную, но дальше он кипятит чай самостоятельно. Если он облегчает мне часть работы почему бы его не использовать? Так и с тестами. Если я не трогаю UI я могу быть уверен, что не сломаю все в усмерть, если я трогаю, я могу перетестировть руками только UI. Если я сломаю что-то другое, я получу нформацию о том, что именно я сломал.
...
Рейтинг: 0 / 0
Про TDD
    #39004400
F#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
F#
Гость
egorychИ вот что я не понимаю возвращаясь, всё же, к заявленной теме - как тут применить TDD, когда программируешь такие кейсы. А ведь именно здесь они и нужны больше всего.

абстрагировать UI - объекту отвечающему за бизнес логику подсовывать симуляцию пользовательского ввода, который в ответ на конкретный вопрос выдает заранее записанный ответ.

Прочитайте про MVVM и как там работают с диалогами.
...
Рейтинг: 0 / 0
Про TDD
    #39004409
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychYesSqlСдесь не сказано когда. Это например может случиться при нажатии на клавишу "исполнить" - сработает бизнес логика и вернет в Гуй ошибку. по которой он (Гуй) может раскрасить поля или просто скажет боксом - Это уже информирование.почему то вы считаете, что "информирование" - это какой то отдельный зверь. Информирование - это неотъемлемая часть бизнес-процесса, без которой этот бизнес-процесс не имеет смысла. И как оно может быть не бизнес-логикой, скажите мне пожалуйста?
Конкретная реализация мессаджбокса, грида или другого какого чёрта-в-ступе-для-вывода-сообщений-пользователю, конечно, к бизнес-логике отношения не имеют, а вот его реакция на определённое событие - является.

И вот что я не понимаю возвращаясь, всё же, к заявленной теме - как тут применить TDD, когда программируешь такие кейсы. А ведь именно здесь они и нужны больше всего.
Да, это часть бизнес логики. Я к тому что можно срезать достаточно тонкий слой Гуя который тестируется вручную.
...
Рейтинг: 0 / 0
Про TDD
    #39004422
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSqlЯ к тому что можно срезать достаточно тонкий слой Гуя который тестируется вручную.как то у меня получается наоборот. Достаточно тонкий слой вычислений уровня 2+2=4, и толстый-толстый слой гемотогена UI, потому что таких зависимостей одного от другого - до чёрта. И всё тестируется ручками. Куда тут всунуть TDD?
...
Рейтинг: 0 / 0
25 сообщений из 134, страница 1 из 6
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Про TDD
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]