Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование JUnit - для существующего приложения, и стОит ли? 
:(
    Опции темы
MultiDev
Дата 13.4.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



Итак, исходные данные:
имеется приложение на Java, стандартная 3х-уровневая система (складской учет).
Встал вопрос о регресионном тестировании, т.е. об определении того, ничего ли из работавшего раньше не "упало" при добавлении нового функционала и минимизации времени на тестирование этого самого нового функционала.
Изначально JUnit не использовался, теперь же, вероятно, именно он и нужен.
Только вот нет идей с чего начать. Писать тесты для уже существующих классов?
Никто с подобной ситуацией не сталкивался?

Благодарю.
PM MAIL   Вверх
COVD
Дата 14.4.2006, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 6
Всего: 43



Мне тоже весьма интересна тема тестирования 3-уровневого приложения и мы примерно в такой-же ситуации.

Насколько я понимаю, JUnit был создан для изолированного тестирования отдельных кусков. Теория учит, что с этого и надо начинать. Однако ясно, что существуют баги, которые проявляются во взаимодействии. Они и представляют наибольшую опасность.

Делать примитивные тесты для отдельных классов задним числом конечно принесет пользу, но это может и не оправданно. Вот создавать новые классы может и имеет смысл уже следуя этой концепции. Если же система уже функционирует, то более актуальным представляется (в нашем случае) создание средства ежедневного комплексного мониторинга. И возможно имеет смысл использовать JUnit как API для организации серии комплексных тестов. С другой стороны в JUnit надо разбираться и следовать предложенному стандарту (как и с любым другим инструментом, созданным с благой целью облегчить и ускорить девелопмент). Четкого мнения пока нет.

Это сообщение отредактировал(а) COVD - 14.4.2006, 17:05
PM MAIL   Вверх
MultiDev
Дата 15.4.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



Да, в общем-то и интересует именно средство для "ежедневного комплексного мониторинга".
Есть такая штука как CruiseControl, которая позволяет автоматически делать сборки (ant'om) и тестировать их. С использованием того же JUnit.

Похоже, мало кто при разработке использует автоматизированное тестирование. smile
PM MAIL   Вверх
Wowa
Дата 15.4.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Есть неплохой софт от AGITA SOFTWARE. Правда софт платный и стоит не мало. Однако крупные фирмы вполне могут себе позволить это.
PM WWW   Вверх
ALKS
Дата 15.4.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: нет
Всего: 11



JUnit прост как грабли. это скорее идея нежели фреймфорк. что-то подобное можно написать самостоятельно за тройку дней. Существуют масса "потомков" всякие JSPUnit-ы JNDIUnit-ы и т.п.

А вот ХР-ая идея автоматических изолированных тестов это вещ. это делать надо. это скажется очень здорово на стабильности и качестве вашей программы даже если вы напишите тесты для 10% своей системы. и не важно как вы эти тесты будете писать будет это JUnit или вы напишите собсвтенный фреймфорк. тут главное решиться. smile


PM   Вверх
sandello
Дата 18.4.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: 2
Всего: 2



На старой работе возникла подобная проблема. Посему была поставлена задача создать некий программный комплекс, позволяющий проверить работу основного проекта (ОП).
Поскольку ОП был предназначен для работы с железом (с серверами доступа по протоколу RADIUS smile), то самым простым было сделать тестилку клиентом для ОП. Что и было проделано.
Тестилка самостоятельно заполняет базу данных для проведения тестирования, реализует несколько запросов по RADIUS протоколу, эмулируя работу сервера доступа, контролирует ответ ОП и изменения в базе, вычищает базу от лишнего, выводит отчет о проделанной работе. Все.
Теперь самым сложным в тестировании - написать грамотно тест.
Первым делом были написаны тесты, проверяющие различные аспекты функциональности ОП. После нескольких месяцев эксплуатации выяснилось, что этого мало.

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

В общем, когда ОП вышел на промышленные масштабы работы, эта система позволила избежать кучи проблем :-) 


--------------------
user posted image
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.