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