![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
здрасте!!!
вот прочитал книгу XP(eXtremal Programming) и вот заинтересовало меня тестирование модулей. что вы вообще думаете по этому поводу, может у кого есть личный опыт и где можно взять этот модуль(вроде как cppUnits для тэстирования)? |
|||
|
||||
Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
модуль лежит здесь
Сам тоже только ознакомился с экстремальным прогрммированием, так что опыта еще нет, но сама идея XP программирования очень интересная, стоит попробовать -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 164 |
А ещё есть boost::Test. В теории, следовало бы юзать его - ибо стандартом он будет
![]() --------------------
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
да чето я его поставить не могу этот буст ( |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
да и еще, как хоть пользоваться этим cppUnit?
|
|||
|
||||
Dark Elf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 9 Всего: 10 |
||||
|
||||
Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 5 Всего: 44 |
Вот и я только-что почитала. Меня весьма заинтересовала концепция. Но хотелось бы узнать кто-нибудь уже работал в такой комманде? И как результат?
-------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
А я вот ни в какой модели не работал, но статьи по XP читал, и мне тоже больше понравилось, чем остальное.
Да. Еще полистал доку по boost::test. Огромнющая, блин. ![]() |
|||
|
||||
seagull |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 1.12.2002 Репутация: нет Всего: нет |
Еще есть неплохой модуль тестирования CxxTest. Он и проще в обращение и быстрей работает.
По поводу опыта, то я использовал тестирование в личном проекте - удобно, но не тогда, когда очень спешишь ![]() |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
Где ее взять на пролистание??? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Orlan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 10.6.2004 Где: Киев Репутация: нет Всего: 1 |
Уже почти год использую модульное тестирование и очень доволен.
Раньше я вручную проверял работоспособность программы (писал в лог контрольные значения, сидел в дебаге, сверял ход программы и т.п.). Но стало лень каждый раз это делать. И я решил припахать компа - все равно почти нихера не делает ![]() Начал писать по принцыпу: 0. Думаю что вообще хочу. 1. Пишу декларации классов и заглушки для методов. 2. Пишутся тесты. Я говорю компу что хочу получить на выходе, дав конкретные данные на входе. Чемь меньше шаг, тем лучше, только стараюсь быть не черепахой. 3. Компилируется (если нет, то goto 1) 4. Прогоняю тесты. Зачастую новые тесты не срабатывают и приходится самому реализовывать тела методов ![]() 5. Если все сработало, то иду к пункту 0 писать новый тест. Фактически вся работа заключается в написании тестов, а код пишется лишь для того, что бы они правильно работали ![]() При рефакторинге все наоборот: тесты не трогаются, улучшается лишь код без изменения функциональности. Паралельно я могу добавлять новые тесты, если не уверен, что существующие тесты смогут проконтролировать рефакторинг. Вот так я заставил делать комп черновую работу ![]() Использую CppUnit, boost::test очень не понравилась. Фактически я пишу используя TDD (Test drived development, разработка основанная на тестах): сначала тесты, а потом код. Код теперь стал очень стабильным, все контрольные примеры выполняются каждый раз при тестировании. Вот только пользовательский интерфейс не тестирую - сложно, да я не из тех, кто в обработчике событий OnClick1 будет вычислять тройные интегралы, а свои элементы управления пользовательским интерфейсом не пишу, так что в частичном нетестрировании нет особой проблемы - это делается вручную и как правило работает, логики там ноль. Всем советую переходить на TDD и сначала писать тесты, а потом реализовывать код. Вот почему (резюме) 1. Контрольные примеры сохраняются 2. Комп тестирует за секунды, а не за пол часа как люди 3. Не пишется лишний код, который потом выбрасывается. Идет разработка сверху вних, а не наоборот. Вот вкратце и все, в литературе больше найдете Это сообщение отредактировал(а) Orlan - 15.8.2005, 12:31 --------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |