1、所謂的測(cè)試需求就是在項(xiàng)目中要測(cè)試什么。測(cè)試活動(dòng)中,首先需要
明確測(cè)試需求(What),才能決定怎么測(cè)(How),測(cè)試時(shí)間(When),需要多少人(Who),測(cè)試的環(huán)境是什么(Where),測(cè)試中需要的技
能、工具以及相應(yīng)的背景知識(shí),測(cè)試中可能遇到的風(fēng)險(xiǎn)等等,以上所有的內(nèi)容結(jié)合起來(lái)就構(gòu)成了測(cè)試計(jì)劃的基本要素。而測(cè)試需求是測(cè)試計(jì)劃的基礎(chǔ)與重點(diǎn)。
就像軟件的需求一樣,測(cè)試需求根據(jù)不同的公司環(huán)境,不同的專(zhuān)業(yè)水平,不同的要求,詳細(xì)程度也是不同的。但是,對(duì)于一 個(gè)全新的項(xiàng)目或者產(chǎn)品,測(cè)試需求力求詳細(xì)明確,以避免測(cè)試遺漏與誤解。 2、為什么要做測(cè)試需求分析 如果要成功的做一個(gè)測(cè)試項(xiàng)目,首先必須了解測(cè)試規(guī)模、復(fù)雜程度與可能存在的風(fēng)險(xiǎn),這些都需要通過(guò)詳細(xì)的測(cè)試需求來(lái)了 解。所謂知己知彼,百戰(zhàn)不殆。測(cè)試需求不明確,只會(huì)造成獲取的信息不正確,無(wú)法對(duì)所測(cè)軟件有一個(gè)清晰全面的認(rèn)識(shí),測(cè)試計(jì)劃就毫無(wú)根據(jù)可言?;钤谧约菏澜缋? 的人是可悲的,只憑感覺(jué)不做詳細(xì)了解就下定論的項(xiàng)目是失敗的。 測(cè)試需求越詳細(xì)精準(zhǔn),表明對(duì)所測(cè)軟件的了解越深,對(duì)所要進(jìn)行的任務(wù)內(nèi)容就越清晰,就更有把握保證測(cè)試的質(zhì)量與進(jìn)度。 如果把測(cè)試活動(dòng)比作軟件生命周期,測(cè)試需求就相當(dāng)于軟件的需求規(guī)格,測(cè)試策略相當(dāng)于軟件的架構(gòu)設(shè)計(jì),測(cè)試用例相當(dāng)于 軟件的詳細(xì)設(shè)計(jì),測(cè)試執(zhí)行相當(dāng)于軟件的編碼過(guò)程。只是在測(cè)試過(guò)程中,我們把”軟件”兩個(gè)字全部替換成了”測(cè)試”。這樣,我們就明白了整個(gè)測(cè)試活動(dòng)的依據(jù)來(lái) 源于測(cè)試需求。 3、測(cè)試需求的依據(jù)與收集 測(cè)試需求通常是以待測(cè)對(duì)象的軟件需求為原型進(jìn)行分析而轉(zhuǎn)變過(guò)來(lái)的。但測(cè)試需求并不等同于軟件需求,它是以測(cè)試的觀點(diǎn) 根據(jù)軟件需求整理出一個(gè)checklist,作為測(cè)試該軟件的主要工作內(nèi)容。 測(cè)試需求主要通過(guò)以下途徑來(lái)收集: 1) 與待測(cè)軟件相關(guān)的各種文檔資料。如軟件需求規(guī)格、Use case、界面設(shè)計(jì)、項(xiàng)目會(huì)議或與客戶溝通時(shí)有關(guān)于需求信息的會(huì)議記錄、其他技術(shù)文檔等。 2) 與客戶或系統(tǒng)分析員的溝通。 3) 業(yè)務(wù)背景資料。如待測(cè)軟件業(yè)務(wù)領(lǐng)域的知識(shí)等。 4) 正式與非正式的培訓(xùn)。 5) 其他。如果以舊系統(tǒng)為原型,以全新的架構(gòu)方式來(lái)設(shè)計(jì)或完善軟件,那么舊系統(tǒng)的原有功能跟特性就成為了最有效的測(cè)試需求收集途徑。 在整個(gè)信息收集過(guò)程中,務(wù)必確保軟件的功能與特性被正確理解。因此,測(cè)試需求分析人員必須具備優(yōu)秀的溝通能力與表達(dá) 能力。 4、測(cè)試需求的分析 目前不少的書(shū)籍與網(wǎng)站資料開(kāi)始重視測(cè)試需求的分析,同時(shí)也提出了一些測(cè)試需求分析的方法。這里也提出一些自己的看 法。 測(cè)試需求需要考慮幾個(gè)層面的因素: 第一層:測(cè)試階段。系統(tǒng)測(cè)試階段,需求分析更注重于技術(shù)層面,即軟件是否實(shí)現(xiàn)了具備的功能。如果某一種流程或者某一 角色能夠執(zhí)行一項(xiàng)功能,那么我們相信具備相同特征的業(yè)務(wù)或角色都能夠執(zhí)行該功能。為了避免測(cè)試執(zhí)行的冗余,可不再重復(fù)測(cè)試。而在驗(yàn)收測(cè)試階段,更注重于不 同角色在同一功能上能否走通要求的業(yè)務(wù)流程。因此需要根據(jù)不同的業(yè)務(wù)需要而測(cè)試相同的功能,以確保系統(tǒng)上線后不會(huì)有意外發(fā)生。但是否有必要進(jìn)行這種大量的 重復(fù)性質(zhì)的測(cè)試,不過(guò)也是見(jiàn)仁見(jiàn)智的做法,要看測(cè)試管理者對(duì)測(cè)試策略與風(fēng)險(xiǎn)的平衡能力了。 目前,大多數(shù)的測(cè)試都會(huì)在系統(tǒng)測(cè)試中完成,驗(yàn)收測(cè)試只是對(duì)于系統(tǒng)測(cè)試的回歸。此種情況也是合理的,關(guān)鍵看測(cè)試周期與 資源是否允許,以及各測(cè)試階段的任務(wù)劃分。 第二層:待測(cè)軟件的特性。不同的軟件業(yè)務(wù)背景不同,所要求的特性也不相同,測(cè)試的側(cè)重點(diǎn)自然也不相同。除了需要確保 要求實(shí)現(xiàn)的功能正確,銀行/財(cái)務(wù)軟件更強(qiáng)調(diào)數(shù)據(jù)的精確性,網(wǎng)站強(qiáng)調(diào)服務(wù)器所能承受的壓力,ERP強(qiáng)調(diào)業(yè)務(wù)流程,驅(qū)動(dòng)程序強(qiáng)調(diào)軟硬件的兼容性。在做測(cè)試分析 時(shí)需要根據(jù)軟件的特性來(lái)選取測(cè)試類(lèi)型,并將其列入測(cè)試需求當(dāng)中。 第三層:測(cè)試的焦點(diǎn)。測(cè)試的焦點(diǎn)是指根據(jù)所測(cè)的功能點(diǎn)進(jìn)行分析、分解,從而得出 的著重于某一方面的測(cè)試,如界面、業(yè)務(wù)流、模塊化、數(shù)據(jù)、輸入域等。目前關(guān)于各個(gè)焦點(diǎn)的測(cè)試也有不少的指南,那些已經(jīng)是很好的測(cè)試需求參考了,在此僅列出 業(yè)務(wù)流的測(cè)試分析方法。 任何一套軟件都會(huì)有一定的業(yè)務(wù)流,也就是用戶用該軟件來(lái)實(shí)現(xiàn)自己實(shí)際業(yè)務(wù)的一個(gè)流程。簡(jiǎn)單的來(lái)說(shuō),在做測(cè)試需求分析 時(shí)需要列出以下類(lèi)別: 1) 常用的或規(guī)定的業(yè)務(wù)流程 2) 各業(yè)務(wù)流程分支的遍歷 3) 明確規(guī)定不可使用的業(yè)務(wù)流程 4) 沒(méi)有明確規(guī)定但是應(yīng)該不可以執(zhí)行的業(yè)務(wù)流程 5) 其他異常或不符合規(guī)定的操作 然后根據(jù)軟件需求理出業(yè)務(wù)的常規(guī)邏輯,按照以上類(lèi)別提出的思路,一項(xiàng)一項(xiàng)列出各種可能的測(cè)試場(chǎng)景,同時(shí)借助于軟件的 需求以及其他信息,來(lái)確定該場(chǎng)景應(yīng)該導(dǎo)致的結(jié)果,便形成了軟件業(yè)務(wù)流的基本測(cè)試需求。 在做完以上步驟之后,將業(yè)務(wù)流中涉及的各種結(jié)果以及中間流程分支回顧一遍,確定是否還有其他場(chǎng)景可能導(dǎo)致這些結(jié)果, 以及各中間流程之間的交互可能產(chǎn)生的新的流程,從而進(jìn)一步補(bǔ)充與完善測(cè)試需求。 5、測(cè)試需求的優(yōu)先級(jí) 優(yōu)先級(jí)別的確定,利于測(cè)試工作有的放矢的展開(kāi),使測(cè)試人員清晰了解核心的功能、特性與流程有哪些,客戶最為關(guān)注的是 什么,由此可確定測(cè)試的工作重點(diǎn)在何處,更方便處理測(cè)試進(jìn)度發(fā)生問(wèn)題時(shí),實(shí)現(xiàn)不同優(yōu)先級(jí)別的功能、模塊、系統(tǒng)等迭代遞交或取舍,從而緩和測(cè)試風(fēng)險(xiǎn)。 通常,需求管理規(guī)范的客戶,會(huì)規(guī)定用戶需求/軟件需求的優(yōu)先級(jí)別,測(cè)試需求的優(yōu)先級(jí)可根據(jù)其直接定義。如果沒(méi)有規(guī)定 項(xiàng)目需求的優(yōu)先級(jí),則可與客戶溝通,確定哪些功能或特性是需要尤其關(guān)注的,從而確定測(cè)試需求的優(yōu)先級(jí)。 6、測(cè)試需求的覆蓋率與覆蓋程度 測(cè)試需求的覆蓋率通常是由與軟件需求所建立的對(duì)應(yīng)關(guān)系來(lái)確定的。如果一個(gè)軟件的需求已經(jīng)跟測(cè)試需求存在了一對(duì)一或一 對(duì)多的對(duì)應(yīng)關(guān)系,可以說(shuō)測(cè)試需求已經(jīng)覆蓋了該功能點(diǎn),以此類(lèi)推,如果確定了所有的軟件需求都建立了對(duì)應(yīng)的測(cè)試需求,那么測(cè)試需求的覆蓋率便是測(cè)試需求覆蓋 點(diǎn)/軟件需求功能點(diǎn)=100%,但并不意味著測(cè)試需求的覆蓋程度高。因?yàn)闇y(cè)試需求的覆蓋率只計(jì)算了顯性的(即被明確規(guī)定的功能與特性)因素,而隱性的(即 沒(méi)有被明確規(guī)定但是有可能或不應(yīng)該擁有的功能與特性)因素并未計(jì)算在內(nèi)。因此根據(jù)不斷的完善或?qū)嶋H測(cè)試中發(fā)生的缺陷,可以對(duì)測(cè)試需求進(jìn)行補(bǔ)充或優(yōu)化,并更 新進(jìn)測(cè)試用例中,以此來(lái)提高測(cè)試需求的覆蓋程度。 |
|
來(lái)自: LibraryOfKevin > 《測(cè)試管理工具》