最近看到有的測試文檔里面提到測試策略,但是仔細一看,他們寫的卻是測試用例的大致內容,所以想在這篇文章里面簡單談談什么是測試策略。
從字面意思來講,測試策略應該是比較高層的概念,應該著眼于測試中大的方面,而不是細枝末節。一般來說,測試策略描述了軟件開發過程中進行測試方法,用來告訴測試過程中所有可能的參與者,測試活動應該如何進行。其中主要會包括測試目標,測試新功能的方法,測試項目的時間和資源,以及測試環境等等。
除此以外,測試策略應該描述測試過程中存在哪些風險,以及如何能夠規避或者降低這些風險。同時,測試策略也會提到測試的級別,哪些測試應該被執行,入口出口條件是什么。創建測試策略時候我們可以參考各種需求文檔和設計文檔。
一般來說,測試策略在結構上可以包括以下一些要點:
(1)測試級別:常見的測試級別有單元測試,集成測試和系統測試。大部分的測試組織里面,單元測試由開發負責,而集成測試和系統測試由測試部門或者質量保證部門負責。
(2)角色與職責:需要在測試策略里面明確定義各個角色,以及該角色的職責。比如項目經理,測試組長,測試工程師...
(3)環境需求:這一點非常重要,它將描述測試時需要的系統環境,包括軟硬件以及網絡環境等等。在澄清環境需求的時候,測試組織可以識別出資源方面的風險。
(4)風險分析:影響測試過程的風險都應該盡早被識別出來,而且必須有相應的解決辦法以便消除或者減輕這些風險。
(5)測試進度:測試進度將會評估完成測試所需要的時間。在設定進度的時候,首先需要明確測試范圍,然后根據測試資源的多少來制定能被各方面認可的測試進度計劃。做一個非常準確的進度計劃是困難的事情,因為測試過程中充滿了各種不確定性,所以一般計劃者需要考慮增加一定的buffer。當然,制定進度計劃的時候可以參考已有的項目的數據。如果是一個全新的軟件項目,專家認為將初始計劃的時間翻倍比較靠譜!
(6)回歸測試方法:回歸測試用來保證之前修復缺陷的代碼不會影響軟件的其他部分,這樣需要我們選擇已經執行過的測試用例重新運行。測試人員需要找到一個方法來確定哪些測試用例應該在回歸測試中運行,用例不能太多,因為資源有限,用例也不能太少,否則會達不到必須的測試強度。不過,如果測試部門對待測系統以及軟件架構非常了解的話,就比較容易找到合適的回歸測試集合。
(7)測試范圍:這個沒啥好說的,就是你要測試的內容,可能是某些模塊,可能是某些指標,比如功能,性能,易用性...
(8)測試優先級:測試范圍內的東西不會都是一樣重要的,加上測試資源各種有限,所以為測試排定優先級是十分的必要。