powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как вы обычно такое отлаживаете ?
25 сообщений из 36, страница 1 из 2
Как вы обычно такое отлаживаете ?
    #39483474
bvanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим существует тривиальная задача. Отладить окно редактирования данных. Пусть это будет редактирование пользователя. Чтоб в него попасть нужно
1)запустить программу,
2)логин пароль ввести,
3) дождаться коннекта с сервером, что ты не опечатался.
4)Открыть вкладку юзеры.
5) найти первого попавшегося в поиске,
6)нажать редактировать,
и далее смотреть что ты там замутил. Далее - "Ага!" непонравился шрифт, как выглядит к примеру в приложении. Потом пользователь не редактируется, к примеру- "Ага" исправил. И так может быть много действий, повторяющий логин, пароль, коннект, первоначальное окно, поиск юзера для тренировки, и просмотр окна.

Как бы вы исключили эти лишние действия, чтоб нажал run, и открылось окно редактирования? Ведь окошко редактирования пользователя по сути не очень большое, раза 4 туда зайдёшь, и всё готово, а если какое-то сложное окно?

На уме только закомментить строку запуска главного окна, следующей строкой получить сущность пользователя, передать его в форму редактирования, и далее запустить её. А если там не только одна сущность, но и синглтон, что-нибудь ещё. Как-то можно сохранить состояние программы , чтоб запустить её с определённого места с определёнными значениями полей ?
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483489
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, что это "редактирование" вынести в отдельный автономный модуль. Этот модуль независим от коннектов, логинов и всего прочего - ему на вход дают View-модель юзера, он ее рисует и дает редактировать.
Дальше делаешь программу-прототип (которая либо коннектится к серверу по захардкоженным логину-паролю, либо вообще просто создает фейкового юзера), в которой подключаешь этот модуль и дебажишь только его.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483537
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bvanga,

Делать окно отдельным компонентом, и пилить его отдельно.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483588
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вызываю отлаживаемую форму в событии onload главного окна программы с зашитыми в коде логином-паролем и параметрами ее конструктора
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483661
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делать все компоненты независимыми
Использовать Unit и UI тесты
Использовать труд тестировщика
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483715
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bvanga,

в студии есть блоки
#if debug
#else

в дебаге инициализируй все свои подключения, логины пароли и вызов окна Юзеры...
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483886
bvanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#if debug
#else
Хоршая идея. Но ищу способы не срать в рабочий проект. Почитаю, что такое UI тесты. Unit тесты наверное не из той области, что я ищу в этой теме.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483909
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bvanga#if debug
#else
Хоршая идея. Но ищу способы не срать в рабочий проект. Почитаю, что такое UI тесты. Unit тесты наверное не из той области, что я ищу в этой теме.
почему же? можно в UnitTest инициалировать среду и запустить окно редактирования, в обход всех вами описанных процедур.
раньше у меня в программе поддерживались аргементы при запуске, они работали только в Debug версии, но с помощью них можно было загрузить программу с нужными параметрами и сразу запустить нужное окно.
Было довольно удобно, особенно когда стоял плагин для переключения аргументов запуска.
Довольно долго пользовался, потом отдал на тестирование :) а тестировщик меня завернул сразу на окне логирования, так как оно как то там заглючило в процессе изменений :) а я об этом даже не знал :)
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483930
bvanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtesbvanga#if debug
#else
Хоршая идея. Но ищу способы не срать в рабочий проект. Почитаю, что такое UI тесты. Unit тесты наверное не из той области, что я ищу в этой теме.
почему же? можно в UnitTest инициалировать среду и запустить окно редактирования, в обход всех вами описанных процедур.

Пробежался я по книге по тестированию на NUnit с японцем на обложке. И как бы начал понимать, что юнит тесты не для отладки формы редактирования, а больше для отладки всяких функций, типа удаление пробелов, риверс строк, с всевозможными значеними через [TestCase], как я понял.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39483940
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bvanga... юнит тесты не для отладки формы редактирования, а больше для отладки всяких функций, типа удаление пробелов, риверс строк, с всевозможными значеними через [TestCase], как я понял.

юнит-тесты для отладки ЛОГИКИ работы метода.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484065
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesпочему же? можно в UnitTest инициалировать среду и запустить окно редактирования, в обход всех вами описанных процедур.

Юнит-тесты не из этой области и оперы. Надо запустить и посмотреть КАК оно работает. Тесты запускаются и показывают работает ли оно как НАДО. Не мешайти одно с другим и не путайте людей :)


WitCюнит-тесты для отладки ЛОГИКИ работы метода.

Юнит-тесты не для отладки. Они показывают, выполняется ли код, как задумано, или нет. Грубо говоря, это красно-зелёный светофор. Всё.

Хотя тесты можно запускать в отладочном режиме, чтобы выяснить ПОЧЕМУ оно не работает как надо, это опять же отладка с подгонкой под тесты, а не отладка в режиме ПОСМОТРЕТЬ.

Эх, ну что за народ.

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

Какие ещё #if? Это отвратительная идея. Ребя, вы бы не позорились, а?
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484111
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

создаешь окно, вызываешь всё, что делается через кнопки, но путём кода. профит. я не говорил, что надо открыть окно и через тест кнопки там нажимать. А если архитектура правильная, то и окно создавать совсем не обязательно.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484116
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejteshVostt,

создаешь окно, вызываешь всё, что делается через кнопки, но путём кода. профит. я не говорил, что надо открыть окно и через тест кнопки там нажимать. А если архитектура правильная, то и окно создавать совсем не обязательно.

А смысл? Человек хочет разрабатывать отдельный кусок, смотреть, тыкать руками, выяснять нравится-ненравится, потом чё-то доделывать переделывать, опять смотреть.

Странно, что он это называет отладкой, ну да ладно
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484127
bvanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt
А смысл? Человек хочет разрабатывать отдельный кусок, смотреть, тыкать руками, выяснять нравится-ненравится, потом чё-то доделывать переделывать, опять смотреть.

Странно, что он это называет отладкой, ну да ладно
ну да, дизайнерство + проверка работы. А как бы ты это назвал?
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484131
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bvangaну да, дизайнерство + проверка работы. А как бы ты это назвал?

Процесс разработки обыкновенный. Верстание компонента, доведение его дизайна до приемлемого результата. Логика приложения пишется и тестируется отдельно в процессе разработки. Потом это компонуется, собирается и отдаётся QA на тестирование. Т.е. отдаётся рабочий результат, полуфабрикат. А то часто бывает и такое, типа вот что есть, туда не тыкайте, так не делайте, сюда мышку не наводите, а остальное проверяйте
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484132
bvanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+может там кнопочку справочника по форме туда сюда перемещать, пока не станет эстетично, и всякое.

Короч я согласен, что компоненты. Т.к. не засирается рабочий проект. Но иф дебаг вроде проще, хоть и ведёт к засиранию проекта.

Смотри.Ну типа создал я компонент, где всё редактирование это есть, текстбоксы, ФИО, дата рождения, кнопка сохранить, отменить, + справочник места рождения вызывается. Всё равно чтоб это отладить - нужно создавать отдельный проект, там кучу форм заново делать, чтоб отладить этот компонент. Вроде красиво,но калорий больше трачу. Один раз так сделаю, второй а потом надоест.
Не проще как тот тип написал?

#if debug
//инициализация сущностей, датаконтекстов
//запуск формы
#else
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484133
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТ.е. отдаётся рабочий результат, а не полуфабрикат.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484134
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bvanga,

Не вижу проблемы. Компоненты отдельно. Demo-проджект отдельно для всех тестируемых компонетов. Там никакой логики, ничего лишнего вводить не надо, логиниться и т.д., никуда проваливаться вглубь на 10 уровней, каждый новый компонент размещаешь в демо, и запускаешь его для оценки результата и отладки.

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

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

Ну и т.д. Дело не в засорении рабочего проекта. Просто экономия времени. Небольшие затраты на устройство плацдарма, окупаются 10 раз. Но лень и глупость зачастую стоят на пути в правильном направлении. Они говорят тебе, да нафига? Всегда ж наживую делал. Да пофигу ваще..

Но вы хоть вопросом задались, это уже огромный жирный плюс.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484139
bvanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе проблему обдумал. Всем спасибо.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484142
bvanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как вы видите, или реализовываете такой Демо-проект, если на пальцах?

Открывается большая форма с кучей кнопок, или лист бокс с кучей итемов, на каждом написано "изменение \n юзеров", на другой "изменение улицы", и т.п. ?
и в каждом варианте выбора инициализация, и запуск формы, на которой компоненты ?
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484176
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bvanga,

имхо приложение-прототип нужно для того, чтобы написать компонент, не подымая тяжелую инфраструктуру всего приложения. Потом, после разработки, внедряешь его в основной проект, отшлифовываешь, и отдаешь на фокус-группу/тестирование.
Большой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484185
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bvangaА как вы видите, или реализовываете такой Демо-проект, если на пальцах?

Открывается большая форма с кучей кнопок, или лист бокс с кучей итемов, на каждом написано "изменение \n юзеров", на другой "изменение улицы", и т.п. ?
и в каждом варианте выбора инициализация, и запуск формы, на которой компоненты ?

Открывается форма-диспетчер с кнопками: Копонент 1, Компонент 2, Компонент 3... Тыкаешь на кнопку, открывается форма с компонентом, это легко программируется, можно генерировать из кода.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484196
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisБольшой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов.

При правильном подходе к разработке, такой проект появляется в первую очередь, и там демонстрируются и отлаживаются все компоненты. Для каких-то отдельных, специальных или сложных компонентов, создаётся другой проект.
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484235
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
hVosttPallarisБольшой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов.

При правильном подходе к разработке, такой проект появляется в первую очередь, и там демонстрируются и отлаживаются все компоненты. Для каких-то отдельных, специальных или сложных компонентов, создаётся другой проект.
Потом создается проект для отладки этих проектов и так далее.
Нет рецепта на все случаи жизни
...
Рейтинг: 0 / 0
Как вы обычно такое отлаживаете ?
    #39484282
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttPallarisБольшой демо-проект со всеми-всеми формами, имхо, не нужен, разве что для автоматических UI-тестов.

При правильном подходе к разработке, такой проект появляется в первую очередь, и там демонстрируются и отлаживаются все компоненты. Для каких-то отдельных, специальных или сложных компонентов, создаётся другой проект.

А можно какие-то авторитетные источники на тему правильного подхода, где про такое пишут?
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как вы обычно такое отлаживаете ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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