Domanda

Al momento stiamo stabilendo fitnesse come il test di accettazione dell'utente strumento di test. Finora tutto è buono. stiamo utilizzando la versione Java "20.091.121". Stiamo avendo problemi con le cartelle che sono più profonde di 4.

Abbiamo predisposto la seguente struttura di cartelle:

  

setup

     

TestSuite

     

content.txt + properties.xml (solo "! Contenuti" interno)

     
    

UseCase2204

         

content.txt + properties.xml (solo "! Contenuti" interno)

         
      

SingleRequest02

             

content.txt + properties.xml (solo "! Contenuti" interno)

             
        

PositiveTest

                 

content.txt + properties.xml (solo "! Contenuti" interno)

                 
          

OneAdultWithChild

                     

qui content.txt + properties.xml per la prova effettiva contenente 18 tavoli fissaggio

        
      
    
  

Quando iniziamo fitnesse e passare alla cartella più profondo ( "OneAdultWithChild") ci vogliono 10 secondi rotatoria fino a visualizzare la pagina. Ora, quando mi muovo il contenuto di un livello gerarchico (in "PositiveTest") la pagina richiede 3 secondi per il rendering. Quando ho messo il contenuto di prova al secondo livello ( "UseCase2204") quasi visualizza in un istante.

Lo stesso comportamento si verifica durante la prova di esecuzione. Dopo aver premuto il tasto "test" dell'inizio dei test:

  • secondo livello: 12 secondi
  • quarto livello: 14 secondi
  • quinto livello: 40 secondi! (Più, ci vogliono secoli fino a quando il "risultato catturati" viene visualizzato il pulsante)

Ora, io sono bloccato con questo. Abbiamo bisogno di questa struttura di nidificazione per raggruppare tutti i test. Ma se non v'è alcuna soluzione o soluzione non possiamo usare fitnesse e sarò un grande idiota per promuovere il quadro. In passato ho avuto risultati positivi con fitnesse ma non abbiamo avuto queste strutture profondamente nidificate.

È stato utile?

Soluzione

Non potrebbe essere la soluzione specifica, ma non v'è una correzione per un problema di rendering Widget che è attualmente in essere guardato: http://www.pivotaltracker.com/story/show/2200962

C'è anche una storia là fuori per rifare il parser per essere più efficiente e capace, ma che è uno sforzo notevole. Non so quando il lavoro inizierà su questo.

Altri suggerimenti

Hai provato a contattare il maintainer (s) di FitNesse su questo? Questo dovrebbe essere il tuo primo corso di azione. Ecco il loro legame "Aiuto":. http://www.fitnesse.info/help

Nel frattempo, se è possibile, si potrebbe provare profiling Fitnesse. E 'molto probabile che la maggior parte del tempo viene speso in uno o due posti e una soluzione adeguata può essere trovato. Poiché si tratta di un progetto open source, si dovrebbe essere in grado di avere un rapido sguardo intorno al codice. Se si vuole, in ogni caso.

Aggiornamento: Solo un pensiero, è la gerarchia di prova su un NFS? Potresti provare a eseguire su un disco "reale"?

così, abbiamo fatto un po 'di profilazione. il tempo principale dei 40 secondi per caricare la pagina (basta caricare, non eseguire) viene speso nei seguenti metodi:

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

cuciture come la logica di sostituzione varibale + il rendering widget di sta usando tutto il tempo: (

in particolare il "doRender private void ()" nel fitnesse.wikitext.widgets.VariableWidget mi dà il mal di testa. c'è un commento che lamentano la complessità e che tutto questo deve essere riscritta.

vedi qui

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

mi sembra un vicolo cieco in questo momento. useremmo fitnesse per un davvero grande progetto, una delle più grandi IT progetti attualmente in corso in Germania / Europa. ma non riesco a vendere questo se tale roba di base non funziona abbastanza velocemente: - /

mi sto ancora sperando che qualcuno conosce una correzione altrimenti dovrò scavare nel codice nel periodo di Natale e cercare di renderlo un po 'più veloce.

Ho appena notato che v'è una versione più recente (2009-11-25) sul mozzo git che sono liberato del commento e alcune righe di codice sono stati cambiati. Io darò una prova che .....

aiuto molto apprezzato

applausi marcel

dan,

Grazie per la risposta. questo è quello che ho postato sul gruppo yahoo fitnesse:

ciao,

Ho appena scaricato il rilascio "20.100.103" dal sito e dato una prova con la stessa messa a punto. un miglioramento importante! Sono molto contento di questo. Ora posso continuare con la configurazione iniziale e si spera convincere tutti su di esso.

Il miglioramento delle prestazioni è visibile anche durante l'esecuzione di test - molto buono. io non può vedere alcuna differenza significativa tra il livello superiore e test annidate più.

Spero che il resto del sistema si comporta nello stesso modo:)

grazie mille per l'aiuto rapido. sarò di nuovo con più di retroazione (o problemi ;-)) dopo la configurazione iniziale che è fatto e la gente inizia a lavorare con esso (Sviluppatori e tester).

applausi marcel

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top