Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.14;
Скачать: CL | DM;

Вниз

Отлаживание - это процесс избавления программы от лажи...   Найти похожие ветки 

 
blackman ©   (2003-07-29 16:55) [0]

Способов отладки очень много.
Если сложить темное прошлое со светлым будущим, получится серое настоящее, а именно процесс отладки программы, который я не очень люблю.
А как вы это делаете ?
Поделитесь опытом ...


 
vuk ©   (2003-07-29 17:20) [1]

F7, F8


 
petr_v_a ©   (2003-07-29 17:24) [2]

F9


 
blackman ©   (2003-07-29 17:40) [3]

Фу, как примитивно. Каждый оператор что ли ?


 
Fredericco ©   (2003-07-29 17:42) [4]

Memo1.Lines.Add(MyDebugInfo);
И поехали ...


 
Soft ©   (2003-07-29 17:48) [5]

Специальные бета-тестеры не помогут?


 
han_malign ©   (2003-07-29 17:50) [6]

круче логов лучше нет


 
Mike1 Kouzmine1   (2003-07-29 17:52) [7]

А я вообще не отлаживаю. В моих поделках багов нет, одни фичи.


 
vuk ©   (2003-07-29 17:52) [8]

to blackman:
>Каждый оператор что ли ?
Нет, перед этим Ctrl+F9. Ну и еще WriteLog иной раз... :o)


 
blackman ©   (2003-07-29 17:56) [9]

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


 
Mike1 Kouzmine1   (2003-07-29 18:01) [10]

Очень просто. Жму на все, что не попадя. Бью клавиатурой по голове тестера (благо, что жена. Ей только на пользу). Если не сбойнет, то можно отдавать на тестирование заказчику.


 
vuk ©   (2003-07-29 18:03) [11]

А вручение софтины юзеру на тестирование не поможет? Обычно сразу находятся вещи, которые либо не раелизованы либо реализованы не совсем верно.


 
blackman ©   (2003-07-29 18:08) [12]

>vuk
Конечно проще всего передать юзеру и ждать, что он скажет, но что он скажет ?
Ничего хорошего, как правило. Иногда и понять трудно где и что у него сломалось. Стало быть надо что-то придумать сначала самому, но как все учесть ?
Вот меня и интересует это. Расскажите о своем опыте и ошибках.


 
vuk ©   (2003-07-29 18:22) [13]

to blackman:
>Конечно проще всего передать юзеру и ждать, что он скажет, но
>что он скажет ?
Мы занимаемся разработкой софта для внутреннего использования. В нашем случае в качестве юзера берется не совсем конечный юзер, а начальник подразделения, который:
1. знает, какие процессы происходят в его подразделении.
2. принимал участие в постановке задачи.
Так что такой юзер может сказать очень много.


 
Mike1 Kouzmine1   (2003-07-29 18:26) [14]

Кроме конечного пользователя, не обычного, а делающего тз, никто не сможет сказать - правильно работает или нет. Всегда, оговариваю, что после написания и отлова ошибок, программа сдается в опытную эксплуатацию. Максимум месяц и все доводиться до ума.


 
blackman ©   (2003-07-29 21:04) [15]

>vuk
Да это интересно. Использование начальства в качестве подопытного кролика. К сожалению я так по ряду причин сделать не могу.
>Mike1 Kouzmine1
Тоже вариант, но не всегда есть этот месяц. Как правило, если уж передал, то начинают сразу работать и если есть ошибки, то они расцениваются как прокол.
Вот именно поэтому хотелось бы услышать о отладке с помощью программиста-разработчика, но видимо надо поставить себя в условия близкие к боевым. Т.е. выглядеть как пользователь.
Может быть что-то придумывать с контрольным примером?
Или есть какие-то программы имитаторы глупого юзера.
А если есть литература на эту тему, то совсем хорошо.


 
vuk ©   (2003-07-29 21:19) [16]

to blackman:
>Использование начальства в качестве подопытного кролика.
Они даже в этом заинтересованы, ведь им всем, вплоть до директора, тоже потом с этой системой работать. И насколько получившаяся система будет отражать процессы в их подразделениях, очень сильно зависит от них.


 
blackman ©   (2003-07-29 21:41) [17]

>vuk
>тоже потом с этой системой работать
В моем случае нет. Мы передаем другим.
Хотя конечно начальство как всегда ответит за все,
но протестировать не в состоянии.
Может быть есть другие идеи ?


 
Dred2k ©   (2003-07-29 21:47) [18]

> blackman © (29.07.03 16:55)

Трезвый разум + http://www.automatedqa.com/products/memproof.asp
;)


 
blackman ©   (2003-07-29 21:58) [19]

>Трезвый разум
Это конечно всегда выручает.
Из каждой безнадежной ситуации есть по крайней мере два выхода.
Но куда ?
Остальное попробуем. А для 7 нет.


 
Dred2k ©   (2003-07-29 22:02) [20]

> А для 7 нет.

Не пробовал. Особенности наверняка есть, но тулза мониторит любое приложение - для этого нет объективных ограничений (показа кода не будет, ясень пень).


 
Alex Konshin ©   (2003-07-30 02:48) [21]

Я по сути косвенно участвую в тестировании больших продуктов. Не то, чтобы я кнопки нажимаю, я разрабатываю комплексы для тестирования. Но у нас тут другая специфика: продукты огромные (в установленом виде - пара гигабайт), над ними работает куча народа в разных странах. Разработана целая куча тулов для автоматизации тестирования, но практически основная их цель - regression тестирование, то есть, чтобы то, что работало раньше, работало и теперь, потому как очень трудно предугадать последствия какого-нибудь исправления (пусть даже исправления какой-то ошибки). Здесь конвейер, девелоперы исправляют ошибки или добавляют что-то, строится продукт, потом его тестируют вручную и автоматически, и о наденных проблемах сообщается девелоперам. Это очень упрощенная схема. Реально этот цикл занимает больше недели, а новые билды стартуют раз в неделю, то есть одновременно идет работа с несколькими билдами на разных стадиях.
Для апвтоматизированных систем тестирования используются разные продукты и подходы, все зависит от того, что тестируется и как.


 
Nick Denry ©   (2003-07-30 03:04) [22]

в отдельном проекте


 
Думкин ©   (2003-07-30 06:25) [23]

Тестирем в основном с помощью тестеров.

Сейчас разгребаю XP-программирование, но пока с их тестами не сильно дружу.


 
Anatoly Podgoretsky ©   (2003-07-30 07:54) [24]

Mike1 Kouzmine1 (29.07.03 17:52)
Правильно поступаешь, зачем тратить время на поиск ошибок, много проще писать без них. К кончно итоге их будет чрезвычайно мало и в основном логические.


 
Думкин ©   (2003-07-30 07:59) [25]

> Anatoly Podgoretsky © (30.07.03 07:54)
Так они-то заразы зачастую и наиболее тяжелые.
Другие ошибки - с ними ясно. А вот если где-то логика промахнулась, особенно когда дают исправления в существующую программу. Не раз было, все работает тип-топ, и кому-то что-то ударило - внедряешь, и полезло.


 
Dmitriy O. ©   (2003-07-30 08:19) [26]

Когда я заканчиваю прогу на вид вроде нормальна даже несколько тестов провожу а когда запускаю в работу удивляюсь откуда столько лажи берется. Поэтому поручаю кому нибуть работать за оператора 2-3 недели и все лажи исправляю в процессе не сходя с рабочего места. Обычно за это время выевляется 95% лаж.


 
blackman ©   (2003-07-30 09:27) [27]

>Alex Konshin
>Разработана целая куча тулов для автоматизации тестирования
Да конечно проект проекту рознь, но приведите пожалуйста хотя бы общие принципы построения. Примерчик какой нибудь, что бы направление копания определить.
>Anatoly Podgoretsky
:))
В каждой, даже хорошо отлаженной программе есть хотя бы одна ошибка. К.Маркс.


 
passm ©   (2003-07-30 09:41) [28]

В проект, который сейчас делаю, добавил форму, вываливающуюся при Exception. На ней баттон "Послать сообщение разработчику" (то есть мне). При клике формируется письмо с текстом ошибки.
При внедрении, думаю, завалят письмами. :))


 
blackman ©   (2003-07-30 10:04) [29]

>passm
Это я тоже делал, но получал только спам :))



 
Alex Konshin ©   (2003-07-31 08:10) [30]

Принципы просты: кто-то пишет тесты и есть какие-то способы проверки корректности работы теста. Для UI тестов эмулируются действия пользователей и сравниваются результаты (вплоть до сравнения экранов). Для функциональных тестов пишутся целые программки, которые проверяют какую-то оперцию или группу операций. Все это оборачивается в какую-то оболочку, которая прогоняет список тестов и выдает результаты. Тестов обычно несколько тысяч и полный прогон занимает от нескольких часов до нескольких дней, поэтому автоматизация прогонки тестов - это тоже серьезная и важная задача. Там есть что оптимизировать и где бороться за эффективность. И подобных комплексов для тестирования здесь несколько штук, каждый для своих продуктов и тестируемых аспектов. Мы имеем дело с C/C++ и Java на нескольких платформах, но у нас нет продуктов на Delphi.

Как ты понимаешь, мой опыт мало пригоден для твоего случая. Чтобы хоть как-то помочь могу только предложить заглянуть в JCL
http://sourceforge.net/projects/jcl/
Там есть юниты, которые помогают локализовать ошибки. После знакомства с Java этого явно не хватает в Delphi.


 
sniknik ©   (2003-07-31 08:43) [31]

Mike1 Kouzmine1 (29.07.03 17:52)
Anatoly Podgoretsky © (30.07.03 07:54)
нифига не получается, особенно если прога на поддержке. вставил какую нибудь дополнительную способность (ту что юзеры просят) а она "убивает" другие ранее реализованные и на первый взгляд не связанные... всего не предусмотриш. тестер просто необходим.


 
Alex Konshin ©   (2003-07-31 08:46) [32]

Это-то как раз и есть regression тестирование.


 
blackman ©   (2003-07-31 09:21) [33]

Прогресс убивающий регресс :))
> http://sourceforge.net/projects/jcl/
We"re Sorry.The SourceForge.net Website is currently down for maintenance.We will be back shortly
Жаль, что мы так и не услышали выступление начальника транспортного цеха.


 
Alex Konshin ©   (2003-07-31 09:25) [34]

Подожди немного, в 8:00 по Москве он работал - я как раз корректность ссылки проверял.


 
blackman ©   (2003-07-31 10:09) [35]

Ждемс, до первой звезды.
Я там был когда-то, но как-то не заинтересовало.
Повторим операцию.


 
Странник ©   (2003-07-31 11:37) [36]

> blackman
уже работает


 
blackman ©   (2003-07-31 11:43) [37]

>Странник
Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.08.14;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.015 c
14-45035
1232343
2003-07-28 12:05
2003.08.14
Как временно отключить интернет от компьютера?


14-45026
VEG
2003-07-28 16:22
2003.08.14
webservis.ru - хороший хостер?


14-45060
Marser
2003-07-27 19:47
2003.08.14
Именинники 27 июля


14-45160
Nick-From
2003-07-30 14:49
2003.08.14
Трудоустройсвто: термины и определения


14-45083
WMag
2003-06-14 23:26
2003.08.14
WM_PAINT и inherited