實例化需求的概念和流程
最近一段時間在關(guān)注一種新的敏捷模式,當(dāng)然這里說新,是由于目前很少看到有項目在應(yīng)用,其實這種模式很早就已經(jīng)誕生了。一個偶爾的機(jī)會,在苦尋敏捷測試的 過程中,無意中看一本書,關(guān)于如何提高敏捷過程中需求、開發(fā)和驗收的測試效率,讓我很是感興趣,這本書名《實例化需求:團(tuán)隊如何交付正確的軟件》。可能是 由于翻譯的原因,讀起來給我的幫助并不是那么大,但至少先讓初步了解他的思想,我想這就是最大的幫助了,因為我確實接受了他。
關(guān)于如何處理需求說明與測試,不同的組織使用不同的名稱,或者說是不同的定義,但他們都有一套共同的核心原則與思想,而且當(dāng)你接受他了之后,我們便可以認(rèn)為他們本質(zhì)上是一致的。通常有如下定義:
● 敏捷驗收測試
● 驗收測試驅(qū)動開發(fā)
● 實例驅(qū)動開發(fā)
● User Story測試
● BDD行為驅(qū)動開發(fā)
● 實例化需求說明(Specification by Example)
對于以上的概念,我想大家都不陌生,但可能都是一個概念,因為沒有實踐。當(dāng)具體去實踐,其實就發(fā)現(xiàn)跟我們平時的流程相對也很容易理解,只是方式不一樣, 或者執(zhí)行流程不一樣,當(dāng)然這里要說的就是不同,那就是方法。方法都是總結(jié)出來,多實踐之后,提煉出來的就是適合我們的方法。就如同我們在實施了一段時間之 后,突然有一天有人問我什么是BDD(行為驅(qū)動開發(fā)),我發(fā)現(xiàn)我很疑惑,我不理解。但細(xì)想,我現(xiàn)在做的流程不就是BDD嗎,而我現(xiàn)在做的流程準(zhǔn)確來說被定 義為實例化需求,但這個概念似乎不能把開發(fā)和測試給拉進(jìn)來,而用BDD來定義,似乎就一瞬間把需求、設(shè)計、開發(fā)和測試?yán)壎ㄔ诹艘黄稹?/p>
何為BDD?其實就是通過真實用戶的行為來定義我們需要開發(fā)出什么樣的產(chǎn)品來,個人理解。但再結(jié)合實例化需求,就會發(fā)現(xiàn),我們就是把用戶的行為通過一個實 例化的過程描述出來,然后整理成設(shè)計、開發(fā)和測試都能看懂的,當(dāng)然最重要的是用戶也能看懂,而且用戶看完之后就認(rèn)可,這就是我想要的,這就是BDD,也就 是實例化需求過程。
它既不是傳統(tǒng)的需求文檔,也不是設(shè)計文檔,更不是測試用例文檔,但適用于從需求、設(shè)計、開發(fā)和測試的每一個階段,而且都是從用戶的角度為出發(fā)點(diǎn)的。那我就認(rèn)為那就是我們想要的過程模式。
以下為實例化需求說明的主要過程模式:
posted on 2013-01-18 10:07 順其自然EVO 閱讀(442) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄