監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
工程項(xiàng)目管理軟件系統(tǒng)

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 建筑OA系統(tǒng) > 工程項(xiàng)目管理軟件系統(tǒng)

如何整理測(cè)試需求?

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

  軟件測(cè)試員的目標(biāo)是找到軟件缺陷,盡可能早一些,并確保其得以修復(fù)。

  一旦當(dāng)前階段測(cè)試工作的范圍確定下來(lái),我們就可以開(kāi)始考慮測(cè)試需求的整理——也就是明確的定義現(xiàn)階段要“測(cè)什么”。測(cè)試需求的確定將為我們制定進(jìn)度時(shí)間表、分配資源以及如何確定某個(gè)階段測(cè)試工作是否完成提供一個(gè)可供衡量的標(biāo)準(zhǔn)。當(dāng)然,還有更重要的一點(diǎn),已被確定的測(cè)試需求是我們進(jìn)行測(cè)試用例設(shè)計(jì)和考慮測(cè)試覆蓋的依據(jù)。整理測(cè)試需求的第一步,就是要“測(cè)試需求”。測(cè)試需求?對(duì),不知道您是否想到,這里的“測(cè)試需求”中的“測(cè)試”是一個(gè)動(dòng)詞,指的是對(duì)軟件需求本身的檢查。

  對(duì)于軟件缺陷都會(huì)有一段定義:缺陷發(fā)現(xiàn)的越早,則修復(fù)這個(gè)缺陷的代價(jià)就越小,在需求、設(shè)計(jì)、編碼、測(cè)試、發(fā)布等不同的階段,發(fā)現(xiàn)缺陷后修復(fù)的代價(jià)都會(huì)比在前一個(gè)階段修復(fù)的代價(jià)提高10倍。

  注意,筆者這里的觀點(diǎn)并不是說(shuō)可以取消團(tuán)隊(duì)中的“需求評(píng)審會(huì)議”,這里并不存在沖突。筆者所希望講述的,是測(cè)試人員應(yīng)該如何看待軟件需求,而并不是把“需求評(píng)審會(huì)議”所承擔(dān)的責(zé)任攬到自己身上。?在論壇上也偶爾看到有的朋友問(wèn):如何測(cè)試需求呢?每次看到這樣的提問(wèn),筆者內(nèi)心就禁不住的一陣激動(dòng),因?yàn)橐恢币詠?lái),討論這方面問(wèn)題的朋友的確少之又少。在筆者的實(shí)際工作中,對(duì)軟件需求的檢查包括兩個(gè)方面的內(nèi)容。一是對(duì)軟件需求正確性的檢查,也就是要保證需求文檔中所描述的內(nèi)容是真實(shí)可靠的。在進(jìn)行這部分工作時(shí),不要迷信所謂的“都是用戶提出的真實(shí)的需求”,因?yàn)槲覀儽仨毧紤],提出這些需求的涉眾,是否真的可以正確的描述自己的需求?我們的需求人員是否真的可以正確的理解用戶的需求?有沒(méi)有一些被用戶認(rèn)為在業(yè)務(wù)處理上是理所當(dāng)然、極其平常的事情,而沒(méi)有作為需求提出來(lái)?有沒(méi)有一些被用戶認(rèn)為他們過(guò)去使用的軟件已經(jīng)提供了相應(yīng)的功能,所以認(rèn)為我們也應(yīng)當(dāng)提供,而沒(méi)有提出來(lái)的?關(guān)于這個(gè)問(wèn)題,也曾經(jīng)有朋友提過(guò)不同的看法,認(rèn)為這樣對(duì)測(cè)試人員的要求太高了——既要熟悉需求人員的工作,又要熟悉軟件所涉及的行業(yè)的業(yè)務(wù)。但筆者還是固執(zhí)的認(rèn)為,作為測(cè)試人員,還是需要對(duì)軟件產(chǎn)品所涉及的行業(yè)的業(yè)務(wù)有一個(gè)全面的、深入的了解——當(dāng)然,這不是對(duì)一個(gè)剛剛?cè)腴T的測(cè)試者的要求,但是如果想稱為一個(gè)優(yōu)秀的測(cè)試者,是難免要付出這部分努力的。

  要保證軟件需求的可測(cè)試性。對(duì)于“可測(cè)試性”,筆者的概念是:對(duì)于一條軟件需求或者一個(gè)需要實(shí)現(xiàn)的特性,必須存在一個(gè)可以明確預(yù)知的結(jié)果,并且可以通過(guò)設(shè)計(jì)一個(gè)可以重復(fù)的過(guò)程來(lái)對(duì)這個(gè)明確的結(jié)果進(jìn)行驗(yàn)證。說(shuō)的具體一點(diǎn),就是要保證所有的需要實(shí)現(xiàn)的需求都是可以用某種方法來(lái)明確的判斷是否符合需求文檔中的描述。如果對(duì)于某條需求或某個(gè)特性,無(wú)法通過(guò)一個(gè)明確的方法來(lái)進(jìn)行驗(yàn)證,或者無(wú)法預(yù)知它的結(jié)果,那么就意味著這條需求的描述存在缺陷,應(yīng)該請(qǐng)需求人員對(duì)需求文檔進(jìn)行修改或補(bǔ)充——我們有理由相信,如果作為測(cè)試人員對(duì)需求無(wú)法產(chǎn)生準(zhǔn)確的理解,那么開(kāi)發(fā)人員也同樣無(wú)法對(duì)同一條需求產(chǎn)生準(zhǔn)確的理解。對(duì)于一條確定的軟件需求理解的二義性,是在不規(guī)范的開(kāi)發(fā)過(guò)程中導(dǎo)致返工的一個(gè)主要原因。如果認(rèn)為有必要,那應(yīng)該在“需求評(píng)審會(huì)議”上確認(rèn)所有涉眾對(duì)需求的理解是一致的。當(dāng)然,對(duì)于如何提高軟件需求的質(zhì)量,在網(wǎng)絡(luò)上或者已經(jīng)出版的書刊中都已經(jīng)有了很多更加具體、實(shí)用的方法,如果有興趣,大家也可以找來(lái)參考。不過(guò),如果您是一位測(cè)試者,那么上面這部分內(nèi)容對(duì)您仍然是非常有用的。相信您只要在工作中進(jìn)行嘗試,慢慢的體會(huì),一定會(huì)發(fā)現(xiàn)這種方法給您帶來(lái)的好處。?現(xiàn)在當(dāng)前的測(cè)試工作范圍已經(jīng)確定,相應(yīng)版本的軟件需求也通過(guò)了評(píng)審,我們就可以在這個(gè)已經(jīng)確定的范圍內(nèi)進(jìn)行測(cè)試需求的整理。我們手頭上可以參考的東西,通常會(huì)有軟件需求規(guī)約(以下簡(jiǎn)稱SRS)和用例(以下簡(jiǎn)稱UC)——當(dāng)然,也可能是一份包含UC的SRS。通過(guò)對(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ì),而沒(méi)有必要把思路限制在到底使用表格方式還是使用文本方式,只要把握一個(gè)原則就行了:在一條測(cè)試需求中,用容易理解的自然語(yǔ)言,明確的描述一項(xiàng)需要測(cè)試的內(nèi)容。對(duì)于多項(xiàng)測(cè)試內(nèi)容,應(yīng)盡可能的剝離開(kāi)來(lái),保證一條測(cè)試需求只包含一項(xiàng)測(cè)試內(nèi)容。

  另外,大家也可能注意到了,在軟件開(kāi)發(fā)過(guò)程的這個(gè)階段,通常是沒(méi)有用戶界面(以下簡(jiǎn)稱UI)可供參考的——雖然RUP中對(duì)于需求階段的工作描述包括了UI設(shè)計(jì)的部分,但很多時(shí)候在這個(gè)階段還是無(wú)法提供一個(gè)確定的UI的——也就是說(shuō)我們這時(shí)獲得的測(cè)試需求,將是完全基于業(yè)務(wù)的,而并不包括基于UI的那部分規(guī)則,是同軟件的最終具體實(shí)現(xiàn)相獨(dú)立的。

  隨著開(kāi)發(fā)工作的繼續(xù),開(kāi)發(fā)部門的架構(gòu)設(shè)計(jì)文檔和詳細(xì)設(shè)計(jì)文檔也將陸續(xù)提交,這時(shí)候,我們可以根據(jù)設(shè)計(jì)文檔來(lái)對(duì)已有的測(cè)試需求進(jìn)行增補(bǔ)。注意,這里我們對(duì)于設(shè)計(jì)文檔中提到的內(nèi)容要有選擇的采用,只有同SRS或UC中已經(jīng)定義的部分相符的內(nèi)容,才可以用來(lá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)容,恐怕又有一部分朋友暈倒在地了,而沒(méi)有暈倒的那部分朋友也要提出異議:啊?!你這不是又包含了對(duì)開(kāi)發(fā)人員所作的設(shè)計(jì)工作的檢查嗎?!剛剛讓我們檢查需求,現(xiàn)在又讓我們檢查設(shè)計(jì),真的把我們當(dāng)成全才了!沒(méi)辦法,為了讓軟件交到我們手上的時(shí)候只包含盡量少的缺陷,大家只能再辛苦一下了。我們的工作不應(yīng)當(dāng)僅僅限制在軟件交付后盡力找到存在的缺陷,而更應(yīng)該努力及早發(fā)現(xiàn)軟件缺陷出現(xiàn)的苗頭,盡量預(yù)防缺陷的出現(xiàn)。雖然并不是說(shuō)在所有的團(tuán)隊(duì)中都應(yīng)該由測(cè)試人員承擔(dān)“測(cè)試需求”和“測(cè)試設(shè)計(jì)”的工作,但是測(cè)試人員對(duì)這些工作起到的作用,是其他團(tuán)隊(duì)中的其他角色所無(wú)法替代的。開(kāi)發(fā)部門完成編碼實(shí)現(xiàn)工作,提交供內(nèi)部測(cè)試的應(yīng)用程序時(shí),測(cè)試人員手頭上應(yīng)該已經(jīng)準(zhǔn)備好了絕大部分測(cè)試用例和測(cè)試數(shù)據(jù),測(cè)試部門將開(kāi)始執(zhí)行測(cè)試。通常在我們執(zhí)行測(cè)試的過(guò)程中,即使我們已經(jīng)從“通過(guò)測(cè)試”和“失敗測(cè)試”兩個(gè)不同的角度準(zhǔn)備了非常充分的測(cè)試用例和測(cè)試數(shù)據(jù),但總是有些缺陷的出現(xiàn)是出乎我們意料的,或者說(shuō)是已有的測(cè)試需求和測(cè)試用例未能覆蓋的。那么,對(duì)于這部分缺陷,也應(yīng)當(dāng)添加到測(cè)試需求中,并設(shè)計(jì)相應(yīng)的測(cè)試用例,以便于下次版本迭代時(shí)進(jìn)行參考。OK,相信說(shuō)到這里,各位看客也應(yīng)該可以理解我的觀點(diǎn)了:對(duì)于一個(gè)長(zhǎng)期發(fā)展的團(tuán)隊(duì)或者持續(xù)開(kāi)發(fā)的產(chǎn)品,它的所有東西都是要不斷積累的、不斷迭代的。無(wú)論對(duì)于軟件需求還是測(cè)試需求,不僅僅是在一個(gè)版本的開(kāi)發(fā)過(guò)程中,在不同的階段進(jìn)行迭代,在產(chǎn)品的整個(gè)生命周期中的不同版本間,也是不斷迭代和積累的。

發(fā)布:2007-02-26 10:42    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普工程項(xiàng)目管理軟件系統(tǒng)其他應(yīng)用

項(xiàng)目管理工具 禪道項(xiàng)目管理軟件 夢(mèng)龍項(xiàng)目管理軟件 微軟項(xiàng)目管理軟件 裝飾管理系統(tǒng) 裝修預(yù)算軟件 項(xiàng)目計(jì)劃軟件 項(xiàng)目進(jìn)度管理軟件 軟件項(xiàng)目管理工具 材料管理軟件 工程項(xiàng)目管理軟件系統(tǒng) 項(xiàng)目管理系統(tǒng) 施工管理軟件 建筑工程項(xiàng)目管理軟件 工程管理軟件