摘要:討論了軟件測(cè)試過(guò)程中編寫測(cè)試計(jì)劃這一環(huán)節(jié),指出了測(cè)試計(jì)劃的任務(wù)和作用,并通過(guò)圖書(shū)管理系統(tǒng)這一項(xiàng)目,說(shuō)明了測(cè)試計(jì)劃包含的內(nèi)容,并總結(jié)出測(cè)試計(jì)劃制定時(shí)的關(guān)注點(diǎn)。
關(guān)鍵詞:測(cè)試計(jì)劃;軟件測(cè)試;計(jì)劃制定
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)14-3719-02
Discusses the Software Testing Plan Shallowly the Formulation
XIA Xue-Gang
(Electrical and Mechanical Engineering, Shaanxi Railway Institute, Weinan 714000, China)
Abstract: Discusses the software testing process of the preparation of this aspect of the test plan, pointing out that the test plan and the role of the task, and through library management system, describes the testing plan content, and summed up at the time of the test plan concerns.
Key words: test plan; software testing; plan formulation
1 引言
在國(guó)內(nèi),很多中小型軟件公司,軟件測(cè)試過(guò)程不規(guī)范,很多軟件測(cè)試人員沒(méi)意識(shí)到測(cè)試計(jì)劃的重要性,對(duì)軟件測(cè)試工作缺乏整體的規(guī)劃安排,有很多軟件測(cè)試項(xiàng)目在沒(méi)有制定充分的測(cè)試計(jì)劃或者沒(méi)有制定測(cè)試計(jì)劃情況下,就匆忙展開(kāi)測(cè)試工作,這樣導(dǎo)致了測(cè)試工作大打折扣,甚至使測(cè)試計(jì)劃成為一紙空文,不能指導(dǎo)測(cè)試過(guò)程。幾乎可以肯定的是,沒(méi)有計(jì)劃地消耗測(cè)試所需的資源,必然會(huì)導(dǎo)致資源的浪費(fèi),并且無(wú)法對(duì)安裝前進(jìn)行的修正狀態(tài)進(jìn)行評(píng)估,甚至造成很多軟件不能投入使用。
2 測(cè)試計(jì)劃的任務(wù)和作用
2.1 測(cè)試計(jì)劃的任務(wù)
軟件測(cè)試是有計(jì)劃、有組織和有系統(tǒng)的軟件質(zhì)量保證活動(dòng),而不是隨意地、松散地、雜亂地實(shí)施過(guò)程。測(cè)試計(jì)劃是軟件測(cè)試中最重要的步驟之一,測(cè)試計(jì)劃的任務(wù)是為了盡早明確測(cè)試工作的內(nèi)容范圍、測(cè)試工作的方法以及測(cè)試工作所需要的各種資源, 并把這些信息發(fā)布給所有涉及到測(cè)試工作的測(cè)試人員, 盡快將下一步測(cè)試工作需要考慮的問(wèn)題和準(zhǔn)備的條件落實(shí)下來(lái)。也就是說(shuō)測(cè)試計(jì)劃工作的重點(diǎn)在于對(duì)測(cè)試工作任務(wù)的準(zhǔn)備和規(guī)劃以及信息的交流。在對(duì)軟件進(jìn)行測(cè)試之前,必須認(rèn)真制定測(cè)試計(jì)劃。
2.2 測(cè)試計(jì)劃的作用
測(cè)試計(jì)劃的作用主要體現(xiàn)在下面三個(gè)方面:
1) 領(lǐng)導(dǎo)能夠根據(jù)測(cè)試計(jì)劃做宏觀調(diào)控,進(jìn)行相應(yīng)資源配置等。
2) 測(cè)試人員能夠了解整個(gè)項(xiàng)目測(cè)試情況以及項(xiàng)目測(cè)試不同階段所要進(jìn)行的工作等。
3) 便于其他人員了解測(cè)試人員的工作內(nèi)容,進(jìn)行有關(guān)配合工作。
4) 對(duì)開(kāi)發(fā)人員的開(kāi)發(fā)工作,整個(gè)項(xiàng)目的規(guī)劃,項(xiàng)目經(jīng)理的審查都有輔助性作用。
3 測(cè)試計(jì)劃的定義和內(nèi)容
3.1 測(cè)試計(jì)劃的定義
《IEEE軟件測(cè)試文檔標(biāo)準(zhǔn)829-1998》將測(cè)試計(jì)劃定義為:“一個(gè)敘述了預(yù)定的測(cè)試活動(dòng)的范圍、途徑、資源及進(jìn)度安排的文檔。它確認(rèn)了測(cè)試項(xiàng)、被測(cè)特征、測(cè)試任務(wù)、人員時(shí)間安排以及與計(jì)劃相關(guān)的風(fēng)險(xiǎn)。”[1]。
軟件測(cè)試計(jì)劃是指導(dǎo)測(cè)試過(guò)程的綱領(lǐng)性文件,其中必不可少的三個(gè)要素是時(shí)間、資源、范圍。時(shí)間就是什么時(shí)候做以及要花多久做;資源就是你要調(diào)用的人力、機(jī)器等資源;范圍是你要測(cè)試的東西以及測(cè)試重點(diǎn)。除以上提到的3項(xiàng)外,還有比較重要的部分有策略(具體就是怎么測(cè))、風(fēng)險(xiǎn)控制(一旦有問(wèn)題采取什么應(yīng)急措施)等部分。
3.2 測(cè)試計(jì)劃的內(nèi)容
下面結(jié)合圖書(shū)管理系統(tǒng)的測(cè)試計(jì)劃的制定,來(lái)討論測(cè)試計(jì)劃一般應(yīng)該包括的內(nèi)容:
1) 測(cè)試概要:摘要說(shuō)明所需測(cè)試的軟件(系統(tǒng)基本功能和特征等)、測(cè)試背景、名詞解釋、以及列出所參考的相關(guān)文檔。如圖書(shū)管理系統(tǒng)的功能簡(jiǎn)介,特征是基于B/S的Web軟件等;相關(guān)的參考文檔有:圖書(shū)管理系統(tǒng)的需求說(shuō)明書(shū)、總體設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)等。
2) 測(cè)試目標(biāo):對(duì)測(cè)試目標(biāo)進(jìn)行簡(jiǎn)要的描述。制定被測(cè)軟件的產(chǎn)品質(zhì)量目標(biāo)和軟件測(cè)試目標(biāo)。如圖書(shū)館管理系統(tǒng)測(cè)試目標(biāo)是各項(xiàng)功能可靠實(shí)現(xiàn),在系統(tǒng)的安全性方面和性能方面滿足用戶需求等。
3) 測(cè)試范圍和優(yōu)先級(jí):指出需要測(cè)試的范圍,哪些需要重點(diǎn)測(cè)試、哪些無(wú)需測(cè)試、無(wú)法測(cè)試或推遲測(cè)試。測(cè)試的范圍包括文檔和軟件系統(tǒng),如文檔有圖書(shū)管理系統(tǒng)需求說(shuō)明書(shū)、總體設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū);軟件各功能模塊,重點(diǎn)需要測(cè)試的是系統(tǒng)需求說(shuō)明書(shū)、圖書(shū)管理模塊、讀者管理模塊、借還書(shū)模塊。
4) 重點(diǎn)事項(xiàng):列出需要被測(cè)軟件的所有主要功能和測(cè)試重點(diǎn)。如圖書(shū)管理系統(tǒng)的主要功能是:管理員能夠?qū)D書(shū)信息、讀者信息進(jìn)行添加(單項(xiàng)數(shù)據(jù)和批量數(shù)據(jù)進(jìn)行添加)、刪除、修改,可以實(shí)現(xiàn)借還書(shū)的操作,添加管理員和設(shè)置管理員權(quán)限、密碼等;對(duì)于讀者來(lái)說(shuō)可以通過(guò)校園網(wǎng)內(nèi)任意一臺(tái)客戶機(jī)查詢圖書(shū)信息和個(gè)人借書(shū)情況。對(duì)圖書(shū)信息、讀者信息進(jìn)行添加(單項(xiàng)數(shù)據(jù)和批量數(shù)據(jù)添加)、刪除、修改,可以實(shí)現(xiàn)借還書(shū)的操作是測(cè)試的重點(diǎn)。
5) 資源需求:指測(cè)試所需要的軟硬件、測(cè)試工具、必要的技術(shù)資源、培訓(xùn)和文檔等。
6) 人員組織:需要多少人進(jìn)行測(cè)試,各自的角色和責(zé)任,他們是否需要進(jìn)行相關(guān)的學(xué)習(xí)和培訓(xùn),什么時(shí)候他們需要開(kāi)始,并將持續(xù)多長(zhǎng)時(shí)間。
7) 測(cè)試策略:制定測(cè)試整體策略、所使用的測(cè)試技術(shù)和方法。本系統(tǒng)采用的策略是:黑盒法--白盒法--黑盒法的循環(huán)過(guò)程。對(duì)邏輯結(jié)構(gòu)復(fù)雜的模塊采用白盒法;對(duì)于以輸入、輸出為主的模塊,采用黑盒法測(cè)試以提高測(cè)試效率。鑒于本系統(tǒng)測(cè)試為基于web的系統(tǒng)測(cè)試,所以需額外測(cè)試系統(tǒng)在不同Windows操作系統(tǒng)下的瀏覽器端的顯示是否正常以及進(jìn)行安全性和可用性測(cè)試。因此在功能測(cè)試中需添加Cookies測(cè)試;性能測(cè)試中添加瀏覽速度測(cè)試以及安全性測(cè)試。
8) 測(cè)試開(kāi)始/完成/延遲/繼續(xù)的標(biāo)準(zhǔn):測(cè)試計(jì)劃中每個(gè)階段要明確表明測(cè)試開(kāi)始、完成的標(biāo)準(zhǔn),并且測(cè)試的輸入、輸出條件要清楚;某些時(shí)候,測(cè)試計(jì)劃會(huì)因某種原因(如過(guò)多阻塞性的Bug)而導(dǎo)致延遲,需指出問(wèn)題解決后測(cè)試?yán)^續(xù)測(cè)試的標(biāo)準(zhǔn)。
9) 測(cè)試進(jìn)度、任務(wù)和人員安排:制定詳細(xì)的測(cè)試進(jìn)度,并將測(cè)試工作合理分配給不同的測(cè)試人員,并注意先后順序。對(duì)于長(zhǎng)期大型的測(cè)試計(jì)劃,可以使用里程碑表示進(jìn)度的變化。
10) 風(fēng)險(xiǎn)分析:需要考慮測(cè)試計(jì)劃中可能的風(fēng)險(xiǎn)和解決方法。如由于系統(tǒng)壓力測(cè)試和性能測(cè)試中只能模擬幾百臺(tái)計(jì)算機(jī)訪問(wèn)系統(tǒng),對(duì)于上千人同時(shí)訪問(wèn)系統(tǒng)的情況不可知,只能在系統(tǒng)投入使用后,發(fā)現(xiàn)問(wèn)題時(shí)進(jìn)行完善。
11) 發(fā)布提交:在按照測(cè)試計(jì)劃進(jìn)行測(cè)試后,提交需要交付的軟件產(chǎn)品、測(cè)試案例、測(cè)試數(shù)據(jù)及相關(guān)文檔等。圖書(shū)管理系統(tǒng)測(cè)試完成后,需要提交軟件測(cè)試報(bào)告、軟件測(cè)試計(jì)劃、測(cè)試案例、測(cè)試數(shù)據(jù)等相關(guān)文檔和相應(yīng)的圖書(shū)館管理系統(tǒng)軟件。
測(cè)試計(jì)劃的內(nèi)容會(huì)因不同的項(xiàng)目以及項(xiàng)目的大小而有所不同,可以在上面的內(nèi)容中進(jìn)行相應(yīng)的取舍。
4 測(cè)試計(jì)劃制定的關(guān)注點(diǎn)
制定一份切實(shí)可行的軟件測(cè)試計(jì)劃,需要關(guān)注以下幾個(gè)方面:
4.1 計(jì)劃盡早開(kāi)始和測(cè)試階段劃分
就通常軟件項(xiàng)目而言,基本上采用“瀑布型”開(kāi)發(fā)方式,這種開(kāi)發(fā)方式下,各個(gè)項(xiàng)目主要活動(dòng)比較清晰,易于操作。整個(gè)軟件生命周期為“需求-設(shè)計(jì)-編碼-測(cè)試-發(fā)布-實(shí)施-維護(hù)”。然而,將制定測(cè)試計(jì)劃和測(cè)試工作全部放入生命周期的“測(cè)試階段”,這樣造成的問(wèn)題是浪費(fèi)了開(kāi)發(fā)階段可以并行的項(xiàng)目日程。合理的測(cè)試階段應(yīng)遵循下面劃分方法:在項(xiàng)目的需求分析階段就開(kāi)始制定測(cè)試計(jì)劃,并在設(shè)計(jì)和編碼階段不斷完善測(cè)試計(jì)劃,而測(cè)試設(shè)計(jì)也可以結(jié)合在開(kāi)發(fā)過(guò)程中實(shí)現(xiàn)并行,執(zhí)行測(cè)試的活動(dòng)貫穿整個(gè)開(kāi)發(fā)過(guò)程中。
4.2 堅(jiān)持“5W+H”規(guī)則[6],明確內(nèi)容與過(guò)程
“5W”規(guī)則指的是“What(測(cè)試哪些方面,不同階段的工作內(nèi)容)”、“Why(為什么要進(jìn)行這些測(cè)試)”、“When(測(cè)試不同階段的起止時(shí)間)”、“Where(相應(yīng)文檔,缺陷的存放位置,測(cè)試環(huán)境等)”、“who(項(xiàng)目有關(guān)人員組成,安排哪些測(cè)試人員進(jìn)行哪些測(cè)試)”、“How(如何去做,使用哪些測(cè)試工具以及測(cè)試方法進(jìn)行測(cè)試)”。利用“5W+H”規(guī)則創(chuàng)建軟件測(cè)試計(jì)劃,明確測(cè)試的目標(biāo),在需要測(cè)試的內(nèi)容里并突出關(guān)鍵部分,可以列出關(guān)鍵及風(fēng)險(xiǎn)內(nèi)容、屬性、場(chǎng)景或者測(cè)試技術(shù)。對(duì)測(cè)試過(guò)程的階段劃分、文檔管理、缺陷管理、進(jìn)度管理給出切實(shí)可行的方法。
4.3 明確標(biāo)準(zhǔn)
測(cè)試計(jì)劃是指導(dǎo)測(cè)試人員進(jìn)行測(cè)試的,而且測(cè)試工作往往是多人參與,因此必須指明各種標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)主要包括:
1) 接受測(cè)試標(biāo)準(zhǔn):指開(kāi)發(fā)組完成相應(yīng)的文檔和程序后,送測(cè)試組測(cè)試時(shí),測(cè)試組接受的標(biāo)準(zhǔn),如果不滿足此標(biāo)準(zhǔn)則拒絕測(cè)試。
2) 測(cè)試開(kāi)始/停止的標(biāo)準(zhǔn):在制定測(cè)試策略時(shí),對(duì)每一個(gè)測(cè)試項(xiàng)目要明確指出該項(xiàng)測(cè)試的開(kāi)始和停止標(biāo)準(zhǔn)。
3) 命名標(biāo)準(zhǔn):測(cè)試文檔的命名標(biāo)準(zhǔn),如測(cè)試用例文件名命名標(biāo)準(zhǔn),測(cè)試用例編碼標(biāo)準(zhǔn)等,如測(cè)試用例中的編號(hào)規(guī)則可以使用:功能名_界面名(每個(gè)字第一個(gè)漢語(yǔ)拼音大寫)_編號(hào)。例如:借還書(shū)信息第一個(gè)用例,JH_TS_0001。
4.4 分別創(chuàng)建測(cè)試計(jì)劃與測(cè)試詳細(xì)規(guī)格、測(cè)試用例
編寫軟件測(cè)試計(jì)劃要避免一種不良傾向是測(cè)試計(jì)劃的“大而全”,無(wú)所不包,篇幅冗長(zhǎng),長(zhǎng)篇大論,重點(diǎn)不突出,既浪費(fèi)寫作時(shí)間,也浪費(fèi)測(cè)試人員的閱讀時(shí)間?!按蠖钡囊粋€(gè)常見(jiàn)表現(xiàn)就是測(cè)試計(jì)劃文檔包含詳細(xì)的測(cè)試技術(shù)指標(biāo)、測(cè)試步驟和測(cè)試用例。最好的方法是把詳細(xì)的測(cè)試技術(shù)指標(biāo)包含到獨(dú)立創(chuàng)建的測(cè)試詳細(xì)規(guī)格文檔中,把用于指導(dǎo)測(cè)試小組執(zhí)行測(cè)試過(guò)程的測(cè)試用例放到獨(dú)立創(chuàng)建的測(cè)試用例文檔或測(cè)試用例管理數(shù)據(jù)庫(kù)中。測(cè)試計(jì)劃和測(cè)試詳細(xì)規(guī)格、測(cè)試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測(cè)試計(jì)劃主要從宏觀上規(guī)劃測(cè)試活動(dòng)的范圍、方法和資源配置,而測(cè)試詳細(xì)規(guī)格、測(cè)試用例是完成測(cè)試任務(wù)的具體戰(zhàn)術(shù)。
4.5 采用評(píng)審和更新機(jī)制,保證測(cè)試計(jì)劃滿足實(shí)際需求
測(cè)試計(jì)劃包含多方面的內(nèi)容,編寫人員可能受自身測(cè)試經(jīng)驗(yàn)和對(duì)軟件需求的理解所限,而且軟件開(kāi)發(fā)是一個(gè)漸進(jìn)的過(guò)程,所以最初創(chuàng)建的測(cè)試計(jì)劃可能是不完善的、需要更新的。需要采取相應(yīng)的評(píng)審機(jī)制對(duì)測(cè)試計(jì)劃的完整性、正確性、可行性進(jìn)行評(píng)估。例如,在創(chuàng)建完測(cè)試計(jì)劃后,提交到由項(xiàng)目經(jīng)理、開(kāi)發(fā)經(jīng)理、測(cè)試經(jīng)理、市場(chǎng)經(jīng)理等組成的評(píng)審委員會(huì)審閱,根據(jù)審閱意見(jiàn)和建議進(jìn)行修正和更新。
5 結(jié)束語(yǔ)
好的測(cè)試計(jì)劃是成功的一半,另一半是對(duì)測(cè)試計(jì)劃的執(zhí)行。對(duì)小項(xiàng)目而言,一份更易于操作的測(cè)試計(jì)劃更為實(shí)用,對(duì)中型乃至大型項(xiàng)目來(lái)看,測(cè)試經(jīng)理的測(cè)試管理能力就顯得格外重要,要確保計(jì)劃不折不扣的執(zhí)行下去,測(cè)試經(jīng)理的人際諧調(diào)能力,項(xiàng)目測(cè)試的操作經(jīng)驗(yàn)、公司的質(zhì)量現(xiàn)狀都能夠?qū)?xiàng)目測(cè)試產(chǎn)生影響。另外,計(jì)劃也是“動(dòng)態(tài)的”,是緊追項(xiàng)目的變化,實(shí)時(shí)進(jìn)行思考和貫徹,根據(jù)現(xiàn)實(shí)修改,一份切實(shí)可行的測(cè)試計(jì)劃再加上成功實(shí)施,才能實(shí)現(xiàn)測(cè)試計(jì)劃的最終目標(biāo)--保證軟件項(xiàng)目最終產(chǎn)品的質(zhì)量。
參考文獻(xiàn):
[1] Patton R.軟件測(cè)試[M].張小松,譯.北京:機(jī)械工業(yè)出版社,2007:177-186.
[2] 軟件測(cè)試網(wǎng).做好測(cè)試計(jì)劃和測(cè)試用例的工作的關(guān)鍵是什么?[EB/OL].http://www.51testing.com/?action_viewnews_itemid_84567.html.
[3] 夏雪剛,盧順利,支高英.圖書(shū)管理系統(tǒng)相關(guān)文檔[D].陜西:寶雞文理學(xué)院,2003.
[4] 張靖,賁可榮,羅云鋒.軟件測(cè)試研究綜述[J].武漢:計(jì)算機(jī)與數(shù)字工程,2008(10).
[5] Perry W E.軟件測(cè)試的有效方法[M].高猛,譯.北京:清華大學(xué)出版社,2008:151-207.
[6] 測(cè)試時(shí)代網(wǎng).如何編寫軟件測(cè)試計(jì)劃[EB/OL].http://www.testage.net/html/71/n-156071-2.html.
[7] 陳霖,張瑞.軟件測(cè)試的風(fēng)險(xiǎn)管理[J].湖北武漢:計(jì)算機(jī)與數(shù)字工程,2008(6).
[8] 測(cè)試時(shí)代網(wǎng).軟件測(cè)試的計(jì)劃與管[EB/OL].http://www.testage.net/TestTech/TM/200601/52.htm.