現(xiàn)實中,大多數(shù)軟件測試項目經(jīng)理或者測試負責人、Test Leader其實內(nèi)心都是恐懼寫文檔的。很多時候不是不會寫,而是不重視或者只是為了應付工作。原因其實很簡單,無外乎有以下幾種:

 

  1. “文檔無用論”,寫文檔還不如多用一些時間在解決項目問題上;

  2. 寫了軟件測試計劃其實也沒有幾個人看;

  3. 文檔其實不被重視;

  4. 僅僅是為了應付公司品質(zhì)部門、QAO的檢查或者CMMI評估;

  5. 在工作中測試管理的具體實踐活動,依賴的是經(jīng)驗,而不是一份寫在紙上的測試計劃書;

  6. 敏捷過程是“輕文檔”化的;

  7. 其它種種原因……

  8. 軟件測試計劃真的僅僅只是一份文檔嗎?

  9. 軟件測試計劃真的沒有用嗎?

  10. 敏捷過程就真的不需要測試計劃了嗎?

 

 

這些顯然是一些借口或者錯誤的認識。

 

為什么我們需要測試計劃?

無論做什么工作,都是計劃先行,然后按照所制定的計劃去執(zhí)行、跟蹤和控制。軟件測試也一樣,先要制定測試計劃,是做好整個測試工作的前提。所以在進行實際測試之前,應制定良好的、切實可行的、有效的測試計劃。軟件測試計劃的目標是提供一個測試框架,不斷收集產(chǎn)品特性信息,對測試的不確定性(測試范圍、測試風險等)進行分析,將不確定性的內(nèi)容慢慢轉化為確定性的內(nèi)容,該過程最終使得我們對測試的范圍、用例數(shù)量、工作量、資源和時間等進行合理的估算,從而對測試策略、方法、人力、日程等做出決定或安排。

 

在編寫測試計劃之前,可以考慮下面幾個問題:

 

為什么要編寫測試計劃?

  • (1)Test Manager/測試主管等能夠根據(jù)測試計劃做宏觀調(diào)控,進行相應資源配置等;

  • (2)測試人員能夠了解整個項目測試情況以及項目測試不同階段的所要進行的工作等;

  • (3)便于其他人員了解測試人員的工作內(nèi)容,進行有關配合工作

 

什么時間開始編寫測試計劃?

(測試需求分析前總體測試計劃書/測試需求分析后詳細測試計劃書)

 

由誰來編寫測試計劃?

具有豐富經(jīng)驗的測試負責人Test Leader

 

測試計劃編寫的基本思路(5W1H)

  • (1)why——為什么要進行這些測試;

  • (2)what—測試哪些方面,不同階段的工作內(nèi)容;

  • (3)when—測試不同階段的起止時間;

  • (4)where—相應文檔,缺陷的存放位置,測試環(huán)境等;

  • (5)who—項目有關人員組成,安排哪些測試人員進行測試

  • (6)how—如何去做,使用哪些測試工具以及測試方法進行測試。

 

測試計劃的要點

測試規(guī)劃與軟件開發(fā)活動同步進行,在需求分析時,就開始測試策劃,確定測試需求、目標、資源等。測試計劃可以按不同的測試階段(集成測試、系統(tǒng)測試等)來組織,也可以為每個測試任務或目標(安全性、性能、可靠性等測試)進行考慮。

 

測試計劃主要集中在測試目標、質(zhì)量標準、測試策略、測試范圍、測試用例設計方法、所需資源和日程安排等,其關鍵是制定有效的測試策略,界定清楚地測試范圍,識別出測試中所存在的各種風險并找出風險回避、監(jiān)控和管理的方法,針對不同的測試目標或階段確定測試方法,對測試工作量及所需的資源、時間進行合理的估算。所有這些,都是為了兩個根本目的:測試的質(zhì)量和效率。

 

測試計劃中需要明確測試范圍

測試主要依據(jù)“產(chǎn)品設計規(guī)格說明書”、代碼所發(fā)生的變化及其影響的區(qū)域,來確定哪些功能和特性要測試,哪些功能和特性不需要測試。在確定測試范圍時,主要考慮的因素有:

 

  •  優(yōu)先級最高的需求功能

  • 新增加的功能和編碼改動較大的已有功能

  • 容易出現(xiàn)問題的部分功能

  • 過去測試不夠充分的地方

  • 經(jīng)常被用戶使用的功能和配置(占20%)

  • 哪些不需要測試的功能和特性(排除出測試范圍)

 

 

在實際的測試實施中,有時候存在測試執(zhí)行到一定階段,由于某種原因(例如:環(huán)境不具備、測試賬號的問題、測試數(shù)據(jù)的問題、公司安全策略的限制等等導致測試條件不滿足,從而一些之前計劃在測試范圍內(nèi)的功能,需要排除出測試范圍)測試范圍需要發(fā)生變更。那么這就需要遵守變更流程,并且更新測試計劃文檔,以及更新后的測試計劃獲得審批。

 

這個環(huán)節(jié)其實常常被Test Leader和Test Manager或忽視。

 

測試估算:所需資源和日程安排

為了合理、準確地安排日程,對測試工作量要進行正確的估計。除了對工作量的估計之外,還要正確評估參與該項目人員的培訓時間、適應過程和工作能力等。由于涉及到不同的項目、不同的測試人員、不同的前期介入方式,要對每人每天能夠完成的平均測試用例數(shù)目做出一個準確的估計確實很困難,但是可以根據(jù)以前一些項目測試的經(jīng)驗或歷史積累下來的數(shù)據(jù)進行判斷推理,并適當增加10%-20%的余量,估算結果就比較準確了。

  

在估算的基礎上,進行有效的、合理的資源安排。在不同的測試階段人力資源的需求是不一樣的,所以人力資源的計劃要有一定的靈活性和動態(tài)性,形成有機的動態(tài)平衡,保證測試的進度和資源的使用的效率。

 

需要精心編寫準備測試計劃

要做好測試計劃,測試設計人員要仔細閱讀有關資料,包括用戶需求規(guī)格說明書、設計文檔等,全面熟悉系統(tǒng),并建議注意以下方面:

 

讓所有合適的相關人員參與測試項目的計劃制定,特別是在測試計劃早期;

測試所需的時間、人力及其它資源的預估,盡量做到客觀、準確、留有余地;

測試項目的輸入、輸出和質(zhì)量標準,應與各方達成一致;

 

測試計劃的主要內(nèi)容

測試計劃的主要內(nèi)容包括以下要點:

 

  1. 測試計劃標識

  2. 版本修訂記錄

  3. 簡介(目的)

  4. 主要閱讀者

  5. 測試項(交付測試的一切內(nèi)容)

  6. 需要測試的功能

  7. 不需要測試的功能

  8. 測試項通過/失敗的準則

  9. 測試準則(入口準則、出口準則、暫停和恢復準則)

  10. 測試交付物/產(chǎn)出物

  11. 測試任務

  12. 進度計劃(可以與10.測試任務合并做出一個進度和任務的矩陣,關鍵里程碑點的描述)

  13. 環(huán)境需求

  14. 工具

  15. 職責矩陣

  16. 人員和培訓的需求

  17. 風險和緩解風險/預防風險的對策

  18. 批準(測試計劃需要進行評審和審批)

 
 

 

測試計劃需要評審

測試計劃不可能一氣呵成,而是要經(jīng)過計劃初期、起草、討論、審查等不同階段,才能將測試計劃制定好。測試計劃的評審是完成測試計劃關鍵的一個環(huán)節(jié),包括測試組織內(nèi)部的自我評審、討論和修改,然后交到評審會進行正式的評審,直至測試計劃得到審批。

 

匯智動力測試計劃的正式評審,項目中的每個人(產(chǎn)品經(jīng)理、項目經(jīng)理、開發(fā)工程師等)都應當參與。計劃的審查是必不可少的,每一個參與者都可能根據(jù)其經(jīng)驗及專長提出問題或建議,彌補在測試范圍、工作量、風險等各方面的不足,進一步完善測試計劃。