2

我们目前正在建立 Fitnesse 作为用户验收测试的测试工具。到目前为止一切都很好。我们使用的是 Java 版本“20091121”。我们在处理深度超过 4 的文件夹时遇到问题。

我们设置了以下文件夹结构:

设置

测试套件

content.txt + properties.xml(只是“!内容”里面)

用例2204

content.txt + properties.xml(只是“!内容”里面)

单请求02

content.txt + properties.xml(只是“!内容”里面)

阳性测试

content.txt + properties.xml(只是“!内容”里面)

一个成人带孩子

这里 content.txt + properties.xml 用于包含 18 个夹具表的实际测试

当我们开始fitnesse并导航到最深的文件夹(“OneAdultWithChild”)时,大约需要10秒才能显示页面。现在,当我将内容向上移动一个层次结构级别(进入“PositiveTest”)时,页面需要 3 秒才能呈现。当我将测试内容放在第二层(“UseCase2204”)时,它几乎是在瞬间显示出来的。

在测试执行期间会发生相同的行为。按下“测试”按钮后,测试将进行:

  • 第二级:12秒
  • 第四级:14秒
  • 第五关:40秒!(另外,“结果捕获”按钮出现需要很长时间)

现在,我坚持这一点。我们需要这种深度嵌套的结构来对所有测试进行分组。但是如果没有解决方案或解决方法,我们就不能使用 Fitnesse,我将成为推广框架的大白痴。过去我在健身方面取得了积极的成果,但我们没有这些深度嵌套的结构。

4

4 回答 4

1

您是否尝试过就此联系 FitNesse 的维护者?这应该是你的第一个行动方案。这是他们的“获取帮助”链接:http ://www.fitnesse.info/help 。

同时,如果可以的话,您可以尝试分析健身。很可能大部分时间都花在一两个地方,并且可以找到合适的解决方法。由于这是一个开源项目,您应该能够快速浏览代码。如果你愿意,无论如何。

更新:只是一个想法,您的测试层次结构是在 NFS 挂载上吗?您可以尝试在“真实”磁盘上运行它吗?

于 2009-12-22T11:23:43.237 回答
1

所以,我们做了一些分析。加载页面的 40 秒的主要时间(只是加载,不运行)花费在以下方法中:

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

它看起来像变量替换逻辑 + 小部件渲染一直在使用:(

尤其是 Fitnesse.wikitext.widgets.VariableWidget 中的“private void doRender()”让我头疼。有评论抱怨复杂性,所有这些都应该重构。

看这里

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

对我来说,目前它看起来像是一个死胡同。我们会将 Fitnesse 用于一个非常大的项目,这是目前在德国/欧洲进行的最大的 IT 项目之一。但是如果这些基本的东西不能足够快地工作,我就不能卖这个:-/

我仍然希望有人知道解决方法,否则我将不得不在圣诞节期间深入研究代码并尝试让它更快一点。

我刚刚注意到 git hub 上有一个较新的版本(2009-11-25)摆脱了评论并且一些代码行也被改变了。我会试一试......

高度赞赏的帮助

干杯马塞尔

于 2009-12-22T15:31:21.493 回答
0

它可能不是特定的解决方案,但目前正在研究一个 Widget 渲染问题的修复: http ://www.pivotaltracker.com/story/show/2200962

还有一个关于重做解析器以提高效率和能力的故事,但这是一项重大的努力。不知道什么时候开始工作。

于 2010-01-15T16:22:07.377 回答
0

担,

感谢您的回答。这是我在雅虎健身组发布的内容:

你好,

我刚刚从网站上下载了“20100103”版本,并尝试使用相同的设置。重大改进!我对此感到非常高兴。现在我可以继续进行初始设置,并希望能说服所有人。

在测试执行期间也可以看到性能改进 - 非常好。我再也看不到顶级测试和嵌套测试之间的任何显着差异。

我希望系统的其余部分以相同的方式运行:)

非常感谢您的快速帮助。在完成初始设置并且人们开始使用它(开发人员和测试人员)后,我会回来提供更多反馈(或问题;-))。

干杯马塞尔

于 2010-01-19T12:21:21.237 回答