基于風(fēng)險的測試設(shè)計:風(fēng)險在哪里?
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2011/7/26 16:12:29 ] 推薦標(biāo)簽:
基于風(fēng)險的測試,幾乎每個測試人員或多或少在測試實踐中運用它。對于基于風(fēng)險的測試設(shè)計,測試人員首先需要考慮的是風(fēng)險在哪里?即識別和分析測試對象中的風(fēng)險是進行基于風(fēng)險的測試設(shè)計的前提條件。
基于風(fēng)險的測試設(shè)計可以采用的技術(shù)包括啟發(fā)式分析方法、攻擊,以及失效模式和影響分析FMEA,其中啟發(fā)式分析方法由從內(nèi)到外的啟發(fā)式分析方法INSIDE-OUT和從外到內(nèi)的啟發(fā)式分析方法OUTSIDE-IN組成。本文將對INSIDE-OUT分析方法進行簡單的描述。
INSIDE-OUT的基本思路是從具體分析測試對象的詳細信息和背景信息入手,識別與之相關(guān)的風(fēng)險。采用該方法,測試人員在學(xué)習(xí)測試對象時需要不斷地提出這樣的問題“這里可能會存在什么樣的風(fēng)險”。更加正確地說,針對測試對象的每個部分,測試人員需要回答下面3個問題。
● 弱點Vulnerabilities:測試對象有何種弱點或者可能的失效?
● 原由Treats:測試對象在何種輸入或者情況下會導(dǎo)致出現(xiàn)缺陷和弱點,并且觸發(fā)測試對象出現(xiàn)失效?
● 影響者Victims:弱點或者失效的影響對象是誰?其影響程度有多大?
INSIDE-OUT分析方法需要測試人員深入了解測試對象,例如:深刻理解測試對象的具體技術(shù)實現(xiàn)。INSIDE-OUT并不一定只是局限于測試團隊內(nèi)部,也可以和開發(fā)人員合作進行。其常用過程可以是在帶有黑板/白板的會議室中測試人員詢問開發(fā)人員相關(guān)的問題(如這個功能是如何實現(xiàn)的?);開發(fā)人員在黑板/白板上畫出相應(yīng)的原理圖,并講解測試對象的內(nèi)部工作過程;同時測試人員在開發(fā)人員畫原理圖時,快速地思考一些問題。
INSIDE-OUT通過這樣的一個過程,測試人員和開發(fā)人員之間可以很快的在測試對象工作原理方面有相當(dāng)?shù)恼J同。在測試人員存在疑慮或者不清楚時可以立即詢問開發(fā)人員。在了解測試對象的工作原理之后,測試人員即可開始查找其中的弱點或者可能的失效。下面是測試實踐過程中對INSIDE-OUT分析方法的模擬應(yīng)用。
下面是開發(fā)人員和測試人員進行INSIDE-OUT的一個模擬場景,測試人員提出有關(guān)問題,開發(fā)人員解釋或者思考每個問題:
。1)測試人員指著測試對象原理圖中的一個模塊問道:“如果這個功能失效,會發(fā)生什么現(xiàn)象?”
。2)這個功能模塊會不會在不恰當(dāng)時被調(diào)用?
。3)測試人員指著原理圖中的某個部分問道:“ 這里有沒有相關(guān)的錯誤檢查功能?”
。4)測試人員指著原理圖中的某個箭頭問道:“ 該箭頭的具體含義是什么?如果這個箭頭的通路不通,后果是什么?”
。5)測試人員指著原理圖中的某個數(shù)據(jù)流問道:“ 如果這個數(shù)據(jù)流出現(xiàn)中斷,如何發(fā)現(xiàn)這個問題?如果沒有發(fā)現(xiàn)這個問題,會出現(xiàn)什么后果?”
。6)這個功能能夠處理的大并發(fā)用戶數(shù)是多少?具體的性能如何?
。7)這個功能和其他功能之間是否存在交互?
。8)對這個功能沒有把握的部分是什么?從開發(fā)人員的角度應(yīng)該如何測試?
上面的場景并不是一個完整的INSIDE-OUT方法,因此測試人員得到的也不是一個完整的問題列表,但是以這種方式開始溝通和交流是測試工作的一個好的開端。在開發(fā)人員回答相關(guān)問題時,測試人員可以了解開發(fā)人員的關(guān)注點,以及在哪些地方存在不確定或者猶豫不決。從而可以判斷開發(fā)人員在哪些地方可能沒有完全理解需求或者設(shè)計要求,而這通常是測試對象的風(fēng)險所在。在識別風(fēng)險的過程中,測試人員通常也會考慮如何測試并評估和管理這樣的風(fēng)險。
通常這樣的討論會持續(xù)時間在一個小時左右,經(jīng)過討論測試人員通常能夠更加清楚地了解測試對象。并且對可能的風(fēng)險有一個初步的印象,從而可以幫助確定后續(xù)風(fēng)險列表和測試策略。
INSIDE-OUT方法的優(yōu)點很明顯,但是該方法的高效應(yīng)用需要測試人員和開發(fā)人員之間具備很強的溝通能力和良好的合作關(guān)系。當(dāng)然測試人員也可以針對測試對象單獨識別風(fēng)險。不過,這樣會導(dǎo)致測試工作量的增加和效率的降低,因為測試人員需要獨立地學(xué)習(xí)、理解和分析測試對象。
相關(guān)推薦
相關(guān)產(chǎn)品

最新發(fā)布
性能測試之測試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應(yīng)具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機器人能夠快速響應(yīng)企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10