|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
Допустим существует тривиальная задача. Отладить окно редактирования данных. Пусть это будет редактирование пользователя. Чтоб в него попасть нужно 1)запустить программу, 2)логин пароль ввести, 3) дождаться коннекта с сервером, что ты не опечатался. 4)Открыть вкладку юзеры. 5) найти первого попавшегося в поиске, 6)нажать редактировать, и далее смотреть что ты там замутил. Далее - "Ага!" непонравился шрифт, как выглядит к примеру в приложении. Потом пользователь не редактируется, к примеру- "Ага" исправил. И так может быть много действий, повторяющий логин, пароль, коннект, первоначальное окно, поиск юзера для тренировки, и просмотр окна. Как бы вы исключили эти лишние действия, чтоб нажал run, и открылось окно редактирования? Ведь окошко редактирования пользователя по сути не очень большое, раза 4 туда зайдёшь, и всё готово, а если какое-то сложное окно? На уме только закомментить строку запуска главного окна, следующей строкой получить сущность пользователя, передать его в форму редактирования, и далее запустить её. А если там не только одна сущность, но и синглтон, что-нибудь ещё. Как-то можно сохранить состояние программы , чтоб запустить её с определённого места с определёнными значениями полей ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 01:50 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
Похоже, что это "редактирование" вынести в отдельный автономный модуль. Этот модуль независим от коннектов, логинов и всего прочего - ему на вход дают View-модель юзера, он ее рисует и дает редактировать. Дальше делаешь программу-прототип (которая либо коннектится к серверу по захардкоженным логину-паролю, либо вообще просто создает фейкового юзера), в которой подключаешь этот модуль и дебажишь только его. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 05:18 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvanga, Делать окно отдельным компонентом, и пилить его отдельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 09:06 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
Вызываю отлаживаемую форму в событии onload главного окна программы с зашитыми в коде логином-паролем и параметрами ее конструктора ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 10:26 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
Делать все компоненты независимыми Использовать Unit и UI тесты Использовать труд тестировщика ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 11:18 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvanga, в студии есть блоки #if debug #else в дебаге инициализируй все свои подключения, логины пароли и вызов окна Юзеры... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 12:10 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
#if debug #else Хоршая идея. Но ищу способы не срать в рабочий проект. Почитаю, что такое UI тесты. Unit тесты наверное не из той области, что я ищу в этой теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 15:05 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvanga#if debug #else Хоршая идея. Но ищу способы не срать в рабочий проект. Почитаю, что такое UI тесты. Unit тесты наверное не из той области, что я ищу в этой теме. почему же? можно в UnitTest инициалировать среду и запустить окно редактирования, в обход всех вами описанных процедур. раньше у меня в программе поддерживались аргементы при запуске, они работали только в Debug версии, но с помощью них можно было загрузить программу с нужными параметрами и сразу запустить нужное окно. Было довольно удобно, особенно когда стоял плагин для переключения аргументов запуска. Довольно долго пользовался, потом отдал на тестирование :) а тестировщик меня завернул сразу на окне логирования, так как оно как то там заглючило в процессе изменений :) а я об этом даже не знал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 15:30 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
Roman Mejtesbvanga#if debug #else Хоршая идея. Но ищу способы не срать в рабочий проект. Почитаю, что такое UI тесты. Unit тесты наверное не из той области, что я ищу в этой теме. почему же? можно в UnitTest инициалировать среду и запустить окно редактирования, в обход всех вами описанных процедур. Пробежался я по книге по тестированию на NUnit с японцем на обложке. И как бы начал понимать, что юнит тесты не для отладки формы редактирования, а больше для отладки всяких функций, типа удаление пробелов, риверс строк, с всевозможными значеними через [TestCase], как я понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 16:00 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvanga... юнит тесты не для отладки формы редактирования, а больше для отладки всяких функций, типа удаление пробелов, риверс строк, с всевозможными значеними через [TestCase], как я понял. юнит-тесты для отладки ЛОГИКИ работы метода. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 16:15 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
Roman Mejtesпочему же? можно в UnitTest инициалировать среду и запустить окно редактирования, в обход всех вами описанных процедур. Юнит-тесты не из этой области и оперы. Надо запустить и посмотреть КАК оно работает. Тесты запускаются и показывают работает ли оно как НАДО. Не мешайти одно с другим и не путайте людей :) WitCюнит-тесты для отладки ЛОГИКИ работы метода. Юнит-тесты не для отладки. Они показывают, выполняется ли код, как задумано, или нет. Грубо говоря, это красно-зелёный светофор. Всё. Хотя тесты можно запускать в отладочном режиме, чтобы выяснить ПОЧЕМУ оно не работает как надо, это опять же отладка с подгонкой под тесты, а не отладка в режиме ПОСМОТРЕТЬ. Эх, ну что за народ. Топикастер. Правильный, самый простой, удобный и кайфовый по всем параметрам, феншуйный по самые яйца, это разбивать на компоненты, и делать каждый компонент отдельно. Так можно и отладить, и протестировать, и смотреть хоть до посинения, как работает компонент, без запуска целой системы в комплексе. Какие ещё #if? Это отвратительная идея. Ребя, вы бы не позорились, а? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 18:27 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
hVostt, создаешь окно, вызываешь всё, что делается через кнопки, но путём кода. профит. я не говорил, что надо открыть окно и через тест кнопки там нажимать. А если архитектура правильная, то и окно создавать совсем не обязательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 20:53 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
Roman MejteshVostt, создаешь окно, вызываешь всё, что делается через кнопки, но путём кода. профит. я не говорил, что надо открыть окно и через тест кнопки там нажимать. А если архитектура правильная, то и окно создавать совсем не обязательно. А смысл? Человек хочет разрабатывать отдельный кусок, смотреть, тыкать руками, выяснять нравится-ненравится, потом чё-то доделывать переделывать, опять смотреть. Странно, что он это называет отладкой, ну да ладно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 21:07 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
hVostt А смысл? Человек хочет разрабатывать отдельный кусок, смотреть, тыкать руками, выяснять нравится-ненравится, потом чё-то доделывать переделывать, опять смотреть. Странно, что он это называет отладкой, ну да ладно ну да, дизайнерство + проверка работы. А как бы ты это назвал? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 21:46 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvangaну да, дизайнерство + проверка работы. А как бы ты это назвал? Процесс разработки обыкновенный. Верстание компонента, доведение его дизайна до приемлемого результата. Логика приложения пишется и тестируется отдельно в процессе разработки. Потом это компонуется, собирается и отдаётся QA на тестирование. Т.е. отдаётся рабочий результат, полуфабрикат. А то часто бывает и такое, типа вот что есть, туда не тыкайте, так не делайте, сюда мышку не наводите, а остальное проверяйте ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 22:00 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
+может там кнопочку справочника по форме туда сюда перемещать, пока не станет эстетично, и всякое. Короч я согласен, что компоненты. Т.к. не засирается рабочий проект. Но иф дебаг вроде проще, хоть и ведёт к засиранию проекта. Смотри.Ну типа создал я компонент, где всё редактирование это есть, текстбоксы, ФИО, дата рождения, кнопка сохранить, отменить, + справочник места рождения вызывается. Всё равно чтоб это отладить - нужно создавать отдельный проект, там кучу форм заново делать, чтоб отладить этот компонент. Вроде красиво,но калорий больше трачу. Один раз так сделаю, второй а потом надоест. Не проще как тот тип написал? #if debug //инициализация сущностей, датаконтекстов //запуск формы #else ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 22:00 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
hVosttТ.е. отдаётся рабочий результат, а не полуфабрикат. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 22:01 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvanga, Не вижу проблемы. Компоненты отдельно. Demo-проджект отдельно для всех тестируемых компонетов. Там никакой логики, ничего лишнего вводить не надо, логиниться и т.д., никуда проваливаться вглубь на 10 уровней, каждый новый компонент размещаешь в демо, и запускаешь его для оценки результата и отладки. Это как шрифты тестят, придумывают специальный небольшой текст, лишённый смысла, но в котором присутствуют все буквы и знаки в разных сочетаниях. Или веб-дизайн. Есть специальный, отдельный от веб-приложения/сайта набор страниц, который демонстрирует все стили и визуальные компоненты. Ну и т.д. Дело не в засорении рабочего проекта. Просто экономия времени. Небольшие затраты на устройство плацдарма, окупаются 10 раз. Но лень и глупость зачастую стоят на пути в правильном направлении. Они говорят тебе, да нафига? Всегда ж наживую делал. Да пофигу ваще.. Но вы хоть вопросом задались, это уже огромный жирный плюс. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 22:09 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
В принципе проблему обдумал. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 22:18 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
А как вы видите, или реализовываете такой Демо-проект, если на пальцах? Открывается большая форма с кучей кнопок, или лист бокс с кучей итемов, на каждом написано "изменение \n юзеров", на другой "изменение улицы", и т.п. ? и в каждом варианте выбора инициализация, и запуск формы, на которой компоненты ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2017, 22:48 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvanga, имхо приложение-прототип нужно для того, чтобы написать компонент, не подымая тяжелую инфраструктуру всего приложения. Потом, после разработки, внедряешь его в основной проект, отшлифовываешь, и отдаешь на фокус-группу/тестирование. Большой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 05:22 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
bvangaА как вы видите, или реализовываете такой Демо-проект, если на пальцах? Открывается большая форма с кучей кнопок, или лист бокс с кучей итемов, на каждом написано "изменение \n юзеров", на другой "изменение улицы", и т.п. ? и в каждом варианте выбора инициализация, и запуск формы, на которой компоненты ? Открывается форма-диспетчер с кнопками: Копонент 1, Компонент 2, Компонент 3... Тыкаешь на кнопку, открывается форма с компонентом, это легко программируется, можно генерировать из кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 07:36 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
PallarisБольшой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов. При правильном подходе к разработке, такой проект появляется в первую очередь, и там демонстрируются и отлаживаются все компоненты. Для каких-то отдельных, специальных или сложных компонентов, создаётся другой проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 07:56 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
hVosttPallarisБольшой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов. При правильном подходе к разработке, такой проект появляется в первую очередь, и там демонстрируются и отлаживаются все компоненты. Для каких-то отдельных, специальных или сложных компонентов, создаётся другой проект. Потом создается проект для отладки этих проектов и так далее. Нет рецепта на все случаи жизни ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 09:34 |
|
Как вы обычно такое отлаживаете ?
|
|||
---|---|---|---|
#18+
hVosttPallarisБольшой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов. При правильном подходе к разработке, такой проект появляется в первую очередь, и там демонстрируются и отлаживаются все компоненты. Для каких-то отдельных, специальных или сложных компонентов, создаётся другой проект. А можно какие-то авторитетные источники на тему правильного подхода, где про такое пишут? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 10:22 |
|
|
start [/forum/topic.php?fid=20&msg=39484142&tid=1399812]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 265ms |
0 / 0 |