張燕+劉善田+張佳佳+宋士濤+鄭希源
摘 要:軟件測(cè)試工作中的風(fēng)險(xiǎn)是不可避免的,如何有效的識(shí)別軟件測(cè)試中的風(fēng)險(xiǎn)非常重要。本文論述了一種新的故障樹(shù)風(fēng)險(xiǎn)識(shí)別方法,能夠進(jìn)行定性分析和定量分析,能更有效的識(shí)別軟件測(cè)試中存在的風(fēng)險(xiǎn)。
關(guān)鍵詞:軟件測(cè)試;風(fēng)險(xiǎn)識(shí)別;故障樹(shù)分析法
DOI:10.16640/j.cnki.37-1222/t.2017.22.097
1 前言
軟件測(cè)試是提高軟件產(chǎn)品質(zhì)量最直接、最有效的手段。在軟件測(cè)試過(guò)程中,即使是規(guī)模很小的軟件系統(tǒng),我們也不可能對(duì)系統(tǒng)進(jìn)行覆蓋率為100%的測(cè)試,即存在用戶(hù)發(fā)現(xiàn)軟件缺陷的可能性,這就是測(cè)試風(fēng)險(xiǎn)。軟件測(cè)試風(fēng)險(xiǎn)管理包括行風(fēng)險(xiǎn)管理規(guī)劃、風(fēng)險(xiǎn)識(shí)別、定性和定量風(fēng)險(xiǎn)分析、風(fēng)險(xiǎn)應(yīng)對(duì)規(guī)劃和風(fēng)險(xiǎn)監(jiān)控六個(gè)主要環(huán)節(jié)。其中風(fēng)險(xiǎn)識(shí)別是指在風(fēng)險(xiǎn)事故發(fā)生之前,人們運(yùn)用各種方法系統(tǒng)的、連續(xù)的認(rèn)識(shí)所面臨的各種風(fēng)險(xiǎn)以及分析風(fēng)險(xiǎn)事故發(fā)生的潛在原因。
2 風(fēng)險(xiǎn)管理的研究現(xiàn)狀
風(fēng)險(xiǎn)來(lái)自于未來(lái)的不確定性,風(fēng)險(xiǎn)是指人們?cè)谏a(chǎn)建設(shè)和日常生活中遭遇能導(dǎo)致人身傷亡、財(cái)產(chǎn)受損及其他經(jīng)濟(jì)損失的自然災(zāi)害、意外事故和不可測(cè)事件的可能性。我國(guó)對(duì)于風(fēng)險(xiǎn)問(wèn)題的研究是從風(fēng)險(xiǎn)決策開(kāi)始的,起步較晚,“風(fēng)險(xiǎn)”一詞是在1980年首次由周士康提出來(lái)的。在20世紀(jì)80年代,我國(guó)對(duì)項(xiàng)目風(fēng)險(xiǎn)管理的研究主要是對(duì)項(xiàng)目風(fēng)險(xiǎn)管理的定性描述,到了80年代末期,我國(guó)對(duì)于項(xiàng)目的風(fēng)險(xiǎn)管理才逐步發(fā)展起來(lái),但是針對(duì)軟件測(cè)試的風(fēng)險(xiǎn)管理的論著少之又少。我國(guó)研究的風(fēng)險(xiǎn)管理大部分是針對(duì)軟件開(kāi)發(fā)項(xiàng)目,而不是軟件測(cè)試項(xiàng)目。
3 軟件測(cè)試中風(fēng)險(xiǎn)識(shí)別的重要性
軟件測(cè)試的風(fēng)險(xiǎn)管理的目的是在測(cè)試前對(duì)可能存在的缺陷或工作中導(dǎo)致測(cè)試無(wú)法有效執(zhí)行的可能性進(jìn)行分析,來(lái)合理安排測(cè)試資源活動(dòng),盡量將測(cè)試風(fēng)險(xiǎn)將到最低。測(cè)試的不成功導(dǎo)致導(dǎo)致軟件交付潛藏著問(wèn)題,一旦在運(yùn)行時(shí)爆發(fā),就會(huì)帶來(lái)很大的商業(yè)風(fēng)險(xiǎn)。
測(cè)試風(fēng)險(xiǎn)的管理的第一步就是要識(shí)別出對(duì)測(cè)試項(xiàng)目產(chǎn)生重大影響的測(cè)試風(fēng)險(xiǎn),這就是測(cè)試風(fēng)險(xiǎn)識(shí)別活動(dòng)。事實(shí)上,有很多實(shí)施了風(fēng)險(xiǎn)管理活動(dòng)的測(cè)試項(xiàng)目,仍然會(huì)出現(xiàn)較大的意外而導(dǎo)致測(cè)試項(xiàng)目失敗,其根源就是測(cè)試項(xiàng)目沒(méi)有真正識(shí)別出那些會(huì)對(duì)測(cè)試項(xiàng)目產(chǎn)生危機(jī)的風(fēng)險(xiǎn)。
4 目前常用的風(fēng)險(xiǎn)識(shí)別技術(shù)
常用的風(fēng)險(xiǎn)識(shí)別技術(shù),主要是頭腦風(fēng)暴法、訪談法和風(fēng)險(xiǎn)檢查表法等。
頭腦風(fēng)暴法是指刺激并鼓勵(lì)一群知識(shí)淵博的人員暢所欲言,以發(fā)現(xiàn)潛在的失效模式及相關(guān)為先、風(fēng)險(xiǎn)、決策標(biāo)準(zhǔn)及/或處理辦法。頭腦風(fēng)暴法讓項(xiàng)目相關(guān)的人員都參與,有助于全面溝通,有助于發(fā)現(xiàn)新的風(fēng)險(xiǎn),速度較快并易于開(kāi)展,適合在在風(fēng)險(xiǎn)識(shí)別階段進(jìn)行定性分析。但是頭腦風(fēng)暴法相對(duì)松散,較難保證過(guò)程的全面性;可能會(huì)出現(xiàn)特殊的小組情況,某些有重要觀點(diǎn)的人不愿意提出意見(jiàn)等。
訪談法就是與不同的項(xiàng)目相關(guān)人員進(jìn)行有關(guān)風(fēng)險(xiǎn)的訪談,其結(jié)果將有助于發(fā)現(xiàn)那些在常規(guī)計(jì)劃中未被識(shí)別的風(fēng)險(xiǎn)。該方法是利用被訪談人員的資深背景和工作經(jīng)驗(yàn)來(lái)識(shí)別風(fēng)險(xiǎn),局限性是識(shí)別的風(fēng)險(xiǎn)不夠全面。
風(fēng)險(xiǎn)檢查表法是把測(cè)試項(xiàng)目可能遇到的風(fēng)險(xiǎn)列成表,風(fēng)險(xiǎn)識(shí)別人員對(duì)照表的每一項(xiàng)進(jìn)行判斷,逐個(gè)檢查,該方法的優(yōu)點(diǎn)是簡(jiǎn)單、快速、容易理解、結(jié)果穩(wěn)定,缺點(diǎn)是專(zhuān)業(yè)人員不可能編制一個(gè)全面的檢查表,無(wú)法預(yù)防可能遇到的新風(fēng)險(xiǎn)。
5 故障樹(shù)風(fēng)險(xiǎn)識(shí)別技術(shù)
在研究過(guò)程中,我們發(fā)現(xiàn)安全系統(tǒng)工程中最重要的分析方法故障樹(shù)分析法,能夠應(yīng)用到軟件測(cè)試的風(fēng)險(xiǎn)識(shí)別管理中。故障樹(shù)分析(Fault Tree Analysis,F(xiàn)TA)技術(shù)是美國(guó)貝爾電報(bào)公司的電話(huà)實(shí)驗(yàn)室于1962年開(kāi)發(fā)的,它采用邏輯的方法,形象地進(jìn)行風(fēng)險(xiǎn)的分析工作,特點(diǎn)是直觀、明了,思路清晰,邏輯性強(qiáng),體現(xiàn)了以系統(tǒng)工程方法研究安全問(wèn)題的系統(tǒng)性、準(zhǔn)確性和預(yù)測(cè)性。
我們先使用風(fēng)險(xiǎn)檢查表法分析出所有的直接風(fēng)險(xiǎn)或間接風(fēng)險(xiǎn),然后按照故障樹(shù)分析法把軟件測(cè)試風(fēng)險(xiǎn)視為頂事件,自上而下逐級(jí)一直分析到最底層的風(fēng)險(xiǎn),再把所有的風(fēng)險(xiǎn)按邏輯關(guān)系(與、或等)表達(dá)出來(lái),最后按照故障樹(shù)分析法進(jìn)行定性分析和定量分析,計(jì)算出軟件測(cè)試風(fēng)險(xiǎn)發(fā)生的概率,或者某個(gè)風(fēng)險(xiǎn)發(fā)生的概率。我們稱(chēng)這種先使用風(fēng)險(xiǎn)檢查表法識(shí)別出軟件測(cè)試的風(fēng)險(xiǎn),然后使用故障樹(shù)分析法對(duì)風(fēng)險(xiǎn)進(jìn)行分析的識(shí)別方法稱(chēng)為故障樹(shù)風(fēng)險(xiǎn)識(shí)別技術(shù)。
6 故障樹(shù)風(fēng)險(xiǎn)識(shí)別技術(shù)的應(yīng)用
我們以某個(gè)測(cè)試項(xiàng)目為例,先使用風(fēng)險(xiǎn)表檢查法識(shí)別出來(lái)的風(fēng)險(xiǎn)情況如下:
6.1 定性分析
我們用故障樹(shù)風(fēng)險(xiǎn)識(shí)別技術(shù)的結(jié)構(gòu)法進(jìn)行定性分析計(jì)算最小割集:
A=A1+A2+A3
=X1A4+(A5+A6)+(X5+ A4)
=X1(X2+ X3)+(X4+X5)+(X6+ X5+ X7)+(X2+ X3)
=X1X2+X1X3+ X2+ X3+A4+2X5+X6+ X7
=X2(X1+1)+X3(X1+1)+A4+X5+X6+ X7
= X2+ X3+A4+X5+X6+ X7
這樣我們求出了最小割集是X2、X3、A4、X5、X6、X7,這些事件是對(duì)測(cè)試風(fēng)險(xiǎn)有影響的所有事件,排除了事件X1對(duì)最終測(cè)試風(fēng)險(xiǎn)的影響。
6.2 定量分析
定量分析是在各個(gè)底事件相互獨(dú)立和已知其發(fā)生概率的條件下,求出故障樹(shù)頂事件發(fā)生的概率,根據(jù)計(jì)算結(jié)果與預(yù)定的目標(biāo)值比較,可以確定如何處理該風(fēng)險(xiǎn)。
頂事件發(fā)生概率的計(jì)算公式為:
其中,P(Ai)是事件Ai發(fā)生的概率。
通過(guò)以上分析可以看出,采用故障樹(shù)風(fēng)險(xiǎn)識(shí)別技術(shù)進(jìn)行定性分析,能夠排除很多無(wú)關(guān)的測(cè)試風(fēng)險(xiǎn),有效的減少后期風(fēng)險(xiǎn)分析的工作量,能夠有效改善傳統(tǒng)識(shí)別技術(shù)邏輯性不強(qiáng)、識(shí)別的不夠全面,存在冗余的風(fēng)險(xiǎn)等缺點(diǎn)。另外,故障樹(shù)風(fēng)險(xiǎn)識(shí)別技術(shù)能夠進(jìn)行定量分析,這是傳統(tǒng)的風(fēng)險(xiǎn)識(shí)別方法做不到的。定量分析能夠提供軟件測(cè)試風(fēng)險(xiǎn)或者主要測(cè)試風(fēng)險(xiǎn)發(fā)生的概率,從而更有利的指導(dǎo)后期的風(fēng)險(xiǎn)分析工作。
7 小結(jié)
通過(guò)實(shí)際運(yùn)用和具體分析可以看出,故障樹(shù)風(fēng)險(xiǎn)識(shí)別技術(shù)既能做定性分析又能做定量分析,能夠更有效的識(shí)別軟件測(cè)試中的風(fēng)險(xiǎn),對(duì)以后軟件風(fēng)險(xiǎn)的分析和解決提供更有力的依據(jù)。
參考文獻(xiàn):
[1]魯英.軟件測(cè)試風(fēng)險(xiǎn)分析及其對(duì)策研究[D].上海:上海財(cái)經(jīng)大學(xué),2008.
[2]谷珊.風(fēng)險(xiǎn)管理在軟件測(cè)試項(xiàng)目中的應(yīng)用[D].北京:北京郵電大學(xué),2009.
[3]王杉杉.軟件測(cè)試項(xiàng)目的風(fēng)險(xiǎn)管理[D].北京:北京工業(yè)大學(xué),2011.
[4]楊俊,張素芬.基于模糊評(píng)判的軟件測(cè)試項(xiàng)目風(fēng)險(xiǎn)評(píng)估方法[J].信息化研究,2015,41(05):14-17.
[5]李紅燕,尉雙梅.淺談軟件測(cè)試風(fēng)險(xiǎn)管理[J].電腦知識(shí)與技術(shù),2012,08(11):2518-2520.
作者簡(jiǎn)介:張燕(1981-),女,山東蓬萊人,碩士研究生,主要從事軟件測(cè)試和軟件測(cè)試管理研究。endprint