Pergunta

No momento, estamos estabelecendo a fitnesse como o teste de aceitação do usuário da ferramenta de teste. Até agora tudo está bom. Estamos usando a versão Java "20091121". Estamos tendo problemas com pastas mais profundas que 4.

Configuramos a seguinte estrutura de pastas:

Configurar

Suíte de teste

Content.txt + Properties.xml (apenas "! Conteúdo" dentro)

USECASE2204

Content.txt + Properties.xml (apenas "! Conteúdo" dentro)

Singlerequest02

Content.txt + Properties.xml (apenas "! Conteúdo" dentro)

PositiveTestest

Content.txt + Properties.xml (apenas "! Conteúdo" dentro)

ONEADULTWITHCHILD

Aqui Content.txt + Properties.xml para o teste real contendo 18 tabelas de fixação

Quando iniciamos a fitnesse e navegamos até a pasta mais profunda ("OneAdultwithChild"), leva 10 segundos na rotatória até que a página seja exibida. Agora, quando movo o conteúdo para cima um nível de hierarquia (para "PositiveTestest"), a página leva 3 segundos para renderizar. Quando coloco o conteúdo do teste no segundo nível ("USECASE2204"), ele quase é exibido em um instante.

O mesmo comportamento acontece durante a execução do teste. Depois de pressionar o botão "teste", os testes tomam:

  • Segundo nível: 12 segundos
  • Quarto nível: 14 segundos
  • Quinto nível: 40 segundos! (Além disso, leva muito tempo até que o botão "resultado capturado" apareça)

Agora, estou preso a isso. Precisamos dessa estrutura profundamente aninhada para agrupar todos os testes. Mas se não houver solução ou solução alternativa, não podemos usar fitnesse e serei um grande idiota para promover a estrutura. No passado, tive resultados positivos com a fitness, mas não tínhamos essas estruturas profundamente aninhadas.

Foi útil?

Solução

Pode não ser a solução específica, mas há uma correção para um problema de renderização de widgets que está sendo analisado atualmente: http://www.pivotaltracker.com/story/show/2200962

Há também uma história por aí para refazer o analisador para ser mais eficiente e capaz, mas esse é um esforço significativo. Não tenho certeza de quando o trabalho começará isso.

Outras dicas

Você já tentou entrar em contato com o (s) mantenedor (s) da fitnesse sobre isso? Esse deve ser seu primeiro curso de ação. Aqui está o link "Get Help": http://www.fitnesse.info/help .

Enquanto isso, se puder, você pode tentar perfilar fitnesse. É bem possível que a maior parte do tempo seja gasta em um ou dois lugares e uma solução alternativa adequada possa ser encontrada. Como este é um projeto de código aberto, você poderá dar uma olhada rápida ao redor do código. Se você quiser, de qualquer maneira.

Atualizar: Apenas um pensamento, sua hierarquia de testes está em uma montagem NFS? Você poderia tentar executá -lo em um disco "real"?

Então, fizemos alguns perfis. O horário principal dos 40 segundos para carregar a página (basta carregar, não executar) é gasto nos seguintes métodos:

  • fitnesse.wikitext.widgets.widgetroot.render
  • fitnesse.wikitext.widgets.widgetroot.getVariable
  • fitnesse.wiki.pagedata.initializeVariBlerObleroot
  • fitnesse.wikitext.widgets.variablewidget.dorender

As costuras como a lógica de substituição Varibale + a renderização do widget está usando o tempo todo :(

Especialmente o "private vazio DORENDER ()" no fitnesse.wikitext.widgets.variablewidget me dá dores de cabeça. Há um comentário reclamando da complexidade e que tudo isso deve ser refatorado.

Veja aqui

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

Para mim, parece um beco sem saída no momento. nós usaríamos fitnesse para um verdade O Big Project, um dos maiores projetos de TI atualmente em andamento na Alemanha/Europa. Mas não posso vender isso se essas coisas básicas não funcionarem rápido o suficiente:-/

Ainda espero que alguém saiba uma correção, caso contrário, terei que cavar o código no Natal e tentar torná -lo um pouco mais rápido.

Acabei de notar que existe uma versão mais recente (2009-11-25) no Git Hub que se livrou do comentário e algumas linhas de código também foram alteradas. Vou tentar isso .....

ajudar muito apreciado

Saúde Marcel

Dan,

Obrigado pela sua resposta. Foi isso que eu publiquei no grupo de fitnesse do Yahoo:

Oi,

Acabei de baixar o lançamento "20100103" no site e tentei com a mesma configuração. Uma grande melhoria! Estou muito feliz com isso. Agora posso continuar com a configuração inicial e, com sorte, convencer todos sobre isso.

A melhoria do desempenho também é visível durante a execução do teste - muito boa. Não consigo mais ver diferença significativa entre os testes de nível superior e aninhados.

Espero que o resto do sistema se comporte da mesma maneira :)

Muito obrigado pela ajuda rápida. Voltarei com mais feedback (ou problemas ;-)) Após a configuração inital e as pessoas comecem a trabalhar com ele (desenvolvedores e testadores).

Saúde Marcel

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top