FitNesse是一個增加了可觸發(fā)Junit 測試等附加功能的wiki程序。如果這些測試能夠與業(yè)務(wù)需求結(jié)合起來,就會使業(yè)務(wù)需求更加清晰。而且,測試數(shù)據(jù)的組織更有邏輯性。使用FitNesse更 重要的是學(xué)習(xí)隱含在其中的一些思想,某些部分需求可以作為測試的一部分,這意味著,這些需求是可以測試的,或者說是可以進(jìn)行校驗(yàn)的。
利用 FitNesse,開發(fā)的工作過程可以這樣描述:需求工程師使用FitNesse書寫業(yè)務(wù)需求(取代了一般文檔)。他試圖盡可能讓客戶參與其中,當(dāng)然這并 不是每天都能做到的。而測試者在反復(fù)研究這些文檔,并從第一天起就開始提問各種問題,因?yàn)樗麄兛紤]問題的方式不同,不是在考慮“軟件應(yīng)該實(shí)現(xiàn)些什么”?而 是在考慮“怎樣才能讓軟件出錯?如何讓軟件中斷運(yùn)行?”等。開發(fā)者更象一個需求工程師,他更想知道“軟件必須要完成它的功能是什么”?
測試人員可以更早地開始測試,甚至在需求沒有全部完成前,而且可以把測試寫進(jìn)業(yè)務(wù)需求中,這些測試不僅僅成為需求的一部分,而且也將成為需求評審和驗(yàn)收的重要過程,并具有以下幾方面的重要優(yōu)點(diǎn):
---客戶也會被吸引來開始考慮關(guān)于測試的事情,通常他們還會參與到建立測試的工作中來(你也許會吃驚,他們怎么對這些這么感興趣了。)
---相關(guān)規(guī)范將更詳細(xì)、更周密,因?yàn)闇y試總比單純的文字要準(zhǔn)確.
---通過這種方式,可以更清晰明確地了解軟件(象一個軟件原形,但是功能更多),因此可以更早地考慮真實(shí)的運(yùn)行場景,提供測試數(shù)據(jù)和測算結(jié)果。
最后,需求將提交給開發(fā)人員,他的工作要比以前要更容易些,因?yàn)樾枨蠖几綆Ь唧w的實(shí)例,因而更貼近實(shí)際需求,因此減少了被突然改變的機(jī)會。