軟件研發(fā)生命周期
在說(shuō)明軟件測(cè)試計(jì)劃應(yīng)如何制定之前,我們先熟悉下軟件研發(fā)生命周期的定義:
軟件開(kāi)發(fā)生命周期(Software Development Life Cycle,SDLC) 包含了軟件從開(kāi)始到發(fā)布的不同階段。它定義了一種用于提高待開(kāi)發(fā)軟件質(zhì)量和效率的過(guò)程。因此,SDLC旨在通過(guò)最少的資源,交付出高質(zhì)量的軟件。為了避免產(chǎn)生嚴(yán)重項(xiàng)目失敗后果,軟件開(kāi)發(fā)的生命周期通??梢员粍澐譃?strong>計(jì)劃、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、測(cè)試集成、維護(hù) 六大階段:
SDLC
從SDLC中我們可以看出,軟件測(cè)試是軟件研發(fā)生命周期的重要一部分,而軟件項(xiàng)目的研發(fā)首先都是從制訂計(jì)劃開(kāi)始。這里測(cè)試計(jì)劃也是軟件項(xiàng)目計(jì)劃的一個(gè)組成部分。
測(cè)試計(jì)劃的重要性
在最新的 ISO/IEC/IEEE 29119-3 標(biāo)準(zhǔn)中對(duì)測(cè)試計(jì)劃的定義如下:
測(cè)試計(jì)劃(Test plan): 描述測(cè)試為實(shí)現(xiàn)某個(gè)測(cè)試目標(biāo)而執(zhí)行的活動(dòng)、任務(wù)和資源的文件。它提供了測(cè)試過(guò)程的藍(lán)圖,定義了測(cè)試工作的框架與指導(dǎo),是管理測(cè)試工作的基礎(chǔ)。
古人云:“凡事預(yù)則立,不預(yù)則廢”,又云:“謀定而后動(dòng)”。都是說(shuō)我們做事預(yù)先計(jì)劃的重要性。在軟件測(cè)試中也是一樣,只有在進(jìn)入測(cè)試執(zhí)行階段之前,預(yù)先計(jì)劃和確認(rèn)好實(shí)施測(cè)試的相關(guān)原則、方法、資源和產(chǎn)出,才能保證我們后續(xù)的測(cè)試能夠順利開(kāi)展。
本文的目的也就是討論我們?cè)谟?jì)劃階段應(yīng)該考慮和確認(rèn)哪些因素并體現(xiàn)到測(cè)試文檔中。
敏捷宣言中雖然有一條:
工作的軟件高于詳盡的文檔
但是,測(cè)試計(jì)劃文檔的重要性在于,計(jì)劃模板中會(huì)包含很多計(jì)劃要素,依照這些要素去思考和準(zhǔn)備后續(xù)的軟件測(cè)試,可以避免一些重要事項(xiàng)的遺漏。
測(cè)試計(jì)劃的主要構(gòu)成
還是在ISO/IEC/IEEE 29119-3 標(biāo)準(zhǔn)中,對(duì)測(cè)試計(jì)劃的主要構(gòu)成也提供的詳細(xì)的說(shuō)明。以下我們就參考該標(biāo)準(zhǔn)來(lái)詳細(xì)說(shuō)明這些要素。(這里是一個(gè)比較全面的構(gòu)成介紹,實(shí)際項(xiàng)目運(yùn)作不用拘泥形式,根據(jù)項(xiàng)目自身實(shí)際情況進(jìn)行裁剪即可)
文檔信息
測(cè)試計(jì)劃文檔信息主要是用于文檔本身的規(guī)范化管理要求的。一般會(huì)包含如下關(guān)信息:
- 文檔標(biāo)題 如:XXX項(xiàng)目XX版本測(cè)試計(jì)劃
- 文檔編寫日期
- 文檔狀態(tài) 如:草稿、審核、發(fā)布等
- 文檔版本 文檔本身的版本歷史
- 編寫者及組織信息
- 文檔評(píng)審、簽署人員
- 文檔變更歷史記錄
總體介紹
這部分主要說(shuō)明當(dāng)前測(cè)試的背景信息和介紹。
- 被測(cè)對(duì)象產(chǎn)品介紹,行業(yè)背景知識(shí),測(cè)試的總體要求等。
- 參考文檔的清單:比如需求文檔、原型設(shè)計(jì)、系統(tǒng)架構(gòu)、操作手冊(cè)、安裝手冊(cè)、接口說(shuō)明等等
- 術(shù)語(yǔ)、縮略語(yǔ)對(duì)照表
測(cè)試目標(biāo)
這部分會(huì)重點(diǎn)說(shuō)明當(dāng)前測(cè)試的目標(biāo)。
測(cè)試范圍
這部分是測(cè)試計(jì)劃中非常重要的部分,是明確當(dāng)前測(cè)試的目標(biāo)邊界的。一般又會(huì)明確說(shuō)明 In Scope 和 Out Scope 兩部分,即明確哪些內(nèi)容是本次測(cè)試需要覆蓋的以及明確無(wú)法覆蓋的。
一般確定測(cè)試范圍的話,如In Scope的:
- 新增產(chǎn)品特性需求
- 歷史版本的遺留bug修復(fù)
- 當(dāng)前版本進(jìn)行的技術(shù)實(shí)現(xiàn)優(yōu)化
- 數(shù)據(jù)結(jié)構(gòu)變更的驗(yàn)證
...... 等等
而out scope的也需要根據(jù)項(xiàng)目討論明確下來(lái),舉例如: - 安全加固相關(guān)的變更不包含在當(dāng)前測(cè)試計(jì)劃中
- 老舊歷史版本(如3年前)的兼容
- 特定依賴的測(cè)試,如無(wú)法獲取的測(cè)試設(shè)備相關(guān)的驗(yàn)證,經(jīng)項(xiàng)目確認(rèn)可以移出測(cè)試計(jì)劃
- ....
測(cè)試類型
當(dāng)前計(jì)劃需要覆蓋的測(cè)試類型,比如功能測(cè)試、性能測(cè)試、兼容性測(cè)試、文檔測(cè)試、安裝部署測(cè)試、安全測(cè)試、兼容性測(cè)試、可靠性測(cè)試等等。說(shuō)明相關(guān)類型的主要目的。
約束和假定
說(shuō)明當(dāng)前測(cè)試計(jì)劃的一些預(yù)置條件和可能的約束。比如項(xiàng)目計(jì)劃節(jié)點(diǎn)的有效性,人員、設(shè)備等資源的到位情況,需求變化情況,第三方關(guān)聯(lián)系統(tǒng)的有效性等
干系人和合作方
測(cè)試中的干系人。哪些人這個(gè)測(cè)試計(jì)劃的交付對(duì)象。
測(cè)試中的合作方。測(cè)試過(guò)程中需要和那些人協(xié)作,協(xié)作方式和溝通渠道
風(fēng)險(xiǎn)說(shuō)明
根據(jù)項(xiàng)目的風(fēng)險(xiǎn)評(píng)估,列出當(dāng)前跟測(cè)試相關(guān)的風(fēng)險(xiǎn)清單。又分項(xiàng)目風(fēng)險(xiǎn)和產(chǎn)品風(fēng)險(xiǎn)。
風(fēng)險(xiǎn)清單中列出的風(fēng)險(xiǎn)一般應(yīng)包含這些要素:
- 識(shí)別出的風(fēng)險(xiǎn)說(shuō)明
- 風(fēng)險(xiǎn)影響分析
- 風(fēng)險(xiǎn)級(jí)別的評(píng)估 (嚴(yán)重程度、發(fā)生概率、可識(shí)別概率)
- 當(dāng)前對(duì)風(fēng)險(xiǎn)的已有舉措
- 后續(xù)的風(fēng)險(xiǎn)消除方案
測(cè)試策略
測(cè)試方法
針對(duì)前面的測(cè)試類型,總體說(shuō)明相應(yīng)測(cè)試類型的主要測(cè)試方法,使用的測(cè)試工具,需要準(zhǔn)備的測(cè)試數(shù)據(jù)和數(shù)據(jù)生成方案等
測(cè)試環(huán)境
這部分說(shuō)明實(shí)施測(cè)試的測(cè)試環(huán)境要求,需要的設(shè)備資源情況(如移動(dòng)應(yīng)用測(cè)試需要準(zhǔn)備的手機(jī)型號(hào)、web應(yīng)用的服務(wù)器資源、網(wǎng)絡(luò)環(huán)境),使用的測(cè)試工具等等
測(cè)試輸出
列出測(cè)試過(guò)程中有哪些輸出物,所存放的路徑. 如
- 測(cè)試計(jì)劃
- 測(cè)試方案
- 測(cè)試用例/集
- 測(cè)試數(shù)據(jù)
- 自動(dòng)化測(cè)試腳本
- 測(cè)試狀態(tài)報(bào)告
- 測(cè)試總結(jié)報(bào)告
- ......
測(cè)試準(zhǔn)入/準(zhǔn)出標(biāo)準(zhǔn)
明確實(shí)施測(cè)試的開(kāi)始和結(jié)束標(biāo)準(zhǔn)。比如準(zhǔn)入要求單元測(cè)試通過(guò)率 95%,產(chǎn)品功能已完整開(kāi)發(fā)并經(jīng)過(guò)集成測(cè)試等。準(zhǔn)出要求沒(méi)有Critical的defect,遺留defect的總加權(quán)值不超過(guò)設(shè)定值等。
(這部分后續(xù)文章還會(huì)詳細(xì)介紹)
測(cè)試暫停/重啟標(biāo)準(zhǔn)
明確暫停測(cè)試和重啟測(cè)試的標(biāo)準(zhǔn)。暫停和重啟會(huì)影響后續(xù)的Schedule排期,所以有必要在計(jì)劃階段就明確說(shuō)明。舉例來(lái)說(shuō)比如出現(xiàn)影響測(cè)試?yán)^續(xù)進(jìn)行的嚴(yán)重bug會(huì)觸發(fā)暫停,當(dāng)相關(guān)bug解決后可以觸發(fā)重啟。
測(cè)試人員
參與測(cè)試實(shí)施的人員名單和相關(guān)職責(zé)說(shuō)明,在項(xiàng)目期間的投入工作量估算。如有人力缺口或能力培訓(xùn)需求,在這一部分需要說(shuō)明相關(guān)的計(jì)劃。
測(cè)試計(jì)劃分解
根據(jù)前述測(cè)試方案和人力,對(duì)后續(xù)測(cè)試過(guò)程進(jìn)行任務(wù)分解和估算。這里不僅要考慮到實(shí)施階段的測(cè)試任務(wù),也應(yīng)包含計(jì)劃、設(shè)計(jì)階段的任務(wù)分解和估算。一般包括:
- 計(jì)劃階段的目標(biāo)、scope的確認(rèn)
- 需求的評(píng)審、澄清,測(cè)試方案的整理
- 測(cè)試用例設(shè)計(jì)、工具準(zhǔn)備、數(shù)據(jù)準(zhǔn)備、自動(dòng)化測(cè)試開(kāi)發(fā)
- 測(cè)試執(zhí)行階段的多輪測(cè)試:新功能測(cè)試、全量回歸、bug驗(yàn)證、發(fā)布、升級(jí)驗(yàn)證,發(fā)布后驗(yàn)證
- 測(cè)試報(bào)告輸出
- 日常的狀態(tài)更新、測(cè)試過(guò)程數(shù)據(jù)的收集
以上就是測(cè)試計(jì)劃的主要構(gòu)成。測(cè)試計(jì)劃編寫完成一般需要經(jīng)過(guò)數(shù)輪和項(xiàng)目團(tuán)隊(duì)的評(píng)審和確認(rèn),作為后續(xù)測(cè)試實(shí)施的參考依據(jù)。
但大家理解測(cè)試計(jì)劃的主要作用和定義這些構(gòu)成要素的背后邏輯,實(shí)際項(xiàng)目操作也可以根據(jù)項(xiàng)目實(shí)際情況進(jìn)行一些裁剪,而不是因?yàn)樽非蠼虠l式的完備計(jì)劃而投入大量精力。
一頁(yè)測(cè)試計(jì)劃示例
其實(shí)隨著敏捷的推行,我們也可以在迭代階段采用一些輕量級(jí)的計(jì)劃模板,關(guān)注到核心要素。下面就是兩個(gè)一頁(yè)紙的計(jì)劃模板,大家可以參考:


