們就可以在這個(gè)已經(jīng)確定的范圍內(nèi)進(jìn)行測(cè)試需求的整理。我們手頭上可以參考的東西,通常會(huì)有軟件需求規(guī)約(以下簡稱SRS)和用例(以下簡稱UC)——當(dāng)然,也可能是一份包含UC的SRS。通過對(duì)SRS和UC的閱讀,我們可以從文檔對(duì)特性和業(yè)務(wù)流程的描述中獲得對(duì)軟件所涉及的業(yè)務(wù)的一個(gè)基本的認(rèn)識(shí)。比如用戶在處理實(shí)際業(yè)務(wù)時(shí)都要作些什么,多個(gè)業(yè)務(wù)之間的先后順序是怎樣的,用戶在處理業(yè)務(wù)是對(duì)于哪些地方有特別的要求,等等。這部分規(guī)則,將成為我們的測(cè)試需求中最基本的一部分。
至于測(cè)試需求的表現(xiàn)形式,筆者認(rèn)為大家都可以根據(jù)自己的需要進(jìn)行設(shè)計(jì),而沒有必要把思路限制在到底使用表格方式還是使用文本方式,只要把握一個(gè)原則就行了:在一條測(cè)試需求中,用容易理解的自然語言,明確的描述一項(xiàng)需要測(cè)試的內(nèi)容。對(duì)于多項(xiàng)測(cè)試內(nèi)容,應(yīng)盡可能的剝離開來,保證一條測(cè)試需求只包含一項(xiàng)測(cè)試內(nèi)容。
另外,大家也可能注意到了,在軟件開發(fā)過程的這個(gè)階段,通常是沒有用戶界面(以下簡稱UI)可供參考的——雖然RUP中對(duì)于需求階段的工作描述包括了UI設(shè)計(jì)的部分,但很多時(shí)候在這個(gè)階段還是無法提供一個(gè)確定的UI的——也就是說我們這時(shí)獲得的測(cè)試需求,將是完全基于業(yè)務(wù)的,而并不包括基于UI的那部分規(guī)則,是同軟件的最終具體實(shí)現(xiàn)相獨(dú)立的。
隨著開發(fā)工作的繼續(xù),開發(fā)部門的架構(gòu)設(shè)計(jì)文檔和詳細(xì)設(shè)計(jì)文檔也將陸續(xù)提交,這時(shí)候,我們可以根據(jù)設(shè)計(jì)文檔來對(duì)已有的測(cè)試需求進(jìn)行增補(bǔ)。注意,這里我們對(duì)于設(shè)計(jì)文檔中提到的內(nèi)容要有選擇的采用,只有同SRS或UC中已經(jīng)定義的部分相符的內(nèi)容,才可以用來調(diào)整我們的測(cè)試需求。而同軟件需求不相符的部分,則需要同設(shè)計(jì)人員和需求人員一起討論,確定下以哪一方作為基準(zhǔn),決定是否需要調(diào)整軟件需求,然后對(duì)測(cè)試需求進(jìn)行相應(yīng)的增補(bǔ)或者調(diào)整。比如對(duì)于一些算法,需要考慮設(shè)計(jì)文檔中定義的,同系統(tǒng)實(shí)現(xiàn)相關(guān)的那些計(jì)算公式,是否同軟件需求中描述的算法表達(dá)的是否是同一個(gè)意思?而對(duì)于一些約束或者業(yè)務(wù)規(guī)則,設(shè)計(jì)文檔中描述的是否同需求中的相應(yīng)部分一致?呵呵,看完上面這部分內(nèi)容,恐怕又有一部分朋友暈倒在地了,而沒有暈倒的那部分朋友也要提出異議:???!你這不是又包含了對(duì)開發(fā)人員所作的設(shè)計(jì)工作的檢查嗎?!剛剛讓我們檢查需求,現(xiàn)在又讓我們檢查設(shè)計(jì),真的把我們當(dāng)成全才了!沒辦法,為了讓軟件交到我們手上的時(shí)候只包含盡量少的缺陷,大家只能再辛苦一下了。我們的工作不應(yīng)當(dāng)僅僅限制在軟件交付后盡力找到存在的缺陷,而更應(yīng)該努力及早發(fā)現(xiàn)軟件缺陷出現(xiàn)的苗頭,盡量預(yù)防缺陷的出現(xiàn)。雖然并不是說在所有的團(tuán)隊(duì)中都應(yīng)該由測(cè)試人員承擔(dān)“測(cè)試需求”和“測(cè)試設(shè)計(jì)”的工作,但是測(cè)試人員對(duì)這些工作起到的作用,是其他團(tuán)隊(duì)中的其他角色所無法替代的。開發(fā)部門完成編碼實(shí)現(xiàn)工作,提交供內(nèi)部測(cè)試的應(yīng)用程序時(shí),測(cè)試人員手頭上應(yīng)該已經(jīng)準(zhǔn)備好了絕大部分測(cè)試用例和測(cè)試數(shù)據(jù),測(cè)試部門將開始執(zhí)行測(cè)試。通常在我們執(zhí)行測(cè)試的過程中,即使我們已經(jīng)從“通過測(cè)試”和“失敗測(cè)試”兩個(gè)不同的角度準(zhǔn)備了非常充分的測(cè)試用例和測(cè)試數(shù)據(jù),但總是有些缺陷的出現(xiàn)是出乎我們意料的,或者說是已有的測(cè)試需求和測(cè)試用例未能覆蓋的。那么,對(duì)于這部分缺陷,也應(yīng)當(dāng)添加到測(cè)試需求中,并設(shè)計(jì)相應(yīng)的測(cè)試用例,以便于下次版本迭代時(shí)進(jìn)行參考。OK,相信說到這里,各位看客也應(yīng)該可以理解我的觀點(diǎn)了:對(duì)于一個(gè)長期發(fā)展的團(tuán)隊(duì)或者持續(xù)開發(fā)的產(chǎn)品,它的所有東西都是要不斷積累的、不斷迭代的。無論對(duì)于軟件需求還是測(cè)試需求,不僅僅是在一個(gè)版本的開發(fā)過程中,在不同的階段進(jìn)行迭代,在產(chǎn)品的整個(gè)生命周期中的不同版本間,也是不斷迭代和積累的。
文章來源于領(lǐng)測(cè)軟件測(cè)試網(wǎng) http://www.ltesting.net/