項(xiàng)目需求是為了確保項(xiàng)目成功或竣工而必須完成的條件或任務(wù)。項(xiàng)目需求清楚地表明需要完成的工作,目的是將項(xiàng)目資源與企業(yè)目標(biāo)結(jié)合起來(lái)。因?yàn)轫?xiàng)目需求為產(chǎn)品的愿景、范圍、成本和進(jìn)度奠定了基礎(chǔ),最終瞄準(zhǔn)的必須是成品的質(zhì)量和性能。每個(gè)利害關(guān)系人將會(huì)理解需求,并對(duì)最終產(chǎn)品抱有切實(shí)的期待。所以,項(xiàng)目需求管理很重要。
編寫需求的方法有很多:從傳統(tǒng)的需求文檔到更敏捷的方法,比如用戶故事、測(cè)試驅(qū)動(dòng)開發(fā)(TDD)和驗(yàn)收測(cè)試驅(qū)動(dòng)開發(fā)(ATDD)等。這些方法都受益于可測(cè)試需求原則的遵循。
用戶故事
用戶故事是作為目標(biāo)而編寫的需求,使用的語(yǔ)言避開了專業(yè)術(shù)語(yǔ),并對(duì)最終用戶有意義。用戶故事簡(jiǎn)短,通常采用以下格式:作為[用戶角色],我希望/需要[功能],這樣[目標(biāo)]。例如:“作為尋找產(chǎn)品的客戶,我希望在兩者間做出選擇,在列表中還是在網(wǎng)格中查看可用產(chǎn)品的列表,這樣我就能對(duì)可用產(chǎn)品進(jìn)行比較。”
顧名思義,將需求寫成用戶故事會(huì)將重點(diǎn)放在用戶或客戶上。就本身而言,以用戶故事形式撰寫的需求沒有足夠的信息可供測(cè)試。用戶故事應(yīng)包含驗(yàn)收準(zhǔn)則,這樣團(tuán)隊(duì)就能知道用戶故事何時(shí)“完成”。
測(cè)試驅(qū)動(dòng)開發(fā)(TDD)
在TDD中,需求被寫為單元測(cè)試。單元測(cè)試在編碼之前執(zhí)行,往往容易失敗,因?yàn)閱卧獪y(cè)試所描述的代碼還不存在。然后,為了讓測(cè)試用例通過(guò),代碼被編寫或重構(gòu),測(cè)試再次執(zhí)行,確保測(cè)試用例通過(guò),隨后進(jìn)行必要的重構(gòu)。
這種方法有時(shí)被稱為開發(fā)者測(cè)試,這不僅是因?yàn)樵摐y(cè)試由開發(fā)人員執(zhí)行,而且還因?yàn)樵陂_發(fā)周期中測(cè)試所發(fā)生的位置。不過(guò),測(cè)試人員在TDD中能夠發(fā)揮重要作用。測(cè)試人員可以與開發(fā)者一同創(chuàng)建更好的單元測(cè)試,應(yīng)用邊界值分析、等價(jià)類劃分和風(fēng)險(xiǎn)分析等技術(shù),幫助確保進(jìn)行必要的集成和工作流程測(cè)試。TDD測(cè)試規(guī)范應(yīng)是應(yīng)用程序文檔的重要組成部分。
驗(yàn)收測(cè)試驅(qū)動(dòng)開發(fā)(ATDD)
在ATDD中,用戶故事及其隨附的驗(yàn)收準(zhǔn)則成為測(cè)試,用于向客戶展示應(yīng)用程序按預(yù)期工作。驗(yàn)收測(cè)試通常由三人團(tuán)隊(duì)協(xié)作編寫,包括用戶代表、開發(fā)者和測(cè)試人員。為確保團(tuán)隊(duì)中每個(gè)人都能理解,這些測(cè)試用“業(yè)務(wù)領(lǐng)域”術(shù)語(yǔ)而非技術(shù)術(shù)語(yǔ)編寫。
ATDD中的工作流程類似于TDD:首先,編寫用戶故事,然后進(jìn)行驗(yàn)收測(cè)試。隨后,實(shí)現(xiàn)用戶故事,然后團(tuán)隊(duì)重復(fù)驗(yàn)收測(cè)試,確定測(cè)試用例通過(guò)。最后,完成所需的重構(gòu)。對(duì)于一個(gè)團(tuán)隊(duì)而言,同時(shí)實(shí)踐TDD和ATDD是有可能的。
項(xiàng)目需求管理工具
8Manage PM項(xiàng)目管理工具內(nèi)置需求跟蹤和變更控制功能。在整個(gè)開發(fā)周期中,該功能能夠使項(xiàng)目團(tuán)隊(duì)輕松跟蹤需求,確保萬(wàn)無(wú)一失。此功能還使所有利害關(guān)系人了解變更影響,共同努力,實(shí)現(xiàn)項(xiàng)目所需變更和可預(yù)測(cè)性的適當(dāng)平衡。
以上就是確保需求可測(cè)試的策略,但最重要的策略是,確保在需求定義過(guò)程的早期包含測(cè)試人員和用戶代表。盡管可測(cè)試需求使自動(dòng)化測(cè)試變得更加容易,但核心目標(biāo)是確保整個(gè)團(tuán)隊(duì)對(duì)需求有清晰的理解。http://www.8manage.cn/