cadre FitNesse très lent lorsque la profondeur du dossier est plus 4 - pourquoi?
-
20-09-2019 - |
Question
Nous établissons actuellement FitNesse comme l'outil de test des tests d'acceptation des utilisateurs. Jusqu'à présent, tout est bon. nous utilisons la version java « 20091121 ». Nous avons des problèmes avec les dossiers qui sont plus profondes que 4.
Nous avons mis en place la structure de dossier suivant:
SetUp
GroupTest
content.txt + properties.xml (juste! "Contenu" à l'intérieur)
UseCase2204
content.txt + properties.xml (juste! "Contenu" à l'intérieur)
SingleRequest02
content.txt + properties.xml (juste! "Contenu" à l'intérieur)
PositiveTest
content.txt + properties.xml (juste! "Contenu" à l'intérieur)
OneAdultWithChild
ici content.txt + properties.xml pour l'essai réel contenant 18 tables de fixation
Quand nous commençons FitNesse et de naviguer dans le dossier le plus profond ( « de OneAdultWithChild ») il faut rond-point 10 secondes jusqu'à ce que la page est affichée. Maintenant, quand je me déplace le contenu d'un niveau hiérarchique (en « PositiveTest ») la page prend 3 secondes pour rendre. Lorsque je l'ai mis presque affiche en un instant le contenu du test au deuxième niveau ( « UseCase2204 »).
Le même comportement se produit lors de l'essai d'exécution. Après avoir appuyé sur le bouton "test" les tests prennent:
- second niveau: 12 secondes
- quatrième niveau: 14 secondes
- cinquième niveau: 40 secondes! (Plus, il prend une éternité jusqu'à ce que le bouton « résultat capturé » apparaît)
Maintenant, je suis coincé avec cela. Nous avons besoin de cette structure profondément imbriqués pour regrouper tous les tests. Mais s'il n'y a pas de solution ou solution de contournement, nous ne pouvons pas utiliser FitNesse et je serai un grand con pour promouvoir le cadre. Dans le passé, j'ai eu des résultats positifs avec FitNesse mais nous n'avions pas ces structures profondément imbriquées.
La solution
Il pourrait ne pas être la solution spécifique, mais il y a une solution pour un problème de rendu Widget qui est actuellement à l'étude à: http://www.pivotaltracker.com/story/show/2200962
Il y a aussi une histoire là-bas pour refaire l'analyseur pour être plus efficace et capable, mais qui est un effort important. Je ne sais pas quand le travail commencera sur ce point.
Autres conseils
Avez-vous essayé de contacter le responsable (s) de FitNesse à ce sujet? Cela devrait être votre première action. Voici leur "Obtenez de l'aide" lien:. http://www.fitnesse.info/help
En attendant, si vous le pouvez, vous pouvez essayer de profilage FitNesse. Il est tout à fait possible que la plupart de ce temps est consacré à un ou deux endroits et une solution appropriée peut être trouvé. Comme il est un projet open source, vous devriez être en mesure d'avoir un coup d'oeil rapide autour du code. Si vous voulez, de toute façon.
Mise à jour: Juste une pensée, est votre hiérarchie de test sur un montage NFS? Pourriez-vous essayer de l'exécuter sur un disque « réel »?
, nous avons fait du profilage. le principal temps des 40 secondes pour charger la page (chargement juste, pas courir) est passé dans les méthodes suivantes:
- fitnesse.wikitext.widgets.WidgetRoot.render
- fitnesse.wikitext.widgets.WidgetRoot.getVariable
- fitnesse.wiki.PageData.initializeVariableRoot
- fitnesse.wikitext.widgets.VariableWidget.doRender
il coutures comme la logique de remplacement de varibale + le rendu widget utilise tout le temps: (
surtout dans le fitnesse.wikitext.widgets.VariableWidget "doRender private void ()" me donne des maux de tête. il y a un commentaire se plaindre de la complexité et que tout cela devrait être refactorisé.
voir ici
http://github.com/lvonk/fitnesse/commit/a7242991039970d769db681afa2336285700d421 # diff-10
pour moi, il ressemble à une impasse en ce moment. nous utiliserions FitNesse pour vraiment grand projet, un des plus grands projets informatiques actuellement en cours en Allemagne / Europe. mais je ne peux pas vendre ce si ces choses de base ne fonctionne pas assez vite: - /
J'espère toujours que quelqu'un sait une solution sinon je vais devoir creuser dans le code à Noël et essayer de le rendre un peu plus vite.
Je viens de remarquer qu'il ya une version plus récente (2009-11-25) sur le moyeu git qui se sont débarrassés du commentaire et quelques lignes de code ont également été modifiées. Je vais vous donner que l'essayer .....
aide très appréciée
hourras Marcel
dan,
Merci pour votre réponse. ce que j'ai posté sur le groupe FitNesse Yahoo:
salut,
i version viens de télécharger « 20100103 » du site et lui a donné un essai avec le même configuration. une amélioration importante! Je suis très content de cela. maintenant je peux continuer avec la configuration initiale et nous espérons convaincre tout le monde à ce sujet.
l'amélioration de la performance est également visible lors de l'exécution de test - très bon. je ne peut pas voir de différence significative entre le niveau supérieur et les tests imbriqués plus.
J'espère que le reste du système se comporte de la même manière:)
Merci beaucoup pour l'aide rapide. je serai de retour avec plus de commentaires (ou problèmes ;-)) après la configuration inital est fait et les gens commencent à travailler avec elle (Développeurs et testeurs).
hourras Marcel