相同的列構(gòu)成模糊測試點對,獲取擴展依賴矩陣Dx中與測試點T i所在列完全相同的列,進而得到完全相同的列對應(yīng)的測試點[Tk,…,T丄進而得到測試點對[T1, Tk,…,TJ,遍歷所有的測試點,得到所有模糊測試點對,其中,如果在擴展依賴矩陣Dx中,沒有與測試點T1所在列完全相同的列,則測試點T #應(yīng)的模糊測試點對為[T J。如圖2所示為獲取模糊測試點對的流程圖。
[0033](2.2)獲取隱藏測試點對
[0034]隱藏測試點對〈1,[Tk,…,TJ >表示測試點T1能夠測試到測試點對[T k,…,TJ能夠測試到的所有的故障模式,其中,k ^ m ^ i,k = 1,2,3...Ν,ι? = 1,2,3...Ν,i = 1,2, 3...N。
[0035]對應(yīng)到擴展依賴矩陣隊中,測試點T1所在列按位分別邏輯或測試點Tk所在列、…、測試點Tni所在列的結(jié)果是測試點T1所在列,據(jù)此獲取隱藏測試點對。擴展依賴矩陣Dx中,如果第i列的第j行是1,則表示測試點T1能夠檢測故障模式F ,,在擴展依賴矩陣隊中,兩個測試點!\、T,所在列進行按位邏輯或能夠得到兩個測試點能夠測試到的故障模式。在各個模糊測試點對中,分別取一個測試點代表其對應(yīng)的模糊測試點對,得到測試點集合,然后遍歷新得到的測試點集合在擴展依賴矩陣Dx中對應(yīng)的列,如果測試點T1所在列按位分別邏輯或測試點1;所在列、…、測試點Tni所在列的結(jié)果是測試點T i所在列,則得到隱藏測試點對CT1, [Tk,…,TJ>,遍歷新得到的測試點集合,得到所有的隱藏測試點對。如圖3所示為獲取隱藏測試點對的步驟。
[0036](2.3)獲取等效測試點對
[0037]等效測試點對CT1, [Tk,...,!?]>表示測試點T1能夠測試到測試點對[Tk,…,TJ能夠測試到的所有故障模式,并且測試點!\同樣測試不到測試點對[Tk,…,TJ測不到的故障模式,即!\能夠測試到的所有故障,都必須被測試點集合[Tk,…,TJ中至少一個測試測到,在擴展依賴矩陣Dx中,即測試點T #斤在列中所有的I沒有一個不能被測試點集合[Tk,-,TJ所在列覆蓋掉。在各個隱藏測試點對中,分別取一個測試點代表其對應(yīng)的模糊測試點對,得到測試點集合。
[0038](3)獲取測試點故障隔離貢獻率
[0039]本發(fā)明定義測試點故障隔離貢獻率:如果m個測試點在測試時能(或不能)測試出某個故障,而且另外的η個測試點在測試時不能(或能)測試出該故障,那么m個測試點的故障隔離貢獻率為m/(m+n),η個測試點的故障隔離貢獻率為n/(m+n)。
[0040]例如,如果一個測試點能(或不能)測試出某個故障,另外t個測試點不能(或能)測試出某個故障,則此測試點的故障隔離貢獻率為l/(l+t),對應(yīng)到擴展依賴矩陣隊中,如果測試點T1所在列均為l,m列為l,n列為0,則測試點1\的隔離貢獻率為:(m+1) / (m+n+1),其中,t = 1,2,3…N,η = 1,2,3…N。
[0041](4)完成綜合測試點集合推薦
[0042]本發(fā)明方法在測試點推薦過程中,能夠?qū)M足最高檢測率、隔離率的最精簡測試點推薦出來,具體測試點推薦方法如圖4所示,步驟如下:
[0043](4.1)從測試點集合中選取能夠滿足最大故障檢測率的最簡測試點集合
[0044]根據(jù)步驟(2.3)獲取得到的等效測試點對、未被任何等效測試點對包含的測試點(包括兩個部分:能夠檢測到的故障模式不能被任何測試點隱藏,也未隱藏任何測試點的測試點;不是等效測試點對的部分隱藏測試點對),得到能夠滿足最大故障檢測率的最簡測試點集合,加上之前冗余測試點獲取策略規(guī)則,該集合能夠保證獲取的測試點集合是最簡的測試點集合,其中,最簡測試點集合中包含所有的等效測試點對、能夠檢測到的故障模式不能被任何測試點隱藏且也未隱藏任何測試點的測試點、不是等效測試點對的部分隱藏測試點對。
[0045](4.2)在最簡的測試點集合中,對于每個等效測試點對,選取具有最大故障隔離貢獻率的測試點對的元素,加入最終測試點集合,遍歷所有等效測試點對;先按照步驟(3)更新所有測試點的隔離貢獻率,然后對于所有等效測試點對,分別獲取具有最大隔離貢獻率的測試點或測試點集合。例如對于等效測試點對CT1, [Tk,…,TJ>,如果1\的隔離貢獻率大于[Tk,…,TJ的隔離貢獻率,則取!\加入最終測試點集合,否則取[T k,…,TJ加入最終測試點集合。
[0046](4.3)將最簡測試點集合中的能夠檢測到的故障模式不能被任何測試點隱藏且也未隱藏任何測試點的測試點、不是等效測試點對的部分隱藏測試點對加入最終測試點集合,遍歷最簡測試點集合得到最終測試點集,該測試點集合為能夠達到最高檢測率、覆蓋率的最簡化集合。最終測試點結(jié)果集合,即為能夠達到最高檢測率、隔離率的最簡化測試點集入口 ο
[0047](5)將最終測試點集合中的測試點作為當(dāng)前系統(tǒng)測試時的測試點。本發(fā)明一種基于擴展依賴矩陣的系統(tǒng)測試點選取方法,通過對測試點檢測率、隔離貢獻率的定量評價,實現(xiàn)冗余測試點對的分組和隔離測試點對的優(yōu)先排序,對測試點進行定量分析,為系統(tǒng)性能測試領(lǐng)域中的測試點推薦提供了一種參考方法。
[0048]本發(fā)明說明書中未作詳細描述的內(nèi)容屬本領(lǐng)域技術(shù)人員的公知技術(shù)。
【主權(quán)項】
1.一種基于擴展依賴矩陣的系統(tǒng)測試點選取方法,其特征在于包括如下步驟: (1)獲取所有可以放置測試的測試點,將測試點記為T1,進而得到測試點的集合Tpsb,然后獲取所有故障模式,將故障模式記為F,,進而得到故障模式的集合F,其中,i = 1,2,3…N,j = 1,2,3吣1 N為測試點的數(shù)量,M為故障模式的數(shù)量; (2)判斷測試點T1能否檢測故障模式F,,如果測試點T1能夠檢測故障模式F ,,則擴展依賴矩陣Dx中第i行第j列的量為1,如果如果測試點T1不能夠檢測故障模式F ,,則擴展依賴矩陣隊中第i行第j列的量為O,遍歷所有的測試點及故障模式,得到M行N列的擴展依賴矩陣Dx; (3)在擴展依賴矩陣仏中,獲取與測試點T1對應(yīng)列完全相同的列,進而得到完全相同的列對應(yīng)的測試點[Tk,…,TJ,得到模糊測試點對[T1, Tk,…,TJ,遍歷所有測試點得到所有的模糊測試點對; (4)在各個模糊測試點對中,分別取一個測試點代表當(dāng)前模糊測試點對,得到一個測試點集合,遍歷該測試點集合中測試點在擴展依賴矩陣Dx中對應(yīng)的列,如果測試點T瀝在列按位分別邏輯或測試點1;所在列、…、測試點Tni所在列的結(jié)果是測試點T i所在列,則得到隱藏測試點對CT1, [Tk,…,TJ >,遍歷該測試點集合,得到所有的隱藏測試點對; (5)在隱藏測試點對CT1,[Tk, -,TJ>中,如果測試點!\能夠測試到的所有故障均能測試點集合[Tk,...,!?]中至少一個測試到,則得到等效測試點對CT1, [Tk,...,!?]>,遍歷所有的隱藏測試點對,得到所有的等效測試點對; (6)遍歷所有測試點,將所有的等效測試點對、能夠檢測到的故障模式不能被任何測試點隱藏且也未隱藏任何測試點能夠檢測到的故障模式的測試點、不是等效測試點對的部分隱藏測試點對加入最簡的測試點集合,得到最簡測試點集合; (7)對于最簡測試點集合中的等效測試點對CT1,[Tk,…,TJ>,計算測試點T1、測試點集合[Tk,...,!?]的隔離貢獻率,如果測試點!\的隔離貢獻率大于測試點集合[T ,,...,!?]的隔離貢獻率,則將1\加入最終測試點集合,否則將測試點集合[T k,…,TJ加入最終測試點集合,然后將最簡測試點集合中的每個能夠檢測到的故障模式不能被任何測試點隱藏且也沒有隱藏任何測試點的測試點、不是等效測試點對的部分隱藏測試點對加入最終測試點集合,遍歷最簡測試點集合,形成最終測試點集合;所述的隔離貢獻率為:如果m個測試點在測試時能測試出某個故障模式,且另外的η個測試點在測試時不能測試出該故障,則m個測試點的故障隔離貢獻率為m/(m+n),η個測試點的故障隔離貢獻率為n/(m+n); (8)將最終測試點集合中的測試點作為當(dāng)前系統(tǒng)測試時的測試點。
【專利摘要】一種基于擴展依賴矩陣的系統(tǒng)測試點選取方法,首先根據(jù)測試點能夠檢測到的故障模式,獲取擴展依賴矩陣Dx;然后按順序分別獲取模糊測試點對集、隱藏測試點對集和等效測試點對集,并得到最簡測試點集合,最后根據(jù)故障隔離貢獻率、最簡測試點集合得到最高檢測率的最終測試點集合,完成綜合測試點推薦。本發(fā)明方法與現(xiàn)有技術(shù)相比,克服了現(xiàn)有技術(shù)對所有測試點未加分類處理、統(tǒng)一低效處理的缺陷,指導(dǎo)如何添加測試點,在保證故障覆蓋率的同時,精簡了最終測試點集合。
【IPC分類】G06F17/50
【公開號】CN105022864
【申請?zhí)枴緾N201510373452
【發(fā)明人】冀會芳, 丁宗杰, 武占峰, 鄭竹萌, 田樹亮, 鄭小萌
【申請人】北京軒宇信息技術(shù)有限公司
【公開日】2015年11月4日
【申請日】2015年6月30日