欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種功能覆蓋率測試度量系統(tǒng)和方法

文檔序號:6563326閱讀:372來源:國知局
專利名稱:一種功能覆蓋率測試度量系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及電子及通信領(lǐng)域的測試技術(shù),特別是涉及一種功能覆蓋率測試度量系統(tǒng)和方法。
背景技術(shù)
在電子及通信軟件系統(tǒng)測試領(lǐng)域,通常都是用代碼覆蓋進行測試,代碼覆蓋無論是概念還是在得到電子設(shè)計自動化(Electronic Design Automotic,EDA)工具的支持方面,都已經(jīng)非常成熟,代碼覆蓋率的度量在設(shè)計與測試激勵確定以后就唯一確定了,然而,盡管能夠達到100%的代碼覆蓋率,但在測試的過程中,測試人員還是不能肯定所設(shè)計的被測對象(Device Under Test,DUT)是否已經(jīng)不存在問題。這是因為在代碼覆蓋測試中被測試的僅僅是代碼自身,測試人員并不知道,在測試的過程中,是否已經(jīng)輸入了所有的激勵,并已經(jīng)接收了所有可能的結(jié)果,同時,被測對象的狀態(tài)是否都已經(jīng)訪問,所有的內(nèi)部轉(zhuǎn)換是否都出現(xiàn)了,感興趣的事件是否發(fā)生等等問題。
針對這些問題,業(yè)界提出了功能覆蓋的概念,功能覆蓋的定義為來自設(shè)備和測試計劃規(guī)格的清晰的功能需求。相對于代碼覆蓋而言,功能覆蓋是一個比較新的概念,功能覆蓋率的度量因功能覆蓋率代碼的不同而不同,所以功能覆蓋在度量實現(xiàn)上并不如代碼覆蓋率那么清晰和容易界定。
在功能覆蓋率度量的實現(xiàn)上,由于功能覆蓋率來自于功能需求,功能需求(測試點)都以文檔的方式來描述。
目前廣泛采用的文檔標記功能覆蓋率的方法是在文檔上標明功能點,并輔之以相應(yīng)的驗證用例,當(dāng)一個驗證用例通過了,就表示該驗證用例對應(yīng)的功能點被覆蓋了,于是在文檔上進行標記,最后測試人員根據(jù)文檔的標記情況來統(tǒng)計整個測試項目的覆蓋率情況。
這種方法存在著明顯不足之處第一,因度量方式是手工操作,標記、統(tǒng)計起來都很是麻煩,而且往往會遺漏對一些功能點的標記和統(tǒng)計;第二,功能需求容易與實際代碼脫節(jié),不能夠緊密耦合,一旦需求或者實際代碼改變,文檔中記錄的功能點就需要改變功能描述語句和重新標記。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出的一種的功能覆蓋率測試度量系統(tǒng)和方法,該系統(tǒng)和方法能夠在EDA工具中實現(xiàn),并可以對驗證用例和被測對象功能覆蓋率進行自動統(tǒng)計。
為實現(xiàn)本發(fā)明目的而提供的一種功能覆蓋率測試度量系統(tǒng),包括總線功能單元,用于輸出被測對象產(chǎn)生的測試請求;激勵單元,用于接收所述測試請求并進行轉(zhuǎn)發(fā),以及根據(jù)所述測試請求產(chǎn)生并輸出驗證用例;主控臺,用于接收所述激勵單元產(chǎn)生的驗證用例和轉(zhuǎn)發(fā)的測試請求,并根據(jù)測試請求對激勵事件進行測試,輸出測試結(jié)果;結(jié)果分析單元,用于接收所述測試結(jié)果進行分析,并輸出分析結(jié)果;驗證用例功能覆蓋率統(tǒng)計單元,用于通過所述分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個度量要素參數(shù)的功能覆蓋得分得到驗證用例的功能覆蓋率;以及被測對象功能覆蓋率統(tǒng)計單元,用于通過所述分析結(jié)果,計算出被測對象的各個測試層的功能覆蓋得分,得到被測對象的功能覆蓋率。
所述驗證用例功能覆蓋率統(tǒng)計單元包括要素參數(shù)設(shè)置單元,用于按功能處理過程為驗證用例設(shè)置功能覆蓋率集合要素參數(shù),對象要素參數(shù)和片段要素參數(shù);片段得分計算單元,用于計算片段的覆蓋情況和目標值的比值,并與1比較大小后輸出其中的較小值做為片段的得分;對象得分計算單元,用于根據(jù)一個對象下所有片段的得分及對應(yīng)的權(quán)重,計算出所述對象的得分并輸出;功能覆蓋率集合得分計算單元,用于根據(jù)一個驗證用例下所有對象的得分及對應(yīng)的權(quán)重,計算出所述驗證用例的功能覆蓋率。
所述驗證用例功能覆蓋率統(tǒng)計單元還包括
第一權(quán)重賦值單元,用于為片段和對象賦予權(quán)重值。
所述被測對象功能覆蓋率統(tǒng)計單元包括測試層劃分單元,用以將被測對象劃分為片段測試層、測試點測試層、驗證特性測試層和需求規(guī)格測試層;片段測試層得分計算單元,用于計算片段的覆蓋情況和目標值的比值,并與1比較大小后輸出其中的較小值做為片段測試層的得分;測試點測試層得分計算單元,用于根據(jù)一個測試點測試層中所有片段得分及對應(yīng)的權(quán)重,計算出所述測試點測試層的得分并輸出;驗證特性測試層得分計算單元,用于根據(jù)一個驗證特性測試層中所有片段的得分及對應(yīng)的權(quán)重,計算出所述驗證特性測試層的得分并輸出;需求規(guī)格測試層得分計算單元,用于根據(jù)一個需求規(guī)格測試層中所有片段的得分及對應(yīng)的權(quán)重,計算出所述驗證特性測試層的得分并輸出;測試點通過率計算單元,用于根據(jù)通過的測試點數(shù)目和測試點總數(shù)計算出測試點通過率,得到被測對象的功能覆蓋率。
所述被測對象功能覆蓋率統(tǒng)計單元還包括第二權(quán)重賦值單元,用于為片段賦予權(quán)重值。
為實現(xiàn)本發(fā)明目的還提供了一種功能覆蓋率測試度量方法,包括下列步驟步驟A)根據(jù)每個被測對象的功能將被測對象分解為多個測試點,并由被測對象發(fā)出測試請求,利用驗證用例對測試點進行驗證測試,得到分析結(jié)果;步驟B)利用分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的覆蓋得分,得到驗證用例的功能覆蓋率,并根據(jù)測試點中的被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測對象各個測試層的量化得分,得到被測對象的功能覆蓋率。
所述步驟A)之前進一步包括下列步驟步驟A1)根據(jù)被測對象設(shè)計具體的驗證用例,存儲在激勵單元中;同時,根據(jù)驗證用例的功能處理過程,劃分出多個功能覆蓋率的基本度量要素參數(shù)。
所述步驟A1)包括下列步驟
根據(jù)被測對象的功能將被測對象劃分為四個測試層,分別是需求規(guī)格測試層、驗證特性測試層、測試點測試層、被測片段測試層四個測試層;根據(jù)驗證用例的功能處理過程,為驗證用例設(shè)置功能覆蓋率集合要素參數(shù)、對象要素參數(shù)、度量片段要素參數(shù)。
所述步驟B)包括下列步驟步驟B1)利用分析結(jié)果,根據(jù)測試點中的被測片段被驗證用例命中的情況,收集到與驗證用例對應(yīng)的被命中的被測片段,計算度量片段覆蓋情況;步驟B2)以驗證用例對被測對象的功能覆蓋率為基準,根據(jù)度量片段的覆蓋情況,計算驗證用例的得分,得到驗證用例的功能覆蓋率,以及根據(jù)被測片段被命中的情況,計算出被測對象的得分,得到被測對象的功能覆蓋率。
所述步驟B2)中以驗證用例對被測對象的功能覆蓋率為基準,根據(jù)度量片段的覆蓋情況,計算驗證用例的得分,得到驗證用例的功能覆蓋率,具體包括下列步驟步驟B21)計算驗證用例覆蓋的對象中包含的所有度量片段的得分;步驟B22)計算驗證用例覆蓋的功能覆蓋率集合中包含的所有對象的得分,得到驗證用例的得分。
所述步驟B2)中根據(jù)被測片段被命中的情況,計算出被測對象的得分,得到被測對象的功能覆蓋率具體包括下列步驟步驟B31)根據(jù)被測對象中被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測片段測試層的功能覆蓋率;步驟B32)根據(jù)被測對象中測試點測試層中包含的所有片段的功能覆蓋率,計算測試點測試層的功能覆蓋率;步驟B33)根據(jù)被測對象中驗證特性測試層中包含的所有片段的功能覆蓋率,計算驗證特性測試層的功能覆蓋率;步驟B34)根據(jù)被測對象中需求規(guī)格測試層中包含的所有片段的功能覆蓋率,計算需求規(guī)格測試層的功能覆蓋率,然后計算出被測對象的所有測試點的通過率,得到被測對象的功能覆蓋率。
本發(fā)明的有益效果是通過本發(fā)明中的基于測試點的功能覆蓋率測試度量系統(tǒng)和方法得出功能覆蓋率數(shù)據(jù),可以為測試項目的驗證充分性提供定量評價標準和依據(jù);利用集成了功能覆蓋率度量模型的驗證平臺,驗證人員使用本系統(tǒng)可以迅速建立起高效的驗證環(huán)境,減少驗證環(huán)境建立時間,提高驗證質(zhì)量,實現(xiàn)仿真驗證的自動化。


圖1是本發(fā)明功能覆蓋率測試度量系統(tǒng)示意圖;圖2是本發(fā)明被測對象需求規(guī)格分解示意圖;圖3是本發(fā)明功能覆蓋率測試度量方法流程圖;圖4是本發(fā)明驗證用例與被測對象分層驗證測試示意圖。
具體實施例方式
下面結(jié)合附圖1~4進一步詳細說明本發(fā)明的一種功能覆蓋率測試度量系統(tǒng)和方法。其對于功能覆蓋率的測試度量方法,在操作上,如EDA工具希望的一樣,向代碼覆蓋率靠攏,使用可執(zhí)行的語言描述功能需求,再由仿真工具在仿真時自動判斷所描述的功能需求是否覆蓋,實現(xiàn)自動執(zhí)行和統(tǒng)計驗證用例和測試目標(被測對象)的功能覆蓋率的操作。
如圖1所示,本發(fā)明一種功能覆蓋率測試度量系統(tǒng)包括主控臺1,總線功能單元(BFM)3,激勵單元2,結(jié)果分析單元4,驗證用例功能覆蓋率統(tǒng)計單元5,以及被測對象功能覆蓋率統(tǒng)計單元6。
其中總線功能單元3,用于輸出被測對象產(chǎn)生的測試請求;激勵單元2,用于接收所述測試請求并進行轉(zhuǎn)發(fā),以及根據(jù)所述測試請求產(chǎn)生并輸出驗證用例;主控臺1,用于接收所述激勵單元2產(chǎn)生的驗證用例和轉(zhuǎn)發(fā)的測試請求,并根據(jù)測試請求對激勵事件進行測試,輸出測試結(jié)果;結(jié)果分析單元4,用于接收所述測試結(jié)果進行分析,并輸出分析結(jié)果;驗證用例功能覆蓋率統(tǒng)計單元5,用于通過所述分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個度量要素參數(shù)的功能覆蓋得分得到驗證用例的功能覆蓋率;進一步地,所述驗證用例功能覆蓋率統(tǒng)計單元包括要素參數(shù)設(shè)置單元,用于按功能處理過程為驗證用例設(shè)置功能覆蓋率集合要素參數(shù),對象要素參數(shù)和片段要素參數(shù);片段得分計算單元,用于計算片段的覆蓋情況和目標值的比值,并與1比較大小后輸出其中的較小值做為片段的得分;對象得分計算單元,用于根據(jù)一個對象下所有片段的得分及對應(yīng)的權(quán)重,計算出所述對象的得分并輸出;功能覆蓋率集合得分計算單元,用于根據(jù)一個驗證用例下所有對象的得分及對應(yīng)的權(quán)重,計算出所述驗證用例的功能覆蓋率;此外驗證用例功能覆蓋率統(tǒng)計單元5還可以包括第一權(quán)重賦值單元,用于為片段和對象賦予權(quán)重值。在驗證用例功能覆蓋率統(tǒng)計單元5未包括第一權(quán)重賦值單元時,片段權(quán)重值均一樣,對象權(quán)重值也均一樣;在驗證用例功能覆蓋率統(tǒng)計單元5包括第一權(quán)重賦值單元時,片段、對象權(quán)重值采用第一權(quán)重賦值單元提供的賦值。
被測對象功能覆蓋率統(tǒng)計單元6,用于通過所述分析結(jié)果,計算出被測對象的各個測試層的功能覆蓋得分,得到被測對象的功能覆蓋率。
進一步地,所述被測對象功能覆蓋率統(tǒng)計單元包括測試層劃分單元,用以將被測對象劃分為片段測試層、測試點測試層、驗證特性測試層和需求規(guī)格測試層;片段測試層得分計算單元,用于計算片段的覆蓋情況和目標值的比值,并與1比較大小后輸出其中的較小值做為片段測試層的得分;測試點測試層得分計算單元,用于根據(jù)一個測試點測試層中所有片段得分及對應(yīng)的權(quán)重,計算出所述測試點測試層的得分并輸出;驗證特性測試層得分計算單元,用于根據(jù)一個驗證特性測試層中所有片段的得分及對應(yīng)的權(quán)重,計算出所述驗證特性測試層的得分并輸出;需求規(guī)格測試層得分計算單元,用于根據(jù)一個需求規(guī)格測試層中所有片段的得分及對應(yīng)的權(quán)重,計算出所述驗證特性測試層的得分并輸出;測試點通過率計算單元,用于根據(jù)通過的測試點數(shù)目和測試點總數(shù)計算出測試點通過率,得到被測對象的功能覆蓋率;此外,被測對象功能覆蓋率統(tǒng)計單元6還可以包括第二權(quán)重賦值單元,用于為片段賦予權(quán)重值。在被測對象功能覆蓋率統(tǒng)計單元6未包括第二權(quán)重賦值單元時,片段權(quán)重值均一樣;在被測對象功能覆蓋率統(tǒng)計單元6包括第二權(quán)重賦值單元時,片段權(quán)重值采用第二權(quán)重賦值單元提供的賦值。
在測試過程中,被測對象(DUT)通過總線功能單元3向激勵單元2發(fā)出測試請求。激勵單元2在收到被測對象發(fā)出的測試請求后,通知主控臺1,并把收到的測試請求上交給主控臺1。同時,激勵單元2根據(jù)測試請求向主控臺1發(fā)出激勵事件,主控臺1對激勵事件進行測試,并將測試結(jié)果傳送到結(jié)果分析單元4進行結(jié)果分析。
被測對象(DUT)指被測試的對象,即測試目標。
激勵事件即為給被被測對象的輸入驗證數(shù)據(jù),即驗證用例,其由激勵單元2發(fā)起,發(fā)起的過程為激勵單元2向主控臺1發(fā)一個激勵請求的信號。
在激勵單元2產(chǎn)生激勵事件和結(jié)果分析單元4對結(jié)果分析過程中,主控臺1通過激勵事件觸發(fā)功能覆蓋率統(tǒng)計單元5配合進行功能覆蓋率測試。
主控臺1是一個控制模塊,對激勵單元2和結(jié)果分析單元4起控制和協(xié)調(diào)作用。
總線功能單元3將測試請求發(fā)送到激勵單元2,請求激勵單元2發(fā)送激勵事件(即驗證用例)到主控臺1;然后,激勵單元2根據(jù)配置(即當(dāng)前的狀態(tài),如發(fā)送數(shù)據(jù)的帶寬),決定是否發(fā)送激勵事件到主控臺1,如果此時發(fā)送激勵事件的帶寬在預(yù)期的范圍內(nèi),則允許發(fā)送;如果超出預(yù)期范圍則不發(fā)送,給總線功能單元3返回一個等待的信號。
如果可以發(fā)送數(shù)據(jù),則激勵單元2生成相應(yīng)的激勵事件,發(fā)送給主控臺1進行測試,同時對返回給結(jié)果分析單元4的分析結(jié)果,通過驗證用例功能覆蓋率統(tǒng)計單元5和被測對象功能覆蓋率統(tǒng)計單元6進行驗證用例和被測對象的功能覆蓋率統(tǒng)計;如果不能發(fā)送數(shù)據(jù),激勵單元2返回給總線功能單元(BFM)3一個延時數(shù)據(jù),也就是等待的信號,總線功能單元(BFM)3在延時完成之后,再次向激勵單元2申請報文,即發(fā)送測試請求。
結(jié)果分析單元4根據(jù)主控臺1的配置和控制,接收測試數(shù)據(jù)。結(jié)果分析單元4在接收到測試數(shù)據(jù)后,進行分析得到分析結(jié)果;最后通過驗證用例功能覆蓋率統(tǒng)計單元5和被測對象功能覆蓋率統(tǒng)計單元6對分析結(jié)果進行統(tǒng)計,得到驗證用例和被測對象的功能覆蓋率得分。
具體的,本發(fā)明的驗證用例功能覆蓋率統(tǒng)計單元5,利用分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的覆蓋得分,得到驗證用例的功能覆蓋率;同時和被測對象功能覆蓋率統(tǒng)計單元6根據(jù)測試點中的被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測對象各個測試層的量化得分,得到被測對象的功能覆蓋率。
如圖2所示,對被測對象的需求規(guī)格進行逐層分解,最后分解為測試點,并根據(jù)測試點設(shè)計具體的驗證用例,存儲在激勵單元2中。
當(dāng)進行測試時,激勵單元2根據(jù)總線功能單元3的請求,產(chǎn)生并發(fā)送驗證用例(即激勵事件數(shù)據(jù)),在主控臺1對被測對象進行驗證測試,在結(jié)果分析單元4進行分析,得到驗證用例和被測對象的分析結(jié)果。通過驗證用例功能覆蓋率統(tǒng)計單元5和被測對象功能覆蓋率統(tǒng)計單元6對驗證用例和被測對象的分析結(jié)果進行量化,根據(jù)驗證用例和被測對象的量化得分,從而測量出具體驗證用例和被測對象的功能覆蓋率,即通過利用分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的覆蓋得分,得到驗證用例的功能覆蓋率;同時根據(jù)測試點中的被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測對象各個測試層的量化得分,得到被測對象的功能覆蓋率。
如圖3所示,下面進一步詳細說明本發(fā)明的功能覆蓋率測試度量方法步驟1)根據(jù)被測對象的需求規(guī)格設(shè)計具體的驗證用例,存儲在激勵單元2中,同時,根據(jù)驗證用例的功能處理過程,劃分出多個功能覆蓋率的基本度量要素參數(shù);作為本發(fā)明的實施例,可以將被測對象進行逐層分解如下步驟11)根據(jù)被測對象的功能將被測對象劃分為四個測試層,分別是需求規(guī)格測試層(Spec)、驗證特性測試層(Feature)、測試點測試層(Testcase)、被測片段測試層四個測試層;如圖2所示,首先,將被測對象的需求規(guī)格(Spec)分解為驗證特性(Feature),所屬驗證特性是具有同一特征的規(guī)格的集合,是被測對象某一功能特征的集合,其中也包含被測對象隱含的特性。
其中,需求規(guī)格是指被測對象在功能、性能、應(yīng)用環(huán)境等方面,事先約定能夠達到的指標。
然后,將驗證特性分解為測試點(Testcase),測試點是指驗證特性中每一個不能再細分的功能需求項。
最后,測試點有一個或者多個被測片段,即被測對象的每個測試點(Testcase)中可以有一個或者多個被測片段;根據(jù)被測片段設(shè)計具體的驗證用例(Test),就可以利用驗證用例度量每個被測對象的功能覆蓋率。
驗證用例是針對測試點的被測片段而設(shè)計的包含測試輸入,執(zhí)行條件和期望結(jié)果的集合,用于通過執(zhí)行特定的程序以驗證測試點的功能是否和需求規(guī)格相一致。
被測對象的測試點是一個不能再細分的功能需求項,對應(yīng)著被測對象的某項功能。測試點和驗證用例的關(guān)系可以是一對一的關(guān)系,還可以是一對多或多對一的關(guān)系,即一個驗證用例可以對應(yīng)測試一個測試點,也可以是多個驗證用例測試同一個測試點,還可以是在一個驗證用例測試多個測試點。
根據(jù)被測對象的需求規(guī)格,不一定只將被測對象分為被測對象需求規(guī)格、驗證特性、測試點和被測片段多個層次,也可根據(jù)實際情況分為任意個層次,這些測試層次之間是相對的,沒有嚴格的劃分標準,本發(fā)明中,通過被測對象的需求規(guī)格進行分解,得到測試點,再根據(jù)測試點的一個或者多個被測片段,設(shè)計具體的驗證用例,用于對被測對象的功能覆蓋率測試。
在利用驗證用例對被測對象進行測試時,通過對測試結(jié)果進行量化,根據(jù)量化的結(jié)果對被測對象的功能覆蓋率進行度量。
步驟12)同時,根據(jù)驗證用例的功能處理過程,可以為驗證用例設(shè)置多個功能覆蓋率的基本度量要素參數(shù),用于通過驗證用例對被測對象進行測試得到的分析結(jié)果,度量出驗證用例的功能覆蓋率。
如圖4所示,根據(jù)驗證用例的功能處理過程,可以為驗證用例設(shè)置多個功能覆蓋率的基本度量要素參數(shù),將其設(shè)置在驗證用例功能覆蓋率統(tǒng)計單元5中,用于度量驗證用例對被測對象的功能覆蓋率,這些基本度量要素參數(shù)包括功能覆蓋率集合要素參數(shù);對象要素參數(shù);度量片段要素參數(shù)度量要素參數(shù)一功能覆蓋率集合要素參數(shù)功能覆蓋率集合要素參數(shù)物理意義一個功能覆蓋率集合中包含多個對象,并且和一個激勵事件(驗證用例)進行對應(yīng)。
在邏輯仿真過程中,當(dāng)一個功能覆蓋率集合對應(yīng)的激勵事件(驗證用例)觸發(fā)時,就可以收集該功能覆蓋率集合中所有的對象被命中情況的相關(guān)數(shù)據(jù)。
度量要素參數(shù)二對象要素參數(shù)對象要素參數(shù)的物理意義是被測對象在一個功能處理過程中所涉及的、有明確物理意義的相關(guān)要素參數(shù);被測對象通常是由FPGA/ASIC(FPGAField Programmable Gate Array現(xiàn)場可編程門陣列,ASICApplication Specific Integrated Circuit特定用途集成電路)技術(shù)來實現(xiàn)的,被測對象在一個功能處理過程中相關(guān)的一些要素,比如“報文長度校驗”功能(即判斷報文長度是否在合法范圍內(nèi))和報文長度相關(guān),那么報文長度就是相關(guān)要素,即為對象(Object)。
對象由多個基礎(chǔ)對象(BaseObject)構(gòu)成。對象可以分為基本對象(BasicObject)、交叉對象(CrossObject)和序列對象(SequenceObject)三種類型。
基礎(chǔ)對象是構(gòu)造基本對象、交叉對象和序列對象的基礎(chǔ)元素,即其它三種對象(Object)都是由基礎(chǔ)對象(BaseObject)構(gòu)成的,其中基本對象(BasicObject)是表示一維的驗證空間,由一種基礎(chǔ)對象(BaseObject)構(gòu)成;交叉對象(CrossObject)表示多維的驗證空間,由兩種或兩種以上的基礎(chǔ)對象(BaseObject)構(gòu)成;序列對象(SequenceObject)表示和時間相關(guān)的驗證空間,由一種或多種基礎(chǔ)對象(BaseObject)構(gòu)成。
其中,可以認為基本對象是交叉對象的一個特例。
在大規(guī)模的邏輯測試中,典型的對象實例有A、單個有明確物理意義的信號(如中斷信號);B、輸入數(shù)據(jù)包中需要關(guān)心的域(如互聯(lián)網(wǎng)協(xié)議IP)包中循環(huán)冗余碼校驗CRC域);C、輸入數(shù)據(jù)流的抽象的特性參數(shù)(如包長);D、內(nèi)部邏輯或輸出的某種處理;E、驗證用例的某類配置,如不同的工作模式。
度量要素參數(shù)三度量片段要素參數(shù)度量片段要素參數(shù)的物理意義是根據(jù)等價類測試工程方法定義的對象的范圍,在這個范圍中包含了對象所有可能出現(xiàn)的結(jié)果,每一個范圍為一個度量片段。一個對象中包含一個或者多個度量片段。和對象的三種類型相對應(yīng),度量片段分為基本度量片段、交叉度量片段和順序度量片段三種類型。
同時,對于被測對象而言,每個測試點中有一個或者多個被測片段,對應(yīng)地,每個驗證用例中有一個或者多個度量片段。
當(dāng)被測對象利用驗證用例的測試,其測試結(jié)果落在某個已經(jīng)定義的被測片段范圍內(nèi),即被測片段被命中一次時,稱度量片段被覆蓋(Hit)1次。
在大規(guī)模邏輯測試中,典型的度量片段實例有A、中斷信號有效、無效;B、校驗(CRC)對、錯;C、包長長包、短包、超長包、超短包、典型長度包;D、包過濾處理的所有路徑路徑1、路徑2、……E、輸出處理方式0、方式1、……通過度量片段將被測對象的測試點和驗證用例聯(lián)系起來,因此,度量片段要素參數(shù)是驗證用例功能覆蓋率統(tǒng)計單元5的基本度量元素參數(shù)。
因此,驗證用例的功能覆蓋率可以以度量片段要素的得分(Score)情況進行量化,得分的取值范圍為0到1之間(包括0和1)。得分為1時稱之為完全覆蓋到或達到目標,得分為0時稱之為完全沒有覆蓋到或沒有達到覆蓋,介于0和1之間稱之為部分覆蓋到或部分達到覆蓋。
步驟2)根據(jù)每個被測對象的功能將被測對象分解為多個測試點,并由被測對象發(fā)出測試請求,利用驗證用例對測試點進行驗證測試,得到分析結(jié)果;在測試過程中,被測對象(DUT)通過總線功能單元3向激勵單元2發(fā)出測試請求。激勵單元2在收到被測對象發(fā)出的測試請求后,通知主控臺1,并把收到的測試請求上交給主控臺1。同時,激勵單元2根據(jù)測試請求向主控臺1發(fā)出激勵事件,主控臺1對激勵事件進行測試,并將測試結(jié)果傳送到結(jié)果分析單元4進行結(jié)果分析得到分析結(jié)果。
總線功能單元3將測試請求發(fā)送到激勵單元2,請求激勵單元2發(fā)送激勵事件(即驗證用例)到主控臺1;然后,激勵單元2根據(jù)配置(即當(dāng)前的狀態(tài),如發(fā)送數(shù)據(jù)的帶寬),決定是否發(fā)送激勵事件到主控臺1,如果此時發(fā)送激勵事件的帶寬在預(yù)期的范圍內(nèi),則允許發(fā)送;如果超出預(yù)期范圍則不發(fā)送,給總線功能單元3返回一個等待的信號。
如果可以發(fā)送數(shù)據(jù),則激勵單元2生成相應(yīng)的激勵事件數(shù)據(jù),發(fā)送給主控臺1進行測試;如果不能發(fā)送數(shù)據(jù),激勵單元2返回給總線功能單元(BFM)3一個延時數(shù)據(jù),總線功能單元(BFM)3在延時完成之后,再次向激勵單元2申請報文。
結(jié)果分析單元4根據(jù)主控臺1的配置和控制,接收結(jié)果數(shù)據(jù)。結(jié)果分析單元4在接收到結(jié)果數(shù)據(jù)后,進行分析得到分析結(jié)果。
步驟3)利用分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的覆蓋得分,得到驗證用例的功能覆蓋率,并根據(jù)測試點中的被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測對象各個測試層的量化得分,得到被測對象的功能覆蓋率。
步驟31)利用分析結(jié)果,根據(jù)測試點中的被測片段被驗證用例命中的情況,收集到與驗證用例(即激勵事件)對應(yīng)的被命中的被測片段,計算度量片段覆蓋情況;步驟32)驗證用例功能覆蓋率統(tǒng)計單元5以驗證用例對被測對象的功能覆蓋率為基準,根據(jù)度量片段的覆蓋情況,計算的驗證用例的得分,得到驗證用例的功能覆蓋率;當(dāng)被測對象利用驗證用例的測試,其測試結(jié)果落在某個已經(jīng)定義的被測片段范圍內(nèi),即被測片段被命中一次時,稱度量片段被覆蓋(Hit)1次。
驗證用例的功能覆蓋率可以以度量片段要素的得分(Score)情況進行量化,得分的取值范圍為0到1之間(包括0和1)。得分為1時稱之為完全覆蓋到或達到目標,得分為0時稱之為完全沒有覆蓋到或沒有達到覆蓋,介于0和1之間稱之為部分覆蓋到或部分達到覆蓋。
根據(jù)被命中的被測片段數(shù)據(jù),確定覆蓋的基礎(chǔ)度量片段、交叉度量片段和序列度量片段,得到對應(yīng)的基礎(chǔ)對象、交叉對象和序列對象的覆蓋情況;根據(jù)基礎(chǔ)對象、交叉對象(CrossObject)、序列對象(SequenceObject)的覆蓋情況,進一步得到驗證用例總的功能覆蓋率集合,從而得到驗證用例的得分情況;對象的覆蓋情況是通過度量片段的覆蓋情況來統(tǒng)計的,當(dāng)對象中的相應(yīng)度量片段被覆蓋時,相應(yīng)對象的覆蓋數(shù)(Hits)加1。
對于每個驗證用例,在定義時確定一個重要級別,如將驗證用例分為高、中、低三個級別,每個級別對應(yīng)著一個權(quán)重(Weight),如高為5,中為3,低為1。通過對驗證用例定義重要級別,可以對每個驗證用例的重要程度進行區(qū)分,可以指導(dǎo)驗證人員設(shè)計驗證用例,決定驗證人員的測試策略。
以驗證用例對被測對象的功能覆蓋率集合為基準的驗證用例的得分計算過程如下步驟321)計算驗證用例覆蓋的對象(Object)中包含的所有度量片段的得分;Score(Segment)=min(1.00,Hits(Segment)/Goal(Segment))該公式用于計算度量片段的得分,公式的意思是先計算度量片段的覆蓋數(shù)和目標值(Goal)之間的比值,即Hits(Segment)/Goal(Segment),然后該比值和1進行比較,取其中的較小值做為片段(Segment)的得分。
步驟322)計算驗證用例覆蓋的功能覆蓋率集合(CoverSuit)中包含的所有對象(Object)的得分。
對象的得分計算公式如下score(Object)=∑(score(Segment)*weight(Segment))/∑(weight(Segment))該公式用于計算對象得分,公式的意思是該對象下包含的所有度量片段的得分乘以比重(Weight)的值的累加,除以該對象下包含的所有片段的比重(Weight)的累加和。
步驟323)計算驗證用例覆蓋的功能覆蓋率集合的得分,得到驗證用例的得分。
驗證用例的功能覆蓋率集合的得分計算公式如下score(CoverSuit)=∑(score(Object)*weight(Object))/∑(weight(Object))
該公式用于驗證用例覆蓋的功能覆蓋率集合得分,公式的意思是該驗證用例下包含的所有度量片段得分乘以比重(Weight)的值的累加和除以該驗證用例下包含的所有片段的比重(Weight)的累加和。
通過計算驗證用例的功能覆蓋率集合的得分,驗證人員可以了解驗證用例對被測對象在每個度量參數(shù)的功能覆蓋的情況,從而得到驗證用例的得分,從而可以根據(jù)驗證用例的得分情況,進一步設(shè)計特定的驗證用例來提高被測對象功能覆蓋率。
步驟33)同時,被測對象功能覆蓋率統(tǒng)計單元6以測試點為基準,根據(jù)被測片段被命中的情況,計算出被測對象的得分,得到被測對象的功能覆蓋率。
被測片段實際上是指被測對象某一功能特性的一個驗證區(qū)間,不專指測試結(jié)果的范圍,每個測試點中包含的被測片段都有一個權(quán)重屬性,該值即為所在測試點的重要級別所對應(yīng)的權(quán)重值。
對于每個測試點(Testcase),在定義時確定一個重要級別,如將測試點分為高、中、低三個級別,每個級別對應(yīng)著一個權(quán)重(Weight),如高為5,中為3,低為1。通過對測試點定義重要級別,可以對每個測試點的重要程度進行區(qū)分。
被測對象的被測片段測試層、測試點測試層、驗證特性測試層、需求規(guī)格測試層四個測試層的功能覆蓋率的計算公式基本一致,都以其所包含的度量片段的得分(Score)和權(quán)重(Weight)為基礎(chǔ)。
對于測試點測試層和驗證特性測試層,還加上是否通過的標志(Pass)計算,對于需求規(guī)格測試層而言,還有測試點通過率(PassRatio)的計算。
這一過程包括下列步驟步驟331)根據(jù)被測對象中被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測片段測試層的功能覆蓋率(計算公式如公式(1));被測片段測試層的功能覆蓋率Score(Segment)=min(1.00,Hits(Segment)/Goal(Segment)) (1)該公式用于計算被測片段測試層的得分(即功能覆蓋率的度量,下同),公式的意思是先計算被測片段(Segment)的命中數(shù)(Hits)和目標值(Goal)之間的比值,即Hits(Segment)/Goal(Segment),然后該比值和1進行比較,取其中的較小值做為片段(Segment)的得分。
步驟332)根據(jù)被測對象中測試點測試層中包含的所有片段,計算測試點測試層的功能覆蓋率(計算公式如公式(2)和(3));測試點測試層的功能覆蓋率Score(Testcase)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment)) (2)該公式用于計算測試點測試層的得分,公式的意思是該測試點下包含的所有片段(Segment)的得分乘以比重(Weight)的值的累加,除以該測試點下包含的所有片段(Segment)的比重(Weight)的累加和。
Pass(Testcase)=(Score(Testcase)=1)?1∶0 (3)該公式用于計算某個測試點是否通過測試,通過時返回1,否則返回0,公式的意思是該測試點的得分如果為1則返回1,否則返回0。
步驟333)根據(jù)被測對象中驗證特性測試層中包含的所有片段,計算驗證特性測試層的功能覆蓋率(計算公式如公式(4)和(5));驗證特性測試層的功能覆蓋率Score(Feature)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment))(4)該公式用于計算驗證特性測試層的得分,公式的意思是該驗證特性下包含的所有片段(Segment)的得分乘以比重(Weight)的值的累加和除以該驗證特性下包含的所有片段(Segment)的比重(Weight)的累加和。
Pass(Feature)=(Score(Feature)=1)?1∶0(5)該公式用于計算某個驗證特性是否通過測試,通過時返回1,否則返回0,公式的意思是該驗證特性的得分如果為1則返回1,否則返回0。
步驟334)根據(jù)被測對象中需求規(guī)格測試層中包含的所有片段,計算需求規(guī)格測試層的功能覆蓋率(計算公式如公式(6)),然后計算出被測對象的所有測試點的通過率(計算公式如公式(7)),得到被測對象的功能覆蓋率。
需求規(guī)格測試層的功能覆蓋率Score(Spec)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment)) (6)該公式用于計算需求規(guī)格測試層的得分,公式的意思是被測對象中包含的所有片段(Segment)的得分乘以比重(Weight)的值的累加和除以被測對象中包含的所有片段(Segment)的比重(Weight)的累加和。
被測對象的所有測試點通過率,即被測對象的功能覆蓋率為PassRatio(Testcase)=(通過的測試點數(shù)目)/(測試點總數(shù))(7)即測試點通過率為通過測試點數(shù)目除以測試點總數(shù)。
本發(fā)明中的測試度量系統(tǒng)和方法,對被測對象的測試點,分別利用存儲在激勵單元2中的驗證用例進行驗證測試,由結(jié)果分析單元4進行分析,得到分析結(jié)果;利用度量片段要素參數(shù)被覆蓋的情況,計算出驗證用例中的各個要素參數(shù)的覆蓋情況,得到驗證用例的功能覆蓋率,并根據(jù)測試點中的被測片段被驗證用例命中的情況,度量出各個測試層的量化得分,從而得到被測對象的各個層次的功能覆蓋率。其通過分層次計算被測對象和驗證用例的功能覆蓋率得分,得出的功能覆蓋率數(shù)據(jù),驗證人員可以了解到在被測對象和驗證用例的各個層次上的功能覆蓋情況,可以為測試項目的驗證充分性提供定量評價標準和依據(jù);利用集成了功能覆蓋率度量模型的驗證平臺,驗證人員使用本系統(tǒng)可以迅速建立起高效的驗證環(huán)境,減少驗證環(huán)境建立時間,提高驗證質(zhì)量,實現(xiàn)仿真驗證的自動化。
本實施例是為了更好地理解本發(fā)明進行的詳細的描述,而并不是對本發(fā)明所保護的范圍的限定,因此,本領(lǐng)域普通技術(shù)人員不脫離本發(fā)明的主旨情況下,未經(jīng)創(chuàng)造性勞動而對本發(fā)明所做的改變,是在本發(fā)明的保護范圍內(nèi)的。
權(quán)利要求
1.一種功能覆蓋率測試度量系統(tǒng),其特征在于,包括總線功能單元(3),用于輸出被測對象產(chǎn)生的測試請求;激勵單元(2),用于接收所述測試請求并進行轉(zhuǎn)發(fā),以及根據(jù)所述測試請求產(chǎn)生并輸出驗證用例;主控臺(1),用于接收所述激勵單元(2)產(chǎn)生的驗證用例和轉(zhuǎn)發(fā)的測試請求,并根據(jù)測試請求對激勵事件進行測試,輸出測試結(jié)果;結(jié)果分析單元(4),用于接收所述測試結(jié)果進行分析,并輸出分析結(jié)果;驗證用例功能覆蓋率統(tǒng)計單元(5),用于通過所述分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個度量要素參數(shù)的功能覆蓋得分得到驗證用例的功能覆蓋率;以及被測對象功能覆蓋率統(tǒng)計單元(6),用于通過所述分析結(jié)果,計算出被測對象的各個測試層的功能覆蓋得分,得到被測對象的功能覆蓋率。
2.根據(jù)權(quán)利要求1所述的功能覆蓋率測試度量系統(tǒng),其特征在于,所述驗證用例功能覆蓋率統(tǒng)計單元(5)包括要素參數(shù)設(shè)置單元,用于按功能處理過程為驗證用例設(shè)置功能覆蓋率集合要素參數(shù),對象要素參數(shù)和片段要素參數(shù);片段得分計算單元,用于計算片段的覆蓋情況和目標值的比值,并與1比較大小后輸出其中的較小值做為片段的得分;對象得分計算單元,用于根據(jù)一個對象下所有片段的得分及對應(yīng)的權(quán)重,計算出所述對象的得分并輸出;功能覆蓋率集合得分計算單元,用于根據(jù)一個驗證用例下所有對象的得分及對應(yīng)的權(quán)重,計算出所述驗證用例的功能覆蓋率。
3.根據(jù)權(quán)利要求2所述的功能覆蓋率測試度量系統(tǒng),其特征在于,所述驗證用例功能覆蓋率統(tǒng)計單元(5)還包括第一權(quán)重賦值單元,用于為片段和對象賦予權(quán)重值。
4.根據(jù)權(quán)利要求1所述的功能覆蓋率測試度量系統(tǒng),其特征在于,所述被測對象功能覆蓋率統(tǒng)計單元(6)包括測試層劃分單元,用以將被測對象劃分為片段測試層、測試點測試層、驗證特性測試層和需求規(guī)格測試層;片段測試層得分計算單元,用于計算片段的覆蓋情況和目標值的比值,并與1比較大小后輸出其中的較小值做為片段測試層的得分;測試點測試層得分計算單元,用于根據(jù)一個測試點測試層中所有片段得分及對應(yīng)的權(quán)重,計算出所述測試點測試層的得分并輸出;驗證特性測試層得分計算單元,用于根據(jù)一個驗證特性測試層中所有片段的得分及對應(yīng)的權(quán)重,計算出所述驗證特性測試層的得分并輸出;需求規(guī)格測試層得分計算單元,用于根據(jù)一個需求規(guī)格測試層中所有片段的得分及對應(yīng)的權(quán)重,計算出所述驗證特性測試層的得分并輸出;測試點通過率計算單元,用于根據(jù)通過的測試點數(shù)目和測試點總數(shù)計算出測試點通過率,得到被測對象的功能覆蓋率。
5.根據(jù)權(quán)利要求4所述的功能覆蓋率測試度量系統(tǒng),其特征在于,所述被測對象功能覆蓋率統(tǒng)計單元(6)還包括第二權(quán)重賦值單元,用于為片段賦予權(quán)重值。
6.一種功能覆蓋率測試度量方法,其特征在于,包括下列步驟步驟A)根據(jù)每個被測對象的功能將被測對象分解為多個測試點,并由被測對象發(fā)出測試請求,利用驗證用例對測試點進行驗證測試,得到分析結(jié)果;步驟B)利用分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的覆蓋得分,得到驗證用例的功能覆蓋率,并根據(jù)測試點中的被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測對象各個測試層的量化得分,得到被測對象的功能覆蓋率。
7.根據(jù)權(quán)利要求6所述的功能覆蓋率測試度量方法,其特征在于,所述步驟A)之前進一步包括下列步驟步驟A1)根據(jù)被測對象設(shè)計具體的驗證用例,存儲在激勵單元(2)中;同時,根據(jù)驗證用例的功能處理過程,劃分出多個功能覆蓋率的基本度量要素參數(shù)。
8.根據(jù)權(quán)利要求7所述的功能覆蓋率測試度量方法,其特征在于,所述步驟A1)包括下列步驟根據(jù)被測對象的功能將被測對象劃分為四個測試層,分別是需求規(guī)格測試層、驗證特性測試層、測試點測試層、被測片段測試層四個測試層;根據(jù)驗證用例的功能處理過程,為驗證用例設(shè)置功能覆蓋率集合要素參數(shù)、對象要素參數(shù)、度量片段要素參數(shù)。
9.根據(jù)權(quán)利要求8所述的功能覆蓋率測試度量方法,其特征在于,所述步驟B)包括下列步驟步驟B1)利用分析結(jié)果,根據(jù)測試點中的被測片段被驗證用例命中的情況,收集到與驗證用例對應(yīng)的被命中的被測片段,計算度量片段覆蓋情況;步驟B2)以驗證用例對被測對象的功能覆蓋率為基準,根據(jù)度量片段的覆蓋情況,計算驗證用例的得分,得到驗證用例的功能覆蓋率,以及根據(jù)被測片段被命中的情況,計算出被測對象的得分,得到被測對象的功能覆蓋率。
10.根據(jù)權(quán)利要求9所述的功能覆蓋率測試度量方法,其特征在于,所述步驟B2)中以驗證用例對被測對象的功能覆蓋率為基準,根據(jù)度量片段的覆蓋情況,計算驗證用例的得分,得到驗證用例的功能覆蓋率具體包括下列步驟步驟B21)計算驗證用例覆蓋的對象中包含的所有度量片段的得分;步驟B22)計算驗證用例覆蓋的功能覆蓋率集合中包含的所有對象的得分,得到驗證用例的得分。
11.根據(jù)權(quán)利要求9所述的功能覆蓋率測試度量方法,其特征在于,所述步驟B2)中根據(jù)被測片段被命中的情況,計算出被測對象的得分,得到被測對象的功能覆蓋率具體包括下列步驟步驟B31)根據(jù)被測對象中被測片段命中的情況,結(jié)合被測對象的測試點的權(quán)重,計算出被測片段測試層的功能覆蓋率;步驟B32)根據(jù)被測對象中測試點測試層中包含的所有片段的功能覆蓋率,計算測試點測試層的功能覆蓋率;步驟B33)根據(jù)被測對象中驗證特性測試層中包含的所有片段的功能覆蓋率,計算驗證特性測試層的功能覆蓋率;步驟B34)根據(jù)被測對象中需求規(guī)格測試層中包含的所有片段的功能覆蓋率,計算需求規(guī)格測試層的功能覆蓋率,然后計算出被測對象的所有測試點的通過率,得到被測對象的功能覆蓋率。
全文摘要
一種功能覆蓋率測試度量系統(tǒng)和方法。該系統(tǒng)包括總線功能單元(3)、激勵單元(2)、主控臺(1)、結(jié)果分析單元(4)、以及驗證用例功能覆蓋率統(tǒng)計單元(5),用于通過所述分析結(jié)果,計算出驗證用例中的各個度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個度量要素參數(shù)的功能覆蓋得分得到驗證用例的功能覆蓋率;被測對象功能覆蓋率統(tǒng)計單元(6),用于通過所述分析結(jié)果,計算出被測對象的各個測試層的功能覆蓋得分,得到被測對象的功能覆蓋率。本發(fā)明還提供一種功能覆蓋率度量的測試方法,能夠在EDA工具中實現(xiàn),并可以對驗證用例和被測對象功能覆蓋率進行自動統(tǒng)計。
文檔編號G06F17/50GK1916920SQ200610153890
公開日2007年2月21日 申請日期2006年9月14日 優(yōu)先權(quán)日2006年9月14日
發(fā)明者易敏, 王進成, 程智輝 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巴彦县| 甘泉县| 珲春市| 霍山县| 焦作市| 建水县| 旬阳县| 太白县| 梅州市| 峨山| 托克逊县| 山阴县| 弥勒县| 桂阳县| 垫江县| 田林县| 响水县| 图们市| 黔东| 陆川县| 隆林| 南漳县| 客服| 东台市| 永春县| 安龙县| 柳河县| 开封县| 六枝特区| 景东| 依兰县| 丹东市| 曲水县| 竹溪县| 汤原县| 毕节市| 泽普县| 城固县| 梁河县| 韩城市| 怀集县|