2009-12-22 1 views
2

В настоящее время мы устанавливаем пригодность в качестве приемочного тестирования при тестировании. Пока все хорошо. мы используем java-версию «20091121». Мы имеем проблемы с папками, которые глубже, чем 4.Fitnesse framework очень медленный, когда глубина папки больше 4 - почему?

Мы настроили следующую структуру папок:

SetUp

TestSuite

content.txt + properties.xml (просто " ! содержимое»внутри)

UseCase2204

content.txt + properties.xml (только "!" Содержимое внутри)

SingleRequest02

content.txt + properties.xml (только "!" Содержимое внутри)

PositiveTest

content.txt + properties.xml (просто "!" содержимое внутри)

OneAdultWithChild

здесь content.txt + properties.xml для фактического теста, содержащего 18 арматуре таблицы

Когда мы начинаем FitNesse и перейти к самой глубокой папке ("OneAdultWithChild "), она занимает около 10 секунд, пока страница не будет отображаться. Теперь, когда я перемещаю контент на один уровень иерархии (в «PositiveTest»), страница занимает 3 секунды для рендеринга. Когда я помещаю тестовое содержимое на второй уровень («UseCase2204»), он почти отображается в одно мгновение.

Такое же поведение наблюдается во время выполнения теста. После нажатия на кнопку "тест" тесты взять:

  • второй уровень: 12 секунд
  • Четвертый уровень: 14 секунд
  • пятый уровень: 40 секунд! (плюс, требуется до тех пор, пока не появится кнопка «результат захвачен»)

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

ответ

0

Это может быть не конкретное решение, но есть исправление один виджет рендеринга вопрос, который является в настоящее время рассматривается: http://www.pivotaltracker.com/story/show/2200962

Существует также история, в которой для более эффективного и удобного повторения анализатора, но это значительное усилие. Не уверен, когда начнется работа.

+0

новый синтаксический анализатор исправил его, кстати ... только для записей – Marcel

1

Вы пробовали связаться с сопровождающим (лицами) FitNesse об этом? Это должен быть ваш первый курс действий. Вот их ссылка «Получить помощь»: http://www.fitnesse.info/help.

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

Обновление: Просто мысль, ваша тестовая иерархия на монтировании NFS? Не могли бы вы запустить его на «реальном» диске?

+0

спасибо за быстрый ответ. да, профилирование стоило бы попробовать. мы уже рассмотрели исходный код для другой проблемы, и код не является наиболее читаемым в некоторых местах ;-). это действительно странное поведение. следующая вещь, которую я попробую, - использовать свежий экземпляр фитнеса и воссоздать структуру папок с нуля, без каких-либо настроек и т. д. , кстати, мы используем «тонкий» как тестовую систему, может быть, это еще одно замедление. дополнительная помощь действительно ценится, поскольку я думаю, что другие люди должны были иметь те же проблемы. – Marcel

1

поэтому, мы сделали некоторое профилирование. основное время 40 секунд, чтобы загрузить страницу (просто загрузить, не запускать) проводится в следующих методов:

  • fitnesse.wikitext.widgets.WidgetRoot.render
  • fitnesse.wikitext.widgets.WidgetRoot .getVariable
  • fitnesse.wiki.PageData.initializeVariableRoot
  • fitnesse.wikitext.widgets.VariableWidget.doRender

швы, как замена varibale логика + отрисовка виджета использует все время :(

особенно «private void doRender()» в файле fitnesse.wikitext.widgets.VariableWidget дает мне головные боли. есть комментарий, жалующийся на сложность и что все это нужно реорганизовать.

посмотреть здесь

http://github.com/lvonk/fitnesse/commit/a7242991039970d769db681afa2336285700d421#diff-10

для меня это выглядит как тупик в данный момент. мы бы использовали фитнес для действительно большой проект, один из крупнейших ИТ-проектов, которые в настоящее время проводятся в Германии и Европе. но я не могу продать это, если такие базовые вещи работают не так быстро: -/

Я все еще надеюсь, что кто-то знает исправление, иначе мне придется копаться в коде за рождество и попытаться сделать это бит быстрее.

Я только что заметил, что на git-хабе есть более новая версия (2009-11-25), которая избавилась от комментария, а некоторые строки кода также были изменены. я дам, что попробовать .....

помощь высоко оценили

веселит Marcel

0

dan,

благодарит за ваш ответ. это то, что я уже писал о группе Yahoo FitNesse:

привет,

я скачал релиз «20100103» с веб-сайта и дал ему попробовать с же установкой. значительное улучшение!Я очень доволен этим. теперь я могу продолжить с первоначальной настройкой и, надеюсь, убедить всех в этом.

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

я надеюсь, что остальная часть системы ведет себя таким же образом :)

спасибо большое за быструю помощь. я вернусь с большей обратной связью (или проблемами ;-)) после завершения инициализации, и люди начнут работать с ней (разработчики и тестеры).

веселит Marcel

Смежные вопросы