1. 程式人生 > >談制定有效測試策略的重要性

談制定有效測試策略的重要性

談制定有效測試策略的重要性

測試策略(Test Strategy)是描述軟體開發週期的測試方法的概要。它是為了向專案經理、測試人員和開發人員告知測試過程中的一些關鍵問題而建立的。這包括測試目標、測試新功能的方法、專案所需的總時間和資源以及測試環境。

首先說明幾個容易混淆的概念:測試方針、測試策略、測試計劃和測試方案。測試方針(Test Policy)是測試組織或者產品測試中的通用要求、原則,它是測試組織級的要求和規範,一般不會隨著被測物件的變化或者測試專案的不同而發生變化。測試策略(Test Strategy)描述了在測試級別上如何減輕利益相關者的產品風險,哪些型別的測試將被執行,以及哪些測試准入和測試退出的標準適用。測試策略是基於開發設計文件建立的。測試計劃(Test Plan)是詳細說明被測系統或被測產品的特定的測試周期、測試目標、使用的資源和測試過程的文件。測試方案其實在專業的測試標準和規範中並不存在。在實際專案中,常常可以看到在內容上測試方案時測試方針、測試策略和測試計劃的組合體。

什麼是測試策略?

“測試策略”通俗來講就是6個字:“測什麼”和“怎麼測”。具體來講,就是答好和產品測試相關的六大問題:

  1. 測試的物件和範圍是什麼?
  2. 測試的目標是什麼?
  3. 測試的重點和難點是什麼?
  4. 測試的深度和廣度?
  5. 如何安排各種測試活動(先測試什麼,再測試什麼)?
  6. 如何評價測試的效果?

測試策略描述要執行的測試級別(Test levels)。主要有三個主要層次的測試:單元測試、整合測試和系統測試。在大多數軟體開發組織中,開發人員負責單元測試。由專業的測試團隊負責整合測試和系統測試。總之,測試策略告訴我們如何開展測試活動。

測試策略應該由組織中專業的測試團隊來制定,並由測試團隊和開發團隊共同進行評審。同時,還應通過測試線索對所有級別的測試進行審查,以確保覆蓋完成但不重疊。測試管理者和開發管理者都應該在測試開始之前評審並通過測試策略。

測試策略和測試計劃的區別

多年來,我遇到很多測試經理(Test Leader)將測試策略和測試計劃混淆了。測試計劃文件是一種結合整體專案計劃的策略。每個組織都有自己的標準和程式來維護這些檔案。一些組織在測試計劃本身包括測試策略的部分內容,但是不夠詳細。一些組織將測試策略作為測試計劃中的子章節列出,但是在不同的測試策略文件中分離出細節。大多數測試經理會在測試計劃中定義了測試專案的範圍和測試重點,一般包括的內容有被測系統的描述、測試周期、測試團隊人員構成與角色分工、測試目標、測試的主要內容、測試級別/型別、使用的測試方法和測試工具、測試風險與管理方法、測試報告提交方式等等。這些其實是不夠的!測試計劃的制定屬於測試管理領域;而測試策略的制定屬於測試技術領域。

測試策略定義了要遵循的測試方法的指導方針,以便實現測試目標和測試計劃中定義的測試型別的執行。它處理測試目標、方法、測試環境、自動化策略和工具,以及帶有應急計劃的風險分析。

測試策略中需要詳細的描述測試過程、測試級別、角色和職責。對於測試計劃中定義的每個測試型別(例如:單元測試、整合測試、系統測試、迴歸測試、安裝/解除安裝測試、可用性測試、壓力和負載測試、效能測試和安全測試)描述為什麼應該執行該測試型別,以及何時開始、測試所有者、職責、測試方法和使用場景/條件,手工測試和自動化測試的實施方法和測試工具的使用。以及為測試執行中存在各種活動,如新增新缺陷、缺陷分類、缺陷分配、再測試、迴歸測試和最終測試終止/結束等定義正確的步驟。

測試策略的重要性

為什麼能夠制定出有效的測試策略對於測試實施是非常重要的?

1、有效的測試策略能夠幫助測試團隊明確被測系統或者測試產品的質量目標。制定測試策略,就是為了讓被測物件經過各種測試後,最終能夠達到質量目標,從而可以釋出。

2、更易於實施基於風險的測試。對於產品而言,質量目標最後都是能夠滿足使用者的商業需求;基於質量目標來制定測試策略,可以充分的發揮基於風險測試的思想,可以根據風險來有效的調整測試實施方法和進度,確保產品釋出時的質量可控、可評估。

3、適配軟體開發過程/產品開發過程。測試策略可以與軟體開發過程/產品開發過程進行有效的融合,在軟體開發的不同階段制定不同的子策略來指導測試活動的實施。

4、將測試“分層”。測試分層有助於將測試活動進行有效的劃分和組織起來一組一組有序實施,並且有差異化的進行;對於細化測試活動、提升測試效率都有非常重要的指導意義。

測試策略就像更像是一場戰鬥中的具體戰術實施的方法,在測試活動中的地位不容忽視。