FitNesse是一个增加了可触发Junit 测试等附加功能的wiki程序。如果这些测试能够与业务需求结合起来,就会使业务需求更加清晰。而且,测试数据的组织更有逻辑性。使用FitNesse更 重要的是学习隐含在其中的一些思想,某些部分需求可以作为测试的一部分,这意味着,这些需求是可以测试的,或者说是可以进行校验的。
利用 FitNesse,开发的工作过程可以这样描述:需求工程师使用FitNesse书写业务需求(取代了一般文档)。他试图尽可能让客户参与其中,当然这并 不是每天都能做到的。而测试者在反复研究这些文档,并从第一天起就开始提问各种问题,因为他们考虑问题的方式不同,不是在考虑“软件应该实现些什么”?而 是在考虑“怎样才能让软件出错?如何让软件中断运行?”等。开发者更象一个需求工程师,他更想知道“软件必须要完成它的功能是什么”?
测试人员可以更早地开始测试,甚至在需求没有全部完成前,而且可以把测试写进业务需求中,这些测试不仅仅成为需求的一部分,而且也将成为需求评审和验收的重要过程,并具有以下几方面的重要优点:
---客户也会被吸引来开始考虑关于测试的事情,通常他们还会参与到建立测试的工作中来(你也许会吃惊,他们怎么对这些这么感兴趣了。)
---相关规范将更详细、更周密,因为测试总比单纯的文字要准确.
---通过这种方式,可以更清晰明确地了解软件(象一个软件原形,但是功能更多),因此可以更早地考虑真实的运行场景,提供测试数据和测算结果。
最后,需求将提交给开发人员,他的工作要比以前要更容易些,因为需求都附带具体的实例,因而更贴近实际需求,因此减少了被突然改变的机会。