郝愛語
摘要:隨著軟件系統(tǒng)規(guī)模和復(fù)雜度日益升高,越來越多的軟件項目明確提出軟件的高質(zhì)量要求。軟件企業(yè)也意識到,高質(zhì)量高可靠性軟件開發(fā)離不開軟件測試,測試貫穿于整個軟件開發(fā)過程。制定規(guī)范的軟件測試方案則是進行軟件測試的核心環(huán)節(jié),但目前很多中小型軟件企業(yè)對此環(huán)節(jié)重視程度不夠,甚至把測試方案和測試計劃等同。據(jù)此本文系統(tǒng)地介紹了和軟件測試方案相關(guān)的重要理論,同時對測試方案和測試計劃進行了對比分析,希望對從事測試工作的初學(xué)者具有一定的參考意義和指導(dǎo)價值。
關(guān)鍵詞:軟件測試測試方案測試計劃測試用例
0引言
目前,越來越多的軟件企業(yè)涉及高質(zhì)量高可靠性軟件項目的開發(fā),作為軟件質(zhì)量控制和保證軟件工程過程質(zhì)量的最有效方法,軟件測試在項目開發(fā)過程中的地位與日俱增。軟件測試的總目標就是:確保軟件的質(zhì)量。如何有序開展測試工作從而保證軟件高質(zhì)量高可靠性,已經(jīng)成為眾多企業(yè)面臨的一個重要課題。本文主要討論了測試過程的核心測試方案的相關(guān)理論和技術(shù)。
1軟件測試方案概述
1.1測試方案概念測試方案屬于軟件工程的范疇,制定合理規(guī)范的測試方案是軟件測試的核心環(huán)節(jié)。測試方案是描述所測軟件的測試特性、測試方法、測試用例設(shè)計、測試代碼設(shè)計、測試環(huán)境規(guī)劃以及測試工具設(shè)計和選擇的一種策略與方法。測試方案有助于軟件項目成員理解和執(zhí)行測試過程中的各項活動,同時測試方案也有助于測試活動的管理。
1.2測試方案目標測試方案描述和定義了軟件系統(tǒng)進行測試的策略和方法。其主要目標是:在完整的軟件開發(fā)周期中,有效安排和管理測試工作,建立一個全面的測試計劃,定義該軟件在不同階段的測試性質(zhì)和測試程度,協(xié)調(diào)測試工作使其按照進度表有序進行,并按期接收應(yīng)該交付的文檔和作品。
1.3測試領(lǐng)域發(fā)展目前,測試領(lǐng)域的需求和應(yīng)用非常廣泛,所應(yīng)用的技術(shù)從軟件技術(shù)到模擬數(shù)字、從電子商務(wù)到低頻高頻,微波、從測試到診斷、從維修到保障,方方面面都在快速發(fā)展,展現(xiàn)在我們面前的專業(yè)詞匯,如儀器、虛擬儀器、測試、虛擬測試、虛擬試驗、診斷與維修、預(yù)測與評估、BIT等日新月異,這些都是測試領(lǐng)域新技術(shù)發(fā)展和應(yīng)用的載體。針對不同的測試對象,制定測試方案的策略和重點也不同。
2測試方案和測試計劃
目前,仍然有學(xué)習(xí)者誤認為測試方案就是測試計劃。實際中,由于各個測試項目規(guī)模和范圍的不同,一些軟件企業(yè)的測試工作往往都是在制定測試計劃之后直接開始測試設(shè)計以及測試執(zhí)行,這就給初學(xué)者們造成一定的誤解,以為測試計劃就等同于測試方案,然而這種想法是錯誤的,測試方案不同于測試計劃,它和測試計劃有著明顯的區(qū)別。當(dāng)然也存在一定關(guān)聯(lián)。
2.1定義不同測試計劃是對測試過程的組織、資源、原則等進行的規(guī)定和約束。測試計劃制訂測試過程各個階段的任務(wù)以及時間進度等安排,提出對各項任務(wù)的評估、風(fēng)險分析和需求管理。而測試方案則是描述所測軟件的測試特性、測試方法、測試用例設(shè)計、測試代碼設(shè)計、測試環(huán)境規(guī)劃以及測試工具設(shè)計和選擇的一種策略與方法。
2.2層次不同測試計劃是管理層面的,從組織管理的角度規(guī)劃涮試活動.而涮試方案是枝術(shù)層面的.從技術(shù)的角度規(guī)劃測試活動。
2.3進度不同測試過程分為四個階段:單元測試、集成測試、系統(tǒng)測試和驗收測試。而每個階段都要按照測試計劃,測試設(shè)計.測試實現(xiàn),測試執(zhí)行的步驟來實現(xiàn)。測試計劃說明書是測試計劃階段的產(chǎn)品,而測試方案則是測試設(shè)計階段的產(chǎn)品。其中每個階段的執(zhí)行必須是在上層階段產(chǎn)品通過評審后才能開始。
2.4內(nèi)容不同測試方案和測試計劃包含內(nèi)容上的區(qū)別是二者的本質(zhì)區(qū)別。
2.4.1測試方案的內(nèi)容:明確策略,細化測試特性(形成測試子項),測試用例的規(guī)劃,測試環(huán)境的規(guī)劃,自動化測試框架的設(shè)計以及測試工具的設(shè)計和選擇。
2.4.2測試計劃的內(nèi)容:①明確測試組織的組織形式;②測試組織和其他部門關(guān)系以及責(zé)任劃分;③測試組織內(nèi)的機構(gòu)和責(zé)任安排;④明確測試的測試對象(明確測試項,用于后面劃分任務(wù),估計工作量等):⑤完成測試的需求跟蹤;⑥明確測試中需要遵守的原則;⑦明確測試工作任務(wù)分配是測試計劃的核心:a進行測試任務(wù)劃分b進行測試工作量估計c人員資源和硬件資源分配d明確任務(wù)的時間和進度安排e風(fēng)險的估計和回避措施f明確測試結(jié)束后應(yīng)交付的測試工作產(chǎn)品。
由上可以看出測試方案和測試計劃有著明顯區(qū)別,但實際上在一些規(guī)模較小的軟件企業(yè)中,由于受人力資源和資金成本的限制,制定測試方案和測試計劃的界限并不明顯,有時會在測試計劃中會包含一些測試方案的內(nèi)容,即測試環(huán)境規(guī)劃、測試工具選擇以及測試用例設(shè)計方法等,也就是說對于小規(guī)模軟件項目,其測試計劃和測試方案有時會結(jié)合在一起。但這種做法是不合適的,一般對于大型軟件公司,針對大規(guī)模項目,必須把測試方案和測試計劃的制定分開進行,這樣更加有利于整個測試項目運作和項目組之間的交流,更會起到保障軟件質(zhì)量的作用。
總而言之,測試方案需要在測試計劃的指導(dǎo)下進行,測試計劃提出“做什么”,而測試方案明確“怎么做”。二者既有區(qū)別又有聯(lián)系,概念總歸是概念,讀者可以不必拘泥于此,根據(jù)軟件項目規(guī)格大小以及實際應(yīng)用環(huán)境,測試人員應(yīng)該具體問題具體分析。
3結(jié)束語
以上筆者從實踐出發(fā)對軟件測試方案的相關(guān)知識進行了略粗淺的分析和研究。需要說明的是目前對軟件測試以及如何結(jié)合具體實際項目制定合理的測試方案仍是一個頗不成熟的領(lǐng)域,缺少一種整體性體系化的方法。這里,筆者作為教育戰(zhàn)線中一名教師所做的分析雖然已經(jīng)竭盡所能,但卻不能保證將如何有效制定測試方案的問題研究得很深刻,這也是本人今后努力鉆研的方向和課題,希望此文能為相關(guān)企業(yè)和測試人員制定測試測試方案起到一定的參考價值和指導(dǎo)作用。