如何制定有效的測試策略灾茁?

??通常情況下不論采用什么方法和技術(shù)窜觉,其測試都是不徹底的谷炸,一是不能窮盡測試,二是測試的時間極其有限禀挫,沒有足夠的時間完成所需的測試旬陡。雖然我們不能保證被測試的程序中不存在遺漏的缺陷,但是语婴,如果軟件完成測試之后描孟,遺漏的嚴(yán)重錯誤過多,則表明測試是非常不充分的砰左,測試是失敗的匿醒。測試不足意味著讓用戶承擔(dān)很大的質(zhì)量風(fēng)險。反過來說菜职,如果過度測試青抛,則又會浪費寶貴的測試資源,產(chǎn)品遲遲不能發(fā)布酬核,增大企業(yè)的成本蜜另。因此,在實際的測試計劃中嫡意,如何平衡測試的投入和質(zhì)量的風(fēng)險是必須考慮的問題举瑰,需要考慮測試的范圍取舍、需要適當(dāng)?shù)爻惺芤恍╋L(fēng)險----哪些測試項優(yōu)先級高蔬螟,需要優(yōu)先測試此迅;哪些測試項優(yōu)先級低,在時間不夠的情況下旧巾,可以不測耸序。也可以選擇不同的測試方法,達(dá)到不同的測試效果鲁猩,如在特別高效率的測試情況下坎怪,測試覆蓋率有所降低,在某些情況下可能就是一種明智的決策廓握。即在測試的取舍上搅窿、在測試的投入與質(zhì)量風(fēng)險上,需要找到一個最佳平衡點隙券。這就是測試策略發(fā)揮作用的地方男应。

1、測試策略

??為了最大程度地減少這種遺漏的錯誤娱仔,同時也為了最大限度地發(fā)現(xiàn)存在的錯誤沐飘,在測試實施之前要確定有效的測試策略。然后牲迫,根據(jù)測試策略薪铜,選定測試方法众弓、確定測試范圍等恩溅,豐富測試計劃隔箍,制定詳細(xì)的測試方案。依據(jù)軟件項目類型脚乡、規(guī)模及應(yīng)用背景的不同蜒滩,我們將選擇不同的測試方案,以最少的軟奶稠、硬及人力資源投入而獲得最佳的測試效果俯艰,這就是測試策略目標(biāo)所在。

??軟件測試策略:即在一定的軟件測試標(biāo)準(zhǔn)锌订、測試規(guī)范的指導(dǎo)下竹握,依據(jù)測試項目的特定環(huán)境約束而規(guī)定軟件測試的原則、方式辆飘、方法的集合啦辐,這就是測試策略,其包括如下:

  • 實施的測試類型和測試的目標(biāo)蜈项;
  • 實施測試的階段及相應(yīng)的技術(shù)芹关;
  • 用于評估測試結(jié)果的方法和標(biāo)準(zhǔn);
  • 對采取測試策略所帶來的影響或風(fēng)險的說明等紧卒。

2侥衬、測試策略制定的三項基本要素

??軟件測試制定有3項基本要素:輸入、輸出和過程跑芳。
??(1)輸入:作為制定測試策略的依據(jù)轴总,包括限制條件和已具有的資源;

  • 所要求的軟博个、硬件的詳細(xì)說明怀樟,包括測試環(huán)境、測試工具等坡倔;
  • 人力資源和測試進(jìn)度的約束漂佩,包括測試組成員角色和職責(zé)說明;
  • 測試方法和衡量測試是否通過的標(biāo)準(zhǔn)罪塔;
  • 被測軟件組件或系統(tǒng)的功能性和技術(shù)性需求文檔投蝉,及其變更請求的控制流程。
  • 軟件系統(tǒng)所受到的其他限制征堪。
    ??(2)輸出:制定策略的成功瘩缆,即最終對所制定 策略的定義或說明。
  • 通過/失敗的準(zhǔn)則和測試風(fēng)險評估的結(jié)果佃蚜。
  • 已批準(zhǔn)和簽署的測試策略文檔庸娱。
  • 測試策略相對應(yīng)的測試計劃着绊、測試用例的設(shè)計思想和思路。
    (3)制定策略的過程熟尉。
    ??測試組分析需求归露,參與設(shè)計的討論,測試策略應(yīng)該覆蓋整個項目的生命周期斤儿,需要各類技術(shù)人員參與剧包;各類技術(shù)人員相互之間應(yīng)多交流、討論往果,以保證制定正確的測試策略疆液。

3、如何制定測試策略

??測試策略描述如何全面的陕贮、客觀地和有效地開展測試堕油,對測試的公正性、遵照的標(biāo)準(zhǔn)做一個說明肮之。在制定測試策略過程中掉缺,需要考量用戶特點、系統(tǒng)功能之間的關(guān)系局骤、資源配置攀圈、上個版本的測試質(zhì)量和已有的測試經(jīng)驗等各個因素的影響,從而找到問題的解決辦法峦甩,包括采取哪些測試方法赘来、采用什么樣的測試工具等。盡可能地考慮到某些細(xì)節(jié)凯傲,借助創(chuàng)造性的思維或頭腦風(fēng)暴犬辰,往往能幫助找到測試的新途徑。
??為了制定正確的測試策略冰单,先要明確其輸入幌缝,包括被測的軟件系統(tǒng)的功能性和技術(shù)性需求,以及測試目標(biāo)诫欠、測試方法和完成標(biāo)準(zhǔn)等涵卵。然后,根據(jù)測試目標(biāo)或測試需求確定測試的內(nèi)容荒叼,評估各項測試內(nèi)容可能存在的風(fēng)險并確定測試的優(yōu)先級轿偎,針對不同的測試內(nèi)容選擇最合適的測試方法、技術(shù)和工具被廓,針對不同的測試風(fēng)險采取不同的對策坏晦,最后確定測試策略,包括測試各個階段完成的標(biāo)準(zhǔn)、所采用的方法和對策以及測試用例設(shè)計的取舍等昆婿。
??測試策略制定步驟:

image.png

??在制定策略的過程中球碉,權(quán)衡資源約束和風(fēng)險等因素是很關(guān)鍵的,有效的測試策略就是為了降低風(fēng)險仓蛆,在有限的資源下完成給定的測試任務(wù)睁冬,優(yōu)先級高的測試任務(wù)優(yōu)先完成。如果不采取測試策略多律,就不能及時完成測試任務(wù)痴突。而采取一定的測試策略(如新方法、特別的方法)能及時完成測試任務(wù)狼荞,或者是舍棄某些非常低或較低優(yōu)先級的測試任務(wù),從而增加了測試風(fēng)險帮碰。所以需要正確把握測試目標(biāo)和測試風(fēng)險之間的平衡相味,獲得最佳的測試策略。

4殉挽、如何更好地制定測試策略

??針對不同的測試階段(單元測試丰涉、集成測試、系統(tǒng)測試)斯碌、不同的測試對象或測試目標(biāo)制定相對應(yīng)的測試策略一死。例如,單元測試傻唾,執(zhí)行嚴(yán)格的代碼復(fù)查投慈,以保證在早期就能發(fā)現(xiàn)大部分的問題,而對功能性的回歸測試冠骄,盡量借助自動化完成伪煤,而且要求每天執(zhí)行冒煙測試或驗證測試,包括在安全性測試凛辣、配置測試執(zhí)行時可進(jìn)行一些探索性測試抱既。所以在制定測試策略時,可選擇的范圍很大扁誓。
-采用不同的測試方式防泵,如加強靜態(tài)測試、采用探索式測試就有可能解決進(jìn)度的問題蝗敢。

  • 采用不同的測試方法捷泞,白盒方法準(zhǔn)確有效,但黑盒方法能夠直接面對業(yè)務(wù)前普,完成端到端的驗證肚邢。
  • 在選擇不同的測試方式、方法時,需要考慮團隊的能力骡湖,甚至需要考慮團隊人員的責(zé)任心贱纠,如果能力強、責(zé)任心強响蕴、探索式測試效果會好得多谆焊。
  • 測試用例的選擇、優(yōu)化浦夷,一般要求測試用例事先定義優(yōu)先級辖试,這樣有多少時間或人力資源,就做多少測試劈狐,按優(yōu)先級的順序罐孝,從高向地來選擇測試。
  • 不同的測試層次(單元肥缔、集成莲兢、系統(tǒng))其策略是不一樣的
  • 新的測試環(huán)境是否是虛擬環(huán)境、新的測試工具是否易用等都是影響因素续膳。
    為了更好地確定軟件測試策略改艇,也可以試著問一些如下的問題,在尋找這些答案的過程中坟岔,也就找到了有效的測試策略谒兄。
  • 如何確定回歸測試的范圍?
  • 如何利用可重復(fù)性的測試社付?
  • 測試缺乏可預(yù)見性承疲,如何收集能衡量測試結(jié)果的指標(biāo)?
  • 如何建立穩(wěn)定的瘦穆、模擬系統(tǒng)實際運行的測試環(huán)境纪隙?
  • 如何從無窮的輸入數(shù)據(jù)中選擇合理的、有效的測試數(shù)據(jù)集扛或?
  • 如何加強靜態(tài)測試-----規(guī)格說明書绵咱、設(shè)計文檔和程序代碼等的審查?
  • 如何處理單元測試和集成測試的關(guān)系熙兔?
  • 如何處理手工測試和自動化測試之間的平衡悲伶,使它們的互補性得到發(fā)揮,測試的效率和質(zhì)量達(dá)到最佳狀態(tài)住涉?
  • 如何衡量這份測試策略的有效性麸锉?

5、基于測試技術(shù)的測試策略

著名的軟件測試專家mysers指出了使用各種測試方法的綜合策略舆声。

  • 在任何情況下都要使用邊界值分析方法花沉,因為邊界值分析方法所設(shè)計的測試用例能很有效地發(fā)現(xiàn)軟件代碼的缺陷柳爽。
  • 等價類劃分方法是對邊界值分析方法的有效補充。
  • 如果軟件某些功能的輸入數(shù)據(jù)/條件存在多種組合情況碱屁,則一開始就可選用因果圖法磷脯。
  • 錯誤推測法可以幫助追加一些比較特殊、不易直接推理出來的測試用例娩脾。
  • 對照程序邏輯來審查已有測試用例的邏輯覆蓋成都赵誓。如果沒有達(dá)到要求的覆蓋率,則應(yīng)當(dāng)再增加一些測試用例柿赊。
  • 盡管用戶更傾向于基于程序規(guī)格說明的功能測試俩功,但是白盒測試能發(fā)現(xiàn)潛在的邏輯錯誤,而這種錯誤往往是功能測試發(fā)現(xiàn)不了的碰声。

6诡蜓、分階段的測試策略

  • 嚴(yán)格地執(zhí)行代碼復(fù)查,以保證在早期就發(fā)現(xiàn)問題奥邮,而不是在代碼發(fā)布之后万牺。
  • 利用單元測試和集成測試,可以盡早地發(fā)現(xiàn)更多的問題洽腺,并準(zhǔn)備好自動化測試;
  • 需要建立一個正規(guī)的且自動化的冒煙測試覆旱,只有100%通過冒煙測試蘸朋,才能進(jìn)入下一個階段。
  • 在系統(tǒng)測試中扣唱,以每次發(fā)布用戶基線為結(jié)束標(biāo)志藕坯,用戶基線會增長,同時也會逐漸地要求一些更為精確的性能測試噪沙。
  • 不能忽略安全性測試炼彪、可用性測試、配置測試和數(shù)據(jù)完整性測試正歼。
  • 在功能性辐马、安全性測試、配置測試中可進(jìn)行一些探索性測試局义。
  • 制定更為詳細(xì)的用戶驗收測試計劃喜爷,將其與測試腳本和培訓(xùn)材料一起提供給用戶,以幫助用戶快速提高并完成任務(wù)萄唇。

7檩帐、基于測試方案的綜合測試策略

  • 根據(jù)軟件產(chǎn)品或服務(wù)特性對客戶的使用價值以及特性失效所造成的損失,來確定相應(yīng)特性的測試優(yōu)先級另萤。產(chǎn)品特性的優(yōu)先級越高湃密,其被測試的時間越早,測試的力度也越大。
  • 要使用盡可能少的測試用例泛源,發(fā)現(xiàn)盡可能多的程序錯誤拔妥。一次完整的軟件測試過后,如果程序中遺漏的(較)嚴(yán)重錯誤過多俩由,則表明本次測試是不足的或失敗的毒嫡,這意味著可能讓用戶承擔(dān)較大的利益損失風(fēng)險。反過來說幻梯,如果過度測試兜畸,則又會浪費軟件企業(yè)自身的寶貴資源。所以碘梢,需要在以上兩點–風(fēng)險和效率上進(jìn)行權(quán)衡咬摇,找到一個最佳平衡點。
  • 測試策略應(yīng)該盡量的簡單煞躬、清晰肛鹏,例如可以在優(yōu)先的白板上通過2~3行字和1~2個圖就描述出測試策略來,或者可以通過一個簡短的會議(20分鐘~30分鐘)恩沛,就能把測試策略解釋清楚在扰。
  • 基于缺陷分析的測試策略,通過缺陷分析雷客,可以更好地了解開發(fā)人員的習(xí)慣芒珠,找到容易犯錯的地方,可以更好地設(shè)計測試用例搅裙,更快地發(fā)現(xiàn)缺陷皱卓。也可以從缺陷出發(fā),反推回去部逮,找到合適的測試策略娜汁。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市兄朋,隨后出現(xiàn)的幾起案子掐禁,更是在濱河造成了極大的恐慌,老刑警劉巖蜈漓,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穆桂,死亡現(xiàn)場離奇詭異,居然都是意外死亡融虽,警方通過查閱死者的電腦和手機享完,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來有额,“玉大人般又,你說我怎么就攤上這事彼绷。” “怎么了茴迁?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵寄悯,是天一觀的道長。 經(jīng)常有香客問我堕义,道長猜旬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任倦卖,我火速辦了婚禮洒擦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怕膛。我一直安慰自己熟嫩,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布褐捻。 她就那樣靜靜地躺著掸茅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪柠逞。 梳的紋絲不亂的頭發(fā)上昧狮,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音板壮,去河邊找鬼陵且。 笑死,一個胖子當(dāng)著我的面吹牛个束,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播聊疲,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼茬底,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了获洲?” 一聲冷哼從身側(cè)響起阱表,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贡珊,沒想到半個月后最爬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡门岔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年爱致,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寒随。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡糠悯,死狀恐怖帮坚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情互艾,我是刑警寧澤试和,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站纫普,受9級特大地震影響阅悍,放射性物質(zhì)發(fā)生泄漏钉赁。R本人自食惡果不足惜解孙,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孤钦。 院中可真熱鬧悦昵,春花似錦肴茄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棋凳,卻和暖如春拦坠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剩岳。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工贞滨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拍棕。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓晓铆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绰播。 傳聞我的和親對象是個殘疾皇子骄噪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345