業(yè)務(wù)驅(qū)動(dòng)用例測(cè)試
Posted on 2005-12-08 17:09 笨笨 閱讀(1801) 評(píng)論(0) 編輯 收藏 所屬分類: 軟件開(kāi)發(fā)業(yè)務(wù)驅(qū)動(dòng)用例測(cè)試
笨笨所知的測(cè)試大致分類
單元測(cè)試/Unit test
基于代碼中類或函數(shù)一級(jí)的測(cè)試
用例測(cè)試/Use case test.
基于一個(gè)完整業(yè)務(wù)用例的測(cè)試,可以不包括用戶業(yè)務(wù)系統(tǒng)環(huán)境的完整操作流程。
如,銀行網(wǎng)銀系統(tǒng)的轉(zhuǎn)賬測(cè)試可以認(rèn)為是一個(gè)完整業(yè)務(wù)用例測(cè)試,但是不必要要求測(cè)試用例先執(zhí)行登錄過(guò)程,再進(jìn)行轉(zhuǎn)賬業(yè)務(wù)代碼的測(cè)試。
集成測(cè)試/Integration test
由業(yè)務(wù)人員主導(dǎo),業(yè)務(wù)系統(tǒng)作為一個(gè)完整黑盒,測(cè)試系統(tǒng)功能和性能。
用戶接受測(cè)試/User Accept test
集成測(cè)試通過(guò)后,用戶基于生產(chǎn)系統(tǒng)剝離的實(shí)際數(shù)據(jù),再一次對(duì)業(yè)務(wù)系統(tǒng)執(zhí)行測(cè)試;如果集成測(cè)試不充分,可以再一次有機(jī)會(huì)暴露系統(tǒng)的缺陷。
項(xiàng)目實(shí)施過(guò)程與測(cè)試
從項(xiàng)目的實(shí)施過(guò)程來(lái)說(shuō),單元測(cè)試是程序員自測(cè),算在開(kāi)發(fā)階段,集成測(cè)試和用戶接受測(cè)試所占用時(shí)間能夠達(dá)到項(xiàng)目代碼開(kāi)發(fā)階段的一倍到兩倍,大型項(xiàng)目的測(cè)試階段可能還要長(zhǎng)。
而用例級(jí)測(cè)試目前很少作為一個(gè)正式的階段在項(xiàng)目實(shí)施過(guò)程中存在,或由程序員自行自測(cè),或合并到集成測(cè)試過(guò)程中。
對(duì)于大型業(yè)務(wù)系統(tǒng),集成測(cè)試和用戶測(cè)試所花費(fèi)的主要工作量如下,可能不全。
1 數(shù)據(jù)準(zhǔn)備,測(cè)試人員調(diào)配準(zhǔn)備。
2 測(cè)試過(guò)程中,測(cè)試人員要找到哪些測(cè)試數(shù)據(jù)還能用,再手工操作系統(tǒng)界面,執(zhí)行測(cè)試過(guò)程。對(duì)于大型業(yè)務(wù)系統(tǒng)來(lái)說(shuō),可用測(cè)試數(shù)據(jù)是隨著測(cè)試進(jìn)展不斷變化的,很有可能某個(gè)用戶數(shù)據(jù)剛剛狀態(tài)正常,現(xiàn)在就欠費(fèi)了。要想找到合適的數(shù)據(jù)來(lái)測(cè)試系統(tǒng),這是個(gè)費(fèi)勁且混亂的過(guò)程。
3 集成回歸測(cè)試,業(yè)務(wù)系統(tǒng)如果有升級(jí)或改動(dòng),需要將所有交易重新測(cè)試一遍,以防止變更給原有代碼引入缺陷。
用例測(cè)試
用例測(cè)試關(guān)注業(yè)務(wù)。
用例測(cè)試集中在業(yè)務(wù)服務(wù)這一層,業(yè)務(wù)服務(wù)直接對(duì)應(yīng)了業(yè)務(wù)用例。
用例測(cè)試注重業(yè)務(wù)服務(wù)運(yùn)行環(huán)境的模擬和重現(xiàn),從而支持業(yè)務(wù)服務(wù)層的自動(dòng)測(cè)試。
用例測(cè)試的價(jià)值
1 減少集成測(cè)試的時(shí)間和成本,降低集成測(cè)試發(fā)現(xiàn)缺陷數(shù),從而降低項(xiàng)目總?cè)毕菪迯?fù)代價(jià)。
用例測(cè)試缺陷修復(fù)代價(jià)遠(yuǎn)低于集成測(cè)試的缺陷修復(fù)代價(jià);用例測(cè)試發(fā)現(xiàn)大部分缺陷后,集成測(cè)試就相對(duì)輕松了。
2 可回歸的用例測(cè)試支持快速代碼重構(gòu)。
3 ...
單元測(cè)試無(wú)法覆蓋用例測(cè)試
業(yè)務(wù)代碼運(yùn)行需要底層資源如數(shù)據(jù)庫(kù)或其它業(yè)務(wù)系統(tǒng)配合,單元測(cè)試工具缺乏提供業(yè)務(wù)服務(wù)運(yùn)行所需環(huán)境的模擬,從Junit系列單元測(cè)試工具來(lái)說(shuō),它還是主要從技術(shù)角度考慮,從業(yè)務(wù)角度的考慮如:
底層資源(數(shù)據(jù)庫(kù),JMS)模擬
依賴服務(wù)模擬
服務(wù)訪問(wèn)模擬
自動(dòng)檢測(cè)、重放和比對(duì)服務(wù)運(yùn)行時(shí)的輸入輸出參數(shù)、資源、依賴服務(wù)。
服務(wù)接口變動(dòng)波及分析
代碼重構(gòu)的成本
代碼重構(gòu)需要付出代價(jià)。集成測(cè)試費(fèi)時(shí)費(fèi)力,但用戶不可能因?yàn)槌绦騿T說(shuō)“我保證代碼重構(gòu)不會(huì)改變系統(tǒng)功能”,就不對(duì)變動(dòng)后代碼進(jìn)行測(cè)試。
用例回歸測(cè)試支持可以以較小代價(jià)支持代碼重構(gòu),因?yàn)樗稍跇I(yè)務(wù)服務(wù)級(jí)自動(dòng)對(duì)功能進(jìn)行驗(yàn)證,集成測(cè)試工作能夠相應(yīng)的減少。