需求階段測(cè)試可以做什么?
測(cè)試人員不是在開發(fā)人員代碼實(shí)現(xiàn)后才開始介入一個(gè)項(xiàng)目的,而是在一個(gè)項(xiàng)目開始立項(xiàng)后就開始介入,這個(gè)已經(jīng)是個(gè)不爭(zhēng)的問題了。那么,測(cè)試在項(xiàng)目的早期可以做哪些工作呢?測(cè)試前移是個(gè)很大的話題,本文只討論一下需求階段測(cè)試人員如何介入?以下所討論的測(cè)試可以做的具體事情,無論是在V模型下還是在敏捷模式下都適用,只不過在不同的上下文中,這些事情做的程度和方式有所不同。
首先,需求階段如何定義?比較完整的需求階段至少包括兩個(gè)部分:一是初始包需求(OR-Offered Requirement)確定階段,這個(gè)階段的參與人員會(huì)直接和市場(chǎng)、用服、客戶溝通交流、調(diào)研,確定產(chǎn)品開發(fā)的初始需求;二是初始需求交給研發(fā)團(tuán)隊(duì),系統(tǒng)工程師進(jìn)一步分析,結(jié)合產(chǎn)品原有基礎(chǔ)、收集內(nèi)外部需求,得出產(chǎn)品要實(shí)現(xiàn)的包需求,并采用系統(tǒng)分析的工程方法開展對(duì)包需求的深入分析,得出更細(xì)化的需求描述,輸出可以被實(shí)現(xiàn)的設(shè)計(jì)需求,交給軟件實(shí)現(xiàn)人員。如果按照CMM流程,前面一個(gè)階段CMM貌似涉及 不多,對(duì)應(yīng)Charter之前的工作;后面一個(gè)階段對(duì)應(yīng)TR2之前的工作。
一般而言測(cè)試的前期介入大多指介入后面一個(gè)階段,其實(shí)前面一個(gè)階段測(cè)試也應(yīng)該參與,當(dāng)然,參與前面一個(gè)更早的需求分析階段,對(duì)測(cè)試人員的要求會(huì)更高一些,需要對(duì)系統(tǒng)層面有較好的把握。
(1)測(cè)試參與早期需求分析
這個(gè)階段收集到的需求都是比較粗的,測(cè)試更多的可以從系統(tǒng)驗(yàn)證的角度考慮問題,即這些粗的需求如果實(shí)現(xiàn)后,后期交給客戶時(shí),是否可驗(yàn)收,有哪些驗(yàn)收?qǐng)鼍啊Ⅱ?yàn)收的思路是什么、具體的商用使用場(chǎng)景、需求驗(yàn)收是否需要特殊的驗(yàn)證平臺(tái)、有哪些驗(yàn)收難點(diǎn)等等。可以輸出《需求驗(yàn)收分析報(bào)告》。這樣做的好處,一是測(cè)試人員通過早期參與,更清楚需求的來源和目的,有利于后期更好的從用戶的角度開展測(cè)試活動(dòng);二是可以為后期設(shè)計(jì)驗(yàn)收測(cè)試用例提供很好的分析依據(jù)。
如果您在這個(gè)階段的測(cè)試介入有很多實(shí)踐經(jīng)驗(yàn)的話,歡迎回復(fù)本文分享!
(2)測(cè)試參與TR2之前的需求分析
這個(gè)階段的需求仍然比較粗,至少開發(fā)人員拿到這些OR直接去實(shí)現(xiàn)難度還是很大的。系統(tǒng)工程師會(huì)從全系統(tǒng)的層面開展稍微細(xì)一些的需求分析,得到具體的設(shè)計(jì)需求,其主要的思路主要是針對(duì)每個(gè)OR開展場(chǎng)景分析,測(cè)試介入的主要工作就是重點(diǎn)參與場(chǎng)景分析工作,因?yàn)殚_發(fā)的SE和測(cè)試的TSE分析問題的思路是不同的,可以做到很好的互補(bǔ),所以理想的方式是SE和TSE一起完成場(chǎng)景分析工作:SE偏向從功能、實(shí)現(xiàn)的角度分析,TSE更多的考慮非功能屬性方面,比如可靠性、可測(cè)試性等,還會(huì)考慮用戶分類、異常場(chǎng)景、組網(wǎng)的不同等,這樣二者合作的結(jié)果,使得設(shè)計(jì)需求更易于實(shí)現(xiàn),也一定程度消弱了需求由于分析不充分導(dǎo)致后期的頻繁變更的問題。在敏捷項(xiàng)目中,測(cè)試參與的結(jié)果經(jīng)常以“驗(yàn)收條件(Acceptance Test Conditions)”的形式體現(xiàn)在需求文檔中,每一條需求都對(duì)應(yīng)其驗(yàn)收條件。
另外,這個(gè)階段測(cè)試還應(yīng)該發(fā)揮測(cè)試的優(yōu)勢(shì),提出產(chǎn)品的可測(cè)試性需求,以便開發(fā)在實(shí)現(xiàn)階段就考慮進(jìn)去。
當(dāng)然,除了上面提到的以外,測(cè)試在早期的任何時(shí)候都可以針對(duì)開發(fā)的各種分析輸出件給予很好的評(píng)審檢視,缺陷越早暴露成本越低。測(cè)試在需求階段參與的更大的意義在于實(shí)施preventive testing,這與簡(jiǎn)單的文檔review是不一樣的,preventive testing強(qiáng)調(diào)的是測(cè)試人員用他的測(cè)試知識(shí)/領(lǐng)域知識(shí)去challenge需求和設(shè)計(jì),去提前驗(yàn)證他的idea,去explore需求,可見,探索性測(cè)試的思想完全可以在需求階段應(yīng)用。
此外,Richard Bender所提的基于需求的測(cè)試(ReqBT)也是一套可行的方案,在需求寫作初稿階段,ReqBT人員與需求分析人員并行交錯(cuò)開展工作,一點(diǎn)點(diǎn)地完成需求的模糊度分析、需求的業(yè)務(wù)邏輯分析、需求的建模以及測(cè)試條件生成等工作。
測(cè)試在需求階段還可以做哪些,歡迎各位補(bǔ)充!
posted on 2013-01-07 16:24 順其自然EVO 閱讀(239) 評(píng)論(0) 編輯 收藏