專利名稱:一種功能覆蓋率測(cè)試度量系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子及通信領(lǐng)域的測(cè)試技術(shù),特別是涉及一種功能覆蓋率測(cè)試度量系統(tǒng)和方法。
背景技術(shù):
在電子及通信軟件系統(tǒng)測(cè)試領(lǐng)域,通常都是用代碼覆蓋進(jìn)行測(cè)試,代碼覆蓋無(wú)論是概念還是在得到電子設(shè)計(jì)自動(dòng)化(Electronic Design Automotic,EDA)工具的支持方面,都已經(jīng)非常成熟,代碼覆蓋率的度量在設(shè)計(jì)與測(cè)試激勵(lì)確定以后就唯一確定了,然而,盡管能夠達(dá)到100%的代碼覆蓋率,但在測(cè)試的過(guò)程中,測(cè)試人員還是不能肯定所設(shè)計(jì)的被測(cè)對(duì)象(Device Under Test,DUT)是否已經(jīng)不存在問(wèn)題。這是因?yàn)樵诖a覆蓋測(cè)試中被測(cè)試的僅僅是代碼自身,測(cè)試人員并不知道,在測(cè)試的過(guò)程中,是否已經(jīng)輸入了所有的激勵(lì),并已經(jīng)接收了所有可能的結(jié)果,同時(shí),被測(cè)對(duì)象的狀態(tài)是否都已經(jīng)訪問(wèn),所有的內(nèi)部轉(zhuǎn)換是否都出現(xiàn)了,感興趣的事件是否發(fā)生等等問(wèn)題。
針對(duì)這些問(wèn)題,業(yè)界提出了功能覆蓋的概念,功能覆蓋的定義為來(lái)自設(shè)備和測(cè)試計(jì)劃規(guī)格的清晰的功能需求。相對(duì)于代碼覆蓋而言,功能覆蓋是一個(gè)比較新的概念,功能覆蓋率的度量因功能覆蓋率代碼的不同而不同,所以功能覆蓋在度量實(shí)現(xiàn)上并不如代碼覆蓋率那么清晰和容易界定。
在功能覆蓋率度量的實(shí)現(xiàn)上,由于功能覆蓋率來(lái)自于功能需求,功能需求(測(cè)試點(diǎn))都以文檔的方式來(lái)描述。
目前廣泛采用的文檔標(biāo)記功能覆蓋率的方法是在文檔上標(biāo)明功能點(diǎn),并輔之以相應(yīng)的驗(yàn)證用例,當(dāng)一個(gè)驗(yàn)證用例通過(guò)了,就表示該驗(yàn)證用例對(duì)應(yīng)的功能點(diǎn)被覆蓋了,于是在文檔上進(jìn)行標(biāo)記,最后測(cè)試人員根據(jù)文檔的標(biāo)記情況來(lái)統(tǒng)計(jì)整個(gè)測(cè)試項(xiàng)目的覆蓋率情況。
這種方法存在著明顯不足之處第一,因度量方式是手工操作,標(biāo)記、統(tǒng)計(jì)起來(lái)都很是麻煩,而且往往會(huì)遺漏對(duì)一些功能點(diǎn)的標(biāo)記和統(tǒng)計(jì);第二,功能需求容易與實(shí)際代碼脫節(jié),不能夠緊密耦合,一旦需求或者實(shí)際代碼改變,文檔中記錄的功能點(diǎn)就需要改變功能描述語(yǔ)句和重新標(biāo)記。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出的一種的功能覆蓋率測(cè)試度量系統(tǒng)和方法,該系統(tǒng)和方法能夠在EDA工具中實(shí)現(xiàn),并可以對(duì)驗(yàn)證用例和被測(cè)對(duì)象功能覆蓋率進(jìn)行自動(dòng)統(tǒng)計(jì)。
為實(shí)現(xiàn)本發(fā)明目的而提供的一種功能覆蓋率測(cè)試度量系統(tǒng),包括總線功能單元,用于輸出被測(cè)對(duì)象產(chǎn)生的測(cè)試請(qǐng)求;激勵(lì)單元,用于接收所述測(cè)試請(qǐng)求并進(jìn)行轉(zhuǎn)發(fā),以及根據(jù)所述測(cè)試請(qǐng)求產(chǎn)生并輸出驗(yàn)證用例;主控臺(tái),用于接收所述激勵(lì)單元產(chǎn)生的驗(yàn)證用例和轉(zhuǎn)發(fā)的測(cè)試請(qǐng)求,并根據(jù)測(cè)試請(qǐng)求對(duì)激勵(lì)事件進(jìn)行測(cè)試,輸出測(cè)試結(jié)果;結(jié)果分析單元,用于接收所述測(cè)試結(jié)果進(jìn)行分析,并輸出分析結(jié)果;驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元,用于通過(guò)所述分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個(gè)度量要素參數(shù)的功能覆蓋得分得到驗(yàn)證用例的功能覆蓋率;以及被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元,用于通過(guò)所述分析結(jié)果,計(jì)算出被測(cè)對(duì)象的各個(gè)測(cè)試層的功能覆蓋得分,得到被測(cè)對(duì)象的功能覆蓋率。
所述驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元包括要素參數(shù)設(shè)置單元,用于按功能處理過(guò)程為驗(yàn)證用例設(shè)置功能覆蓋率集合要素參數(shù),對(duì)象要素參數(shù)和片段要素參數(shù);片段得分計(jì)算單元,用于計(jì)算片段的覆蓋情況和目標(biāo)值的比值,并與1比較大小后輸出其中的較小值做為片段的得分;對(duì)象得分計(jì)算單元,用于根據(jù)一個(gè)對(duì)象下所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述對(duì)象的得分并輸出;功能覆蓋率集合得分計(jì)算單元,用于根據(jù)一個(gè)驗(yàn)證用例下所有對(duì)象的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證用例的功能覆蓋率。
所述驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元還包括
第一權(quán)重賦值單元,用于為片段和對(duì)象賦予權(quán)重值。
所述被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元包括測(cè)試層劃分單元,用以將被測(cè)對(duì)象劃分為片段測(cè)試層、測(cè)試點(diǎn)測(cè)試層、驗(yàn)證特性測(cè)試層和需求規(guī)格測(cè)試層;片段測(cè)試層得分計(jì)算單元,用于計(jì)算片段的覆蓋情況和目標(biāo)值的比值,并與1比較大小后輸出其中的較小值做為片段測(cè)試層的得分;測(cè)試點(diǎn)測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)測(cè)試點(diǎn)測(cè)試層中所有片段得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述測(cè)試點(diǎn)測(cè)試層的得分并輸出;驗(yàn)證特性測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)驗(yàn)證特性測(cè)試層中所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證特性測(cè)試層的得分并輸出;需求規(guī)格測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)需求規(guī)格測(cè)試層中所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證特性測(cè)試層的得分并輸出;測(cè)試點(diǎn)通過(guò)率計(jì)算單元,用于根據(jù)通過(guò)的測(cè)試點(diǎn)數(shù)目和測(cè)試點(diǎn)總數(shù)計(jì)算出測(cè)試點(diǎn)通過(guò)率,得到被測(cè)對(duì)象的功能覆蓋率。
所述被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元還包括第二權(quán)重賦值單元,用于為片段賦予權(quán)重值。
為實(shí)現(xiàn)本發(fā)明目的還提供了一種功能覆蓋率測(cè)試度量方法,包括下列步驟步驟A)根據(jù)每個(gè)被測(cè)對(duì)象的功能將被測(cè)對(duì)象分解為多個(gè)測(cè)試點(diǎn),并由被測(cè)對(duì)象發(fā)出測(cè)試請(qǐng)求,利用驗(yàn)證用例對(duì)測(cè)試點(diǎn)進(jìn)行驗(yàn)證測(cè)試,得到分析結(jié)果;步驟B)利用分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的覆蓋得分,得到驗(yàn)證用例的功能覆蓋率,并根據(jù)測(cè)試點(diǎn)中的被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)對(duì)象各個(gè)測(cè)試層的量化得分,得到被測(cè)對(duì)象的功能覆蓋率。
所述步驟A)之前進(jìn)一步包括下列步驟步驟A1)根據(jù)被測(cè)對(duì)象設(shè)計(jì)具體的驗(yàn)證用例,存儲(chǔ)在激勵(lì)單元中;同時(shí),根據(jù)驗(yàn)證用例的功能處理過(guò)程,劃分出多個(gè)功能覆蓋率的基本度量要素參數(shù)。
所述步驟A1)包括下列步驟
根據(jù)被測(cè)對(duì)象的功能將被測(cè)對(duì)象劃分為四個(gè)測(cè)試層,分別是需求規(guī)格測(cè)試層、驗(yàn)證特性測(cè)試層、測(cè)試點(diǎn)測(cè)試層、被測(cè)片段測(cè)試層四個(gè)測(cè)試層;根據(jù)驗(yàn)證用例的功能處理過(guò)程,為驗(yàn)證用例設(shè)置功能覆蓋率集合要素參數(shù)、對(duì)象要素參數(shù)、度量片段要素參數(shù)。
所述步驟B)包括下列步驟步驟B1)利用分析結(jié)果,根據(jù)測(cè)試點(diǎn)中的被測(cè)片段被驗(yàn)證用例命中的情況,收集到與驗(yàn)證用例對(duì)應(yīng)的被命中的被測(cè)片段,計(jì)算度量片段覆蓋情況;步驟B2)以驗(yàn)證用例對(duì)被測(cè)對(duì)象的功能覆蓋率為基準(zhǔn),根據(jù)度量片段的覆蓋情況,計(jì)算驗(yàn)證用例的得分,得到驗(yàn)證用例的功能覆蓋率,以及根據(jù)被測(cè)片段被命中的情況,計(jì)算出被測(cè)對(duì)象的得分,得到被測(cè)對(duì)象的功能覆蓋率。
所述步驟B2)中以驗(yàn)證用例對(duì)被測(cè)對(duì)象的功能覆蓋率為基準(zhǔn),根據(jù)度量片段的覆蓋情況,計(jì)算驗(yàn)證用例的得分,得到驗(yàn)證用例的功能覆蓋率,具體包括下列步驟步驟B21)計(jì)算驗(yàn)證用例覆蓋的對(duì)象中包含的所有度量片段的得分;步驟B22)計(jì)算驗(yàn)證用例覆蓋的功能覆蓋率集合中包含的所有對(duì)象的得分,得到驗(yàn)證用例的得分。
所述步驟B2)中根據(jù)被測(cè)片段被命中的情況,計(jì)算出被測(cè)對(duì)象的得分,得到被測(cè)對(duì)象的功能覆蓋率具體包括下列步驟步驟B31)根據(jù)被測(cè)對(duì)象中被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)片段測(cè)試層的功能覆蓋率;步驟B32)根據(jù)被測(cè)對(duì)象中測(cè)試點(diǎn)測(cè)試層中包含的所有片段的功能覆蓋率,計(jì)算測(cè)試點(diǎn)測(cè)試層的功能覆蓋率;步驟B33)根據(jù)被測(cè)對(duì)象中驗(yàn)證特性測(cè)試層中包含的所有片段的功能覆蓋率,計(jì)算驗(yàn)證特性測(cè)試層的功能覆蓋率;步驟B34)根據(jù)被測(cè)對(duì)象中需求規(guī)格測(cè)試層中包含的所有片段的功能覆蓋率,計(jì)算需求規(guī)格測(cè)試層的功能覆蓋率,然后計(jì)算出被測(cè)對(duì)象的所有測(cè)試點(diǎn)的通過(guò)率,得到被測(cè)對(duì)象的功能覆蓋率。
本發(fā)明的有益效果是通過(guò)本發(fā)明中的基于測(cè)試點(diǎn)的功能覆蓋率測(cè)試度量系統(tǒng)和方法得出功能覆蓋率數(shù)據(jù),可以為測(cè)試項(xiàng)目的驗(yàn)證充分性提供定量評(píng)價(jià)標(biāo)準(zhǔn)和依據(jù);利用集成了功能覆蓋率度量模型的驗(yàn)證平臺(tái),驗(yàn)證人員使用本系統(tǒng)可以迅速建立起高效的驗(yàn)證環(huán)境,減少驗(yàn)證環(huán)境建立時(shí)間,提高驗(yàn)證質(zhì)量,實(shí)現(xiàn)仿真驗(yàn)證的自動(dòng)化。
圖1是本發(fā)明功能覆蓋率測(cè)試度量系統(tǒng)示意圖;圖2是本發(fā)明被測(cè)對(duì)象需求規(guī)格分解示意圖;圖3是本發(fā)明功能覆蓋率測(cè)試度量方法流程圖;圖4是本發(fā)明驗(yàn)證用例與被測(cè)對(duì)象分層驗(yàn)證測(cè)試示意圖。
具體實(shí)施例方式
下面結(jié)合附圖1~4進(jìn)一步詳細(xì)說(shuō)明本發(fā)明的一種功能覆蓋率測(cè)試度量系統(tǒng)和方法。其對(duì)于功能覆蓋率的測(cè)試度量方法,在操作上,如EDA工具希望的一樣,向代碼覆蓋率靠攏,使用可執(zhí)行的語(yǔ)言描述功能需求,再由仿真工具在仿真時(shí)自動(dòng)判斷所描述的功能需求是否覆蓋,實(shí)現(xiàn)自動(dòng)執(zhí)行和統(tǒng)計(jì)驗(yàn)證用例和測(cè)試目標(biāo)(被測(cè)對(duì)象)的功能覆蓋率的操作。
如圖1所示,本發(fā)明一種功能覆蓋率測(cè)試度量系統(tǒng)包括主控臺(tái)1,總線功能單元(BFM)3,激勵(lì)單元2,結(jié)果分析單元4,驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5,以及被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6。
其中總線功能單元3,用于輸出被測(cè)對(duì)象產(chǎn)生的測(cè)試請(qǐng)求;激勵(lì)單元2,用于接收所述測(cè)試請(qǐng)求并進(jìn)行轉(zhuǎn)發(fā),以及根據(jù)所述測(cè)試請(qǐng)求產(chǎn)生并輸出驗(yàn)證用例;主控臺(tái)1,用于接收所述激勵(lì)單元2產(chǎn)生的驗(yàn)證用例和轉(zhuǎn)發(fā)的測(cè)試請(qǐng)求,并根據(jù)測(cè)試請(qǐng)求對(duì)激勵(lì)事件進(jìn)行測(cè)試,輸出測(cè)試結(jié)果;結(jié)果分析單元4,用于接收所述測(cè)試結(jié)果進(jìn)行分析,并輸出分析結(jié)果;驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5,用于通過(guò)所述分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個(gè)度量要素參數(shù)的功能覆蓋得分得到驗(yàn)證用例的功能覆蓋率;進(jìn)一步地,所述驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元包括要素參數(shù)設(shè)置單元,用于按功能處理過(guò)程為驗(yàn)證用例設(shè)置功能覆蓋率集合要素參數(shù),對(duì)象要素參數(shù)和片段要素參數(shù);片段得分計(jì)算單元,用于計(jì)算片段的覆蓋情況和目標(biāo)值的比值,并與1比較大小后輸出其中的較小值做為片段的得分;對(duì)象得分計(jì)算單元,用于根據(jù)一個(gè)對(duì)象下所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述對(duì)象的得分并輸出;功能覆蓋率集合得分計(jì)算單元,用于根據(jù)一個(gè)驗(yàn)證用例下所有對(duì)象的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證用例的功能覆蓋率;此外驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5還可以包括第一權(quán)重賦值單元,用于為片段和對(duì)象賦予權(quán)重值。在驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5未包括第一權(quán)重賦值單元時(shí),片段權(quán)重值均一樣,對(duì)象權(quán)重值也均一樣;在驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5包括第一權(quán)重賦值單元時(shí),片段、對(duì)象權(quán)重值采用第一權(quán)重賦值單元提供的賦值。
被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6,用于通過(guò)所述分析結(jié)果,計(jì)算出被測(cè)對(duì)象的各個(gè)測(cè)試層的功能覆蓋得分,得到被測(cè)對(duì)象的功能覆蓋率。
進(jìn)一步地,所述被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元包括測(cè)試層劃分單元,用以將被測(cè)對(duì)象劃分為片段測(cè)試層、測(cè)試點(diǎn)測(cè)試層、驗(yàn)證特性測(cè)試層和需求規(guī)格測(cè)試層;片段測(cè)試層得分計(jì)算單元,用于計(jì)算片段的覆蓋情況和目標(biāo)值的比值,并與1比較大小后輸出其中的較小值做為片段測(cè)試層的得分;測(cè)試點(diǎn)測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)測(cè)試點(diǎn)測(cè)試層中所有片段得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述測(cè)試點(diǎn)測(cè)試層的得分并輸出;驗(yàn)證特性測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)驗(yàn)證特性測(cè)試層中所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證特性測(cè)試層的得分并輸出;需求規(guī)格測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)需求規(guī)格測(cè)試層中所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證特性測(cè)試層的得分并輸出;測(cè)試點(diǎn)通過(guò)率計(jì)算單元,用于根據(jù)通過(guò)的測(cè)試點(diǎn)數(shù)目和測(cè)試點(diǎn)總數(shù)計(jì)算出測(cè)試點(diǎn)通過(guò)率,得到被測(cè)對(duì)象的功能覆蓋率;此外,被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6還可以包括第二權(quán)重賦值單元,用于為片段賦予權(quán)重值。在被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6未包括第二權(quán)重賦值單元時(shí),片段權(quán)重值均一樣;在被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6包括第二權(quán)重賦值單元時(shí),片段權(quán)重值采用第二權(quán)重賦值單元提供的賦值。
在測(cè)試過(guò)程中,被測(cè)對(duì)象(DUT)通過(guò)總線功能單元3向激勵(lì)單元2發(fā)出測(cè)試請(qǐng)求。激勵(lì)單元2在收到被測(cè)對(duì)象發(fā)出的測(cè)試請(qǐng)求后,通知主控臺(tái)1,并把收到的測(cè)試請(qǐng)求上交給主控臺(tái)1。同時(shí),激勵(lì)單元2根據(jù)測(cè)試請(qǐng)求向主控臺(tái)1發(fā)出激勵(lì)事件,主控臺(tái)1對(duì)激勵(lì)事件進(jìn)行測(cè)試,并將測(cè)試結(jié)果傳送到結(jié)果分析單元4進(jìn)行結(jié)果分析。
被測(cè)對(duì)象(DUT)指被測(cè)試的對(duì)象,即測(cè)試目標(biāo)。
激勵(lì)事件即為給被被測(cè)對(duì)象的輸入驗(yàn)證數(shù)據(jù),即驗(yàn)證用例,其由激勵(lì)單元2發(fā)起,發(fā)起的過(guò)程為激勵(lì)單元2向主控臺(tái)1發(fā)一個(gè)激勵(lì)請(qǐng)求的信號(hào)。
在激勵(lì)單元2產(chǎn)生激勵(lì)事件和結(jié)果分析單元4對(duì)結(jié)果分析過(guò)程中,主控臺(tái)1通過(guò)激勵(lì)事件觸發(fā)功能覆蓋率統(tǒng)計(jì)單元5配合進(jìn)行功能覆蓋率測(cè)試。
主控臺(tái)1是一個(gè)控制模塊,對(duì)激勵(lì)單元2和結(jié)果分析單元4起控制和協(xié)調(diào)作用。
總線功能單元3將測(cè)試請(qǐng)求發(fā)送到激勵(lì)單元2,請(qǐng)求激勵(lì)單元2發(fā)送激勵(lì)事件(即驗(yàn)證用例)到主控臺(tái)1;然后,激勵(lì)單元2根據(jù)配置(即當(dāng)前的狀態(tài),如發(fā)送數(shù)據(jù)的帶寬),決定是否發(fā)送激勵(lì)事件到主控臺(tái)1,如果此時(shí)發(fā)送激勵(lì)事件的帶寬在預(yù)期的范圍內(nèi),則允許發(fā)送;如果超出預(yù)期范圍則不發(fā)送,給總線功能單元3返回一個(gè)等待的信號(hào)。
如果可以發(fā)送數(shù)據(jù),則激勵(lì)單元2生成相應(yīng)的激勵(lì)事件,發(fā)送給主控臺(tái)1進(jìn)行測(cè)試,同時(shí)對(duì)返回給結(jié)果分析單元4的分析結(jié)果,通過(guò)驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5和被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6進(jìn)行驗(yàn)證用例和被測(cè)對(duì)象的功能覆蓋率統(tǒng)計(jì);如果不能發(fā)送數(shù)據(jù),激勵(lì)單元2返回給總線功能單元(BFM)3一個(gè)延時(shí)數(shù)據(jù),也就是等待的信號(hào),總線功能單元(BFM)3在延時(shí)完成之后,再次向激勵(lì)單元2申請(qǐng)報(bào)文,即發(fā)送測(cè)試請(qǐng)求。
結(jié)果分析單元4根據(jù)主控臺(tái)1的配置和控制,接收測(cè)試數(shù)據(jù)。結(jié)果分析單元4在接收到測(cè)試數(shù)據(jù)后,進(jìn)行分析得到分析結(jié)果;最后通過(guò)驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5和被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6對(duì)分析結(jié)果進(jìn)行統(tǒng)計(jì),得到驗(yàn)證用例和被測(cè)對(duì)象的功能覆蓋率得分。
具體的,本發(fā)明的驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5,利用分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的覆蓋得分,得到驗(yàn)證用例的功能覆蓋率;同時(shí)和被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6根據(jù)測(cè)試點(diǎn)中的被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)對(duì)象各個(gè)測(cè)試層的量化得分,得到被測(cè)對(duì)象的功能覆蓋率。
如圖2所示,對(duì)被測(cè)對(duì)象的需求規(guī)格進(jìn)行逐層分解,最后分解為測(cè)試點(diǎn),并根據(jù)測(cè)試點(diǎn)設(shè)計(jì)具體的驗(yàn)證用例,存儲(chǔ)在激勵(lì)單元2中。
當(dāng)進(jìn)行測(cè)試時(shí),激勵(lì)單元2根據(jù)總線功能單元3的請(qǐng)求,產(chǎn)生并發(fā)送驗(yàn)證用例(即激勵(lì)事件數(shù)據(jù)),在主控臺(tái)1對(duì)被測(cè)對(duì)象進(jìn)行驗(yàn)證測(cè)試,在結(jié)果分析單元4進(jìn)行分析,得到驗(yàn)證用例和被測(cè)對(duì)象的分析結(jié)果。通過(guò)驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5和被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6對(duì)驗(yàn)證用例和被測(cè)對(duì)象的分析結(jié)果進(jìn)行量化,根據(jù)驗(yàn)證用例和被測(cè)對(duì)象的量化得分,從而測(cè)量出具體驗(yàn)證用例和被測(cè)對(duì)象的功能覆蓋率,即通過(guò)利用分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的覆蓋得分,得到驗(yàn)證用例的功能覆蓋率;同時(shí)根據(jù)測(cè)試點(diǎn)中的被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)對(duì)象各個(gè)測(cè)試層的量化得分,得到被測(cè)對(duì)象的功能覆蓋率。
如圖3所示,下面進(jìn)一步詳細(xì)說(shuō)明本發(fā)明的功能覆蓋率測(cè)試度量方法步驟1)根據(jù)被測(cè)對(duì)象的需求規(guī)格設(shè)計(jì)具體的驗(yàn)證用例,存儲(chǔ)在激勵(lì)單元2中,同時(shí),根據(jù)驗(yàn)證用例的功能處理過(guò)程,劃分出多個(gè)功能覆蓋率的基本度量要素參數(shù);作為本發(fā)明的實(shí)施例,可以將被測(cè)對(duì)象進(jìn)行逐層分解如下步驟11)根據(jù)被測(cè)對(duì)象的功能將被測(cè)對(duì)象劃分為四個(gè)測(cè)試層,分別是需求規(guī)格測(cè)試層(Spec)、驗(yàn)證特性測(cè)試層(Feature)、測(cè)試點(diǎn)測(cè)試層(Testcase)、被測(cè)片段測(cè)試層四個(gè)測(cè)試層;如圖2所示,首先,將被測(cè)對(duì)象的需求規(guī)格(Spec)分解為驗(yàn)證特性(Feature),所屬驗(yàn)證特性是具有同一特征的規(guī)格的集合,是被測(cè)對(duì)象某一功能特征的集合,其中也包含被測(cè)對(duì)象隱含的特性。
其中,需求規(guī)格是指被測(cè)對(duì)象在功能、性能、應(yīng)用環(huán)境等方面,事先約定能夠達(dá)到的指標(biāo)。
然后,將驗(yàn)證特性分解為測(cè)試點(diǎn)(Testcase),測(cè)試點(diǎn)是指驗(yàn)證特性中每一個(gè)不能再細(xì)分的功能需求項(xiàng)。
最后,測(cè)試點(diǎn)有一個(gè)或者多個(gè)被測(cè)片段,即被測(cè)對(duì)象的每個(gè)測(cè)試點(diǎn)(Testcase)中可以有一個(gè)或者多個(gè)被測(cè)片段;根據(jù)被測(cè)片段設(shè)計(jì)具體的驗(yàn)證用例(Test),就可以利用驗(yàn)證用例度量每個(gè)被測(cè)對(duì)象的功能覆蓋率。
驗(yàn)證用例是針對(duì)測(cè)試點(diǎn)的被測(cè)片段而設(shè)計(jì)的包含測(cè)試輸入,執(zhí)行條件和期望結(jié)果的集合,用于通過(guò)執(zhí)行特定的程序以驗(yàn)證測(cè)試點(diǎn)的功能是否和需求規(guī)格相一致。
被測(cè)對(duì)象的測(cè)試點(diǎn)是一個(gè)不能再細(xì)分的功能需求項(xiàng),對(duì)應(yīng)著被測(cè)對(duì)象的某項(xiàng)功能。測(cè)試點(diǎn)和驗(yàn)證用例的關(guān)系可以是一對(duì)一的關(guān)系,還可以是一對(duì)多或多對(duì)一的關(guān)系,即一個(gè)驗(yàn)證用例可以對(duì)應(yīng)測(cè)試一個(gè)測(cè)試點(diǎn),也可以是多個(gè)驗(yàn)證用例測(cè)試同一個(gè)測(cè)試點(diǎn),還可以是在一個(gè)驗(yàn)證用例測(cè)試多個(gè)測(cè)試點(diǎn)。
根據(jù)被測(cè)對(duì)象的需求規(guī)格,不一定只將被測(cè)對(duì)象分為被測(cè)對(duì)象需求規(guī)格、驗(yàn)證特性、測(cè)試點(diǎn)和被測(cè)片段多個(gè)層次,也可根據(jù)實(shí)際情況分為任意個(gè)層次,這些測(cè)試層次之間是相對(duì)的,沒(méi)有嚴(yán)格的劃分標(biāo)準(zhǔn),本發(fā)明中,通過(guò)被測(cè)對(duì)象的需求規(guī)格進(jìn)行分解,得到測(cè)試點(diǎn),再根據(jù)測(cè)試點(diǎn)的一個(gè)或者多個(gè)被測(cè)片段,設(shè)計(jì)具體的驗(yàn)證用例,用于對(duì)被測(cè)對(duì)象的功能覆蓋率測(cè)試。
在利用驗(yàn)證用例對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試時(shí),通過(guò)對(duì)測(cè)試結(jié)果進(jìn)行量化,根據(jù)量化的結(jié)果對(duì)被測(cè)對(duì)象的功能覆蓋率進(jìn)行度量。
步驟12)同時(shí),根據(jù)驗(yàn)證用例的功能處理過(guò)程,可以為驗(yàn)證用例設(shè)置多個(gè)功能覆蓋率的基本度量要素參數(shù),用于通過(guò)驗(yàn)證用例對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試得到的分析結(jié)果,度量出驗(yàn)證用例的功能覆蓋率。
如圖4所示,根據(jù)驗(yàn)證用例的功能處理過(guò)程,可以為驗(yàn)證用例設(shè)置多個(gè)功能覆蓋率的基本度量要素參數(shù),將其設(shè)置在驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5中,用于度量驗(yàn)證用例對(duì)被測(cè)對(duì)象的功能覆蓋率,這些基本度量要素參數(shù)包括功能覆蓋率集合要素參數(shù);對(duì)象要素參數(shù);度量片段要素參數(shù)度量要素參數(shù)一功能覆蓋率集合要素參數(shù)功能覆蓋率集合要素參數(shù)物理意義一個(gè)功能覆蓋率集合中包含多個(gè)對(duì)象,并且和一個(gè)激勵(lì)事件(驗(yàn)證用例)進(jìn)行對(duì)應(yīng)。
在邏輯仿真過(guò)程中,當(dāng)一個(gè)功能覆蓋率集合對(duì)應(yīng)的激勵(lì)事件(驗(yàn)證用例)觸發(fā)時(shí),就可以收集該功能覆蓋率集合中所有的對(duì)象被命中情況的相關(guān)數(shù)據(jù)。
度量要素參數(shù)二對(duì)象要素參數(shù)對(duì)象要素參數(shù)的物理意義是被測(cè)對(duì)象在一個(gè)功能處理過(guò)程中所涉及的、有明確物理意義的相關(guān)要素參數(shù);被測(cè)對(duì)象通常是由FPGA/ASIC(FPGAField Programmable Gate Array現(xiàn)場(chǎng)可編程門陣列,ASICApplication Specific Integrated Circuit特定用途集成電路)技術(shù)來(lái)實(shí)現(xiàn)的,被測(cè)對(duì)象在一個(gè)功能處理過(guò)程中相關(guān)的一些要素,比如“報(bào)文長(zhǎng)度校驗(yàn)”功能(即判斷報(bào)文長(zhǎng)度是否在合法范圍內(nèi))和報(bào)文長(zhǎng)度相關(guān),那么報(bào)文長(zhǎng)度就是相關(guān)要素,即為對(duì)象(Object)。
對(duì)象由多個(gè)基礎(chǔ)對(duì)象(BaseObject)構(gòu)成。對(duì)象可以分為基本對(duì)象(BasicObject)、交叉對(duì)象(CrossObject)和序列對(duì)象(SequenceObject)三種類型。
基礎(chǔ)對(duì)象是構(gòu)造基本對(duì)象、交叉對(duì)象和序列對(duì)象的基礎(chǔ)元素,即其它三種對(duì)象(Object)都是由基礎(chǔ)對(duì)象(BaseObject)構(gòu)成的,其中基本對(duì)象(BasicObject)是表示一維的驗(yàn)證空間,由一種基礎(chǔ)對(duì)象(BaseObject)構(gòu)成;交叉對(duì)象(CrossObject)表示多維的驗(yàn)證空間,由兩種或兩種以上的基礎(chǔ)對(duì)象(BaseObject)構(gòu)成;序列對(duì)象(SequenceObject)表示和時(shí)間相關(guān)的驗(yàn)證空間,由一種或多種基礎(chǔ)對(duì)象(BaseObject)構(gòu)成。
其中,可以認(rèn)為基本對(duì)象是交叉對(duì)象的一個(gè)特例。
在大規(guī)模的邏輯測(cè)試中,典型的對(duì)象實(shí)例有A、單個(gè)有明確物理意義的信號(hào)(如中斷信號(hào));B、輸入數(shù)據(jù)包中需要關(guān)心的域(如互聯(lián)網(wǎng)協(xié)議IP)包中循環(huán)冗余碼校驗(yàn)CRC域);C、輸入數(shù)據(jù)流的抽象的特性參數(shù)(如包長(zhǎng));D、內(nèi)部邏輯或輸出的某種處理;E、驗(yàn)證用例的某類配置,如不同的工作模式。
度量要素參數(shù)三度量片段要素參數(shù)度量片段要素參數(shù)的物理意義是根據(jù)等價(jià)類測(cè)試工程方法定義的對(duì)象的范圍,在這個(gè)范圍中包含了對(duì)象所有可能出現(xiàn)的結(jié)果,每一個(gè)范圍為一個(gè)度量片段。一個(gè)對(duì)象中包含一個(gè)或者多個(gè)度量片段。和對(duì)象的三種類型相對(duì)應(yīng),度量片段分為基本度量片段、交叉度量片段和順序度量片段三種類型。
同時(shí),對(duì)于被測(cè)對(duì)象而言,每個(gè)測(cè)試點(diǎn)中有一個(gè)或者多個(gè)被測(cè)片段,對(duì)應(yīng)地,每個(gè)驗(yàn)證用例中有一個(gè)或者多個(gè)度量片段。
當(dāng)被測(cè)對(duì)象利用驗(yàn)證用例的測(cè)試,其測(cè)試結(jié)果落在某個(gè)已經(jīng)定義的被測(cè)片段范圍內(nèi),即被測(cè)片段被命中一次時(shí),稱度量片段被覆蓋(Hit)1次。
在大規(guī)模邏輯測(cè)試中,典型的度量片段實(shí)例有A、中斷信號(hào)有效、無(wú)效;B、校驗(yàn)(CRC)對(duì)、錯(cuò);C、包長(zhǎng)長(zhǎng)包、短包、超長(zhǎng)包、超短包、典型長(zhǎng)度包;D、包過(guò)濾處理的所有路徑路徑1、路徑2、……E、輸出處理方式0、方式1、……通過(guò)度量片段將被測(cè)對(duì)象的測(cè)試點(diǎn)和驗(yàn)證用例聯(lián)系起來(lái),因此,度量片段要素參數(shù)是驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5的基本度量元素參數(shù)。
因此,驗(yàn)證用例的功能覆蓋率可以以度量片段要素的得分(Score)情況進(jìn)行量化,得分的取值范圍為0到1之間(包括0和1)。得分為1時(shí)稱之為完全覆蓋到或達(dá)到目標(biāo),得分為0時(shí)稱之為完全沒(méi)有覆蓋到或沒(méi)有達(dá)到覆蓋,介于0和1之間稱之為部分覆蓋到或部分達(dá)到覆蓋。
步驟2)根據(jù)每個(gè)被測(cè)對(duì)象的功能將被測(cè)對(duì)象分解為多個(gè)測(cè)試點(diǎn),并由被測(cè)對(duì)象發(fā)出測(cè)試請(qǐng)求,利用驗(yàn)證用例對(duì)測(cè)試點(diǎn)進(jìn)行驗(yàn)證測(cè)試,得到分析結(jié)果;在測(cè)試過(guò)程中,被測(cè)對(duì)象(DUT)通過(guò)總線功能單元3向激勵(lì)單元2發(fā)出測(cè)試請(qǐng)求。激勵(lì)單元2在收到被測(cè)對(duì)象發(fā)出的測(cè)試請(qǐng)求后,通知主控臺(tái)1,并把收到的測(cè)試請(qǐng)求上交給主控臺(tái)1。同時(shí),激勵(lì)單元2根據(jù)測(cè)試請(qǐng)求向主控臺(tái)1發(fā)出激勵(lì)事件,主控臺(tái)1對(duì)激勵(lì)事件進(jìn)行測(cè)試,并將測(cè)試結(jié)果傳送到結(jié)果分析單元4進(jìn)行結(jié)果分析得到分析結(jié)果。
總線功能單元3將測(cè)試請(qǐng)求發(fā)送到激勵(lì)單元2,請(qǐng)求激勵(lì)單元2發(fā)送激勵(lì)事件(即驗(yàn)證用例)到主控臺(tái)1;然后,激勵(lì)單元2根據(jù)配置(即當(dāng)前的狀態(tài),如發(fā)送數(shù)據(jù)的帶寬),決定是否發(fā)送激勵(lì)事件到主控臺(tái)1,如果此時(shí)發(fā)送激勵(lì)事件的帶寬在預(yù)期的范圍內(nèi),則允許發(fā)送;如果超出預(yù)期范圍則不發(fā)送,給總線功能單元3返回一個(gè)等待的信號(hào)。
如果可以發(fā)送數(shù)據(jù),則激勵(lì)單元2生成相應(yīng)的激勵(lì)事件數(shù)據(jù),發(fā)送給主控臺(tái)1進(jìn)行測(cè)試;如果不能發(fā)送數(shù)據(jù),激勵(lì)單元2返回給總線功能單元(BFM)3一個(gè)延時(shí)數(shù)據(jù),總線功能單元(BFM)3在延時(shí)完成之后,再次向激勵(lì)單元2申請(qǐng)報(bào)文。
結(jié)果分析單元4根據(jù)主控臺(tái)1的配置和控制,接收結(jié)果數(shù)據(jù)。結(jié)果分析單元4在接收到結(jié)果數(shù)據(jù)后,進(jìn)行分析得到分析結(jié)果。
步驟3)利用分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的覆蓋得分,得到驗(yàn)證用例的功能覆蓋率,并根據(jù)測(cè)試點(diǎn)中的被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)對(duì)象各個(gè)測(cè)試層的量化得分,得到被測(cè)對(duì)象的功能覆蓋率。
步驟31)利用分析結(jié)果,根據(jù)測(cè)試點(diǎn)中的被測(cè)片段被驗(yàn)證用例命中的情況,收集到與驗(yàn)證用例(即激勵(lì)事件)對(duì)應(yīng)的被命中的被測(cè)片段,計(jì)算度量片段覆蓋情況;步驟32)驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元5以驗(yàn)證用例對(duì)被測(cè)對(duì)象的功能覆蓋率為基準(zhǔn),根據(jù)度量片段的覆蓋情況,計(jì)算的驗(yàn)證用例的得分,得到驗(yàn)證用例的功能覆蓋率;當(dāng)被測(cè)對(duì)象利用驗(yàn)證用例的測(cè)試,其測(cè)試結(jié)果落在某個(gè)已經(jīng)定義的被測(cè)片段范圍內(nèi),即被測(cè)片段被命中一次時(shí),稱度量片段被覆蓋(Hit)1次。
驗(yàn)證用例的功能覆蓋率可以以度量片段要素的得分(Score)情況進(jìn)行量化,得分的取值范圍為0到1之間(包括0和1)。得分為1時(shí)稱之為完全覆蓋到或達(dá)到目標(biāo),得分為0時(shí)稱之為完全沒(méi)有覆蓋到或沒(méi)有達(dá)到覆蓋,介于0和1之間稱之為部分覆蓋到或部分達(dá)到覆蓋。
根據(jù)被命中的被測(cè)片段數(shù)據(jù),確定覆蓋的基礎(chǔ)度量片段、交叉度量片段和序列度量片段,得到對(duì)應(yīng)的基礎(chǔ)對(duì)象、交叉對(duì)象和序列對(duì)象的覆蓋情況;根據(jù)基礎(chǔ)對(duì)象、交叉對(duì)象(CrossObject)、序列對(duì)象(SequenceObject)的覆蓋情況,進(jìn)一步得到驗(yàn)證用例總的功能覆蓋率集合,從而得到驗(yàn)證用例的得分情況;對(duì)象的覆蓋情況是通過(guò)度量片段的覆蓋情況來(lái)統(tǒng)計(jì)的,當(dāng)對(duì)象中的相應(yīng)度量片段被覆蓋時(shí),相應(yīng)對(duì)象的覆蓋數(shù)(Hits)加1。
對(duì)于每個(gè)驗(yàn)證用例,在定義時(shí)確定一個(gè)重要級(jí)別,如將驗(yàn)證用例分為高、中、低三個(gè)級(jí)別,每個(gè)級(jí)別對(duì)應(yīng)著一個(gè)權(quán)重(Weight),如高為5,中為3,低為1。通過(guò)對(duì)驗(yàn)證用例定義重要級(jí)別,可以對(duì)每個(gè)驗(yàn)證用例的重要程度進(jìn)行區(qū)分,可以指導(dǎo)驗(yàn)證人員設(shè)計(jì)驗(yàn)證用例,決定驗(yàn)證人員的測(cè)試策略。
以驗(yàn)證用例對(duì)被測(cè)對(duì)象的功能覆蓋率集合為基準(zhǔn)的驗(yàn)證用例的得分計(jì)算過(guò)程如下步驟321)計(jì)算驗(yàn)證用例覆蓋的對(duì)象(Object)中包含的所有度量片段的得分;Score(Segment)=min(1.00,Hits(Segment)/Goal(Segment))該公式用于計(jì)算度量片段的得分,公式的意思是先計(jì)算度量片段的覆蓋數(shù)和目標(biāo)值(Goal)之間的比值,即Hits(Segment)/Goal(Segment),然后該比值和1進(jìn)行比較,取其中的較小值做為片段(Segment)的得分。
步驟322)計(jì)算驗(yàn)證用例覆蓋的功能覆蓋率集合(CoverSuit)中包含的所有對(duì)象(Object)的得分。
對(duì)象的得分計(jì)算公式如下score(Object)=∑(score(Segment)*weight(Segment))/∑(weight(Segment))該公式用于計(jì)算對(duì)象得分,公式的意思是該對(duì)象下包含的所有度量片段的得分乘以比重(Weight)的值的累加,除以該對(duì)象下包含的所有片段的比重(Weight)的累加和。
步驟323)計(jì)算驗(yàn)證用例覆蓋的功能覆蓋率集合的得分,得到驗(yàn)證用例的得分。
驗(yàn)證用例的功能覆蓋率集合的得分計(jì)算公式如下score(CoverSuit)=∑(score(Object)*weight(Object))/∑(weight(Object))
該公式用于驗(yàn)證用例覆蓋的功能覆蓋率集合得分,公式的意思是該驗(yàn)證用例下包含的所有度量片段得分乘以比重(Weight)的值的累加和除以該驗(yàn)證用例下包含的所有片段的比重(Weight)的累加和。
通過(guò)計(jì)算驗(yàn)證用例的功能覆蓋率集合的得分,驗(yàn)證人員可以了解驗(yàn)證用例對(duì)被測(cè)對(duì)象在每個(gè)度量參數(shù)的功能覆蓋的情況,從而得到驗(yàn)證用例的得分,從而可以根據(jù)驗(yàn)證用例的得分情況,進(jìn)一步設(shè)計(jì)特定的驗(yàn)證用例來(lái)提高被測(cè)對(duì)象功能覆蓋率。
步驟33)同時(shí),被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元6以測(cè)試點(diǎn)為基準(zhǔn),根據(jù)被測(cè)片段被命中的情況,計(jì)算出被測(cè)對(duì)象的得分,得到被測(cè)對(duì)象的功能覆蓋率。
被測(cè)片段實(shí)際上是指被測(cè)對(duì)象某一功能特性的一個(gè)驗(yàn)證區(qū)間,不專指測(cè)試結(jié)果的范圍,每個(gè)測(cè)試點(diǎn)中包含的被測(cè)片段都有一個(gè)權(quán)重屬性,該值即為所在測(cè)試點(diǎn)的重要級(jí)別所對(duì)應(yīng)的權(quán)重值。
對(duì)于每個(gè)測(cè)試點(diǎn)(Testcase),在定義時(shí)確定一個(gè)重要級(jí)別,如將測(cè)試點(diǎn)分為高、中、低三個(gè)級(jí)別,每個(gè)級(jí)別對(duì)應(yīng)著一個(gè)權(quán)重(Weight),如高為5,中為3,低為1。通過(guò)對(duì)測(cè)試點(diǎn)定義重要級(jí)別,可以對(duì)每個(gè)測(cè)試點(diǎn)的重要程度進(jìn)行區(qū)分。
被測(cè)對(duì)象的被測(cè)片段測(cè)試層、測(cè)試點(diǎn)測(cè)試層、驗(yàn)證特性測(cè)試層、需求規(guī)格測(cè)試層四個(gè)測(cè)試層的功能覆蓋率的計(jì)算公式基本一致,都以其所包含的度量片段的得分(Score)和權(quán)重(Weight)為基礎(chǔ)。
對(duì)于測(cè)試點(diǎn)測(cè)試層和驗(yàn)證特性測(cè)試層,還加上是否通過(guò)的標(biāo)志(Pass)計(jì)算,對(duì)于需求規(guī)格測(cè)試層而言,還有測(cè)試點(diǎn)通過(guò)率(PassRatio)的計(jì)算。
這一過(guò)程包括下列步驟步驟331)根據(jù)被測(cè)對(duì)象中被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)片段測(cè)試層的功能覆蓋率(計(jì)算公式如公式(1));被測(cè)片段測(cè)試層的功能覆蓋率Score(Segment)=min(1.00,Hits(Segment)/Goal(Segment)) (1)該公式用于計(jì)算被測(cè)片段測(cè)試層的得分(即功能覆蓋率的度量,下同),公式的意思是先計(jì)算被測(cè)片段(Segment)的命中數(shù)(Hits)和目標(biāo)值(Goal)之間的比值,即Hits(Segment)/Goal(Segment),然后該比值和1進(jìn)行比較,取其中的較小值做為片段(Segment)的得分。
步驟332)根據(jù)被測(cè)對(duì)象中測(cè)試點(diǎn)測(cè)試層中包含的所有片段,計(jì)算測(cè)試點(diǎn)測(cè)試層的功能覆蓋率(計(jì)算公式如公式(2)和(3));測(cè)試點(diǎn)測(cè)試層的功能覆蓋率Score(Testcase)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment)) (2)該公式用于計(jì)算測(cè)試點(diǎn)測(cè)試層的得分,公式的意思是該測(cè)試點(diǎn)下包含的所有片段(Segment)的得分乘以比重(Weight)的值的累加,除以該測(cè)試點(diǎn)下包含的所有片段(Segment)的比重(Weight)的累加和。
Pass(Testcase)=(Score(Testcase)=1)?1∶0 (3)該公式用于計(jì)算某個(gè)測(cè)試點(diǎn)是否通過(guò)測(cè)試,通過(guò)時(shí)返回1,否則返回0,公式的意思是該測(cè)試點(diǎn)的得分如果為1則返回1,否則返回0。
步驟333)根據(jù)被測(cè)對(duì)象中驗(yàn)證特性測(cè)試層中包含的所有片段,計(jì)算驗(yàn)證特性測(cè)試層的功能覆蓋率(計(jì)算公式如公式(4)和(5));驗(yàn)證特性測(cè)試層的功能覆蓋率Score(Feature)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment))(4)該公式用于計(jì)算驗(yàn)證特性測(cè)試層的得分,公式的意思是該驗(yàn)證特性下包含的所有片段(Segment)的得分乘以比重(Weight)的值的累加和除以該驗(yàn)證特性下包含的所有片段(Segment)的比重(Weight)的累加和。
Pass(Feature)=(Score(Feature)=1)?1∶0(5)該公式用于計(jì)算某個(gè)驗(yàn)證特性是否通過(guò)測(cè)試,通過(guò)時(shí)返回1,否則返回0,公式的意思是該驗(yàn)證特性的得分如果為1則返回1,否則返回0。
步驟334)根據(jù)被測(cè)對(duì)象中需求規(guī)格測(cè)試層中包含的所有片段,計(jì)算需求規(guī)格測(cè)試層的功能覆蓋率(計(jì)算公式如公式(6)),然后計(jì)算出被測(cè)對(duì)象的所有測(cè)試點(diǎn)的通過(guò)率(計(jì)算公式如公式(7)),得到被測(cè)對(duì)象的功能覆蓋率。
需求規(guī)格測(cè)試層的功能覆蓋率Score(Spec)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment)) (6)該公式用于計(jì)算需求規(guī)格測(cè)試層的得分,公式的意思是被測(cè)對(duì)象中包含的所有片段(Segment)的得分乘以比重(Weight)的值的累加和除以被測(cè)對(duì)象中包含的所有片段(Segment)的比重(Weight)的累加和。
被測(cè)對(duì)象的所有測(cè)試點(diǎn)通過(guò)率,即被測(cè)對(duì)象的功能覆蓋率為PassRatio(Testcase)=(通過(guò)的測(cè)試點(diǎn)數(shù)目)/(測(cè)試點(diǎn)總數(shù))(7)即測(cè)試點(diǎn)通過(guò)率為通過(guò)測(cè)試點(diǎn)數(shù)目除以測(cè)試點(diǎn)總數(shù)。
本發(fā)明中的測(cè)試度量系統(tǒng)和方法,對(duì)被測(cè)對(duì)象的測(cè)試點(diǎn),分別利用存儲(chǔ)在激勵(lì)單元2中的驗(yàn)證用例進(jìn)行驗(yàn)證測(cè)試,由結(jié)果分析單元4進(jìn)行分析,得到分析結(jié)果;利用度量片段要素參數(shù)被覆蓋的情況,計(jì)算出驗(yàn)證用例中的各個(gè)要素參數(shù)的覆蓋情況,得到驗(yàn)證用例的功能覆蓋率,并根據(jù)測(cè)試點(diǎn)中的被測(cè)片段被驗(yàn)證用例命中的情況,度量出各個(gè)測(cè)試層的量化得分,從而得到被測(cè)對(duì)象的各個(gè)層次的功能覆蓋率。其通過(guò)分層次計(jì)算被測(cè)對(duì)象和驗(yàn)證用例的功能覆蓋率得分,得出的功能覆蓋率數(shù)據(jù),驗(yàn)證人員可以了解到在被測(cè)對(duì)象和驗(yàn)證用例的各個(gè)層次上的功能覆蓋情況,可以為測(cè)試項(xiàng)目的驗(yàn)證充分性提供定量評(píng)價(jià)標(biāo)準(zhǔn)和依據(jù);利用集成了功能覆蓋率度量模型的驗(yàn)證平臺(tái),驗(yàn)證人員使用本系統(tǒng)可以迅速建立起高效的驗(yàn)證環(huán)境,減少驗(yàn)證環(huán)境建立時(shí)間,提高驗(yàn)證質(zhì)量,實(shí)現(xiàn)仿真驗(yàn)證的自動(dòng)化。
本實(shí)施例是為了更好地理解本發(fā)明進(jìn)行的詳細(xì)的描述,而并不是對(duì)本發(fā)明所保護(hù)的范圍的限定,因此,本領(lǐng)域普通技術(shù)人員不脫離本發(fā)明的主旨情況下,未經(jīng)創(chuàng)造性勞動(dòng)而對(duì)本發(fā)明所做的改變,是在本發(fā)明的保護(hù)范圍內(nèi)的。
權(quán)利要求
1.一種功能覆蓋率測(cè)試度量系統(tǒng),其特征在于,包括總線功能單元(3),用于輸出被測(cè)對(duì)象產(chǎn)生的測(cè)試請(qǐng)求;激勵(lì)單元(2),用于接收所述測(cè)試請(qǐng)求并進(jìn)行轉(zhuǎn)發(fā),以及根據(jù)所述測(cè)試請(qǐng)求產(chǎn)生并輸出驗(yàn)證用例;主控臺(tái)(1),用于接收所述激勵(lì)單元(2)產(chǎn)生的驗(yàn)證用例和轉(zhuǎn)發(fā)的測(cè)試請(qǐng)求,并根據(jù)測(cè)試請(qǐng)求對(duì)激勵(lì)事件進(jìn)行測(cè)試,輸出測(cè)試結(jié)果;結(jié)果分析單元(4),用于接收所述測(cè)試結(jié)果進(jìn)行分析,并輸出分析結(jié)果;驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元(5),用于通過(guò)所述分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個(gè)度量要素參數(shù)的功能覆蓋得分得到驗(yàn)證用例的功能覆蓋率;以及被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元(6),用于通過(guò)所述分析結(jié)果,計(jì)算出被測(cè)對(duì)象的各個(gè)測(cè)試層的功能覆蓋得分,得到被測(cè)對(duì)象的功能覆蓋率。
2.根據(jù)權(quán)利要求1所述的功能覆蓋率測(cè)試度量系統(tǒng),其特征在于,所述驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元(5)包括要素參數(shù)設(shè)置單元,用于按功能處理過(guò)程為驗(yàn)證用例設(shè)置功能覆蓋率集合要素參數(shù),對(duì)象要素參數(shù)和片段要素參數(shù);片段得分計(jì)算單元,用于計(jì)算片段的覆蓋情況和目標(biāo)值的比值,并與1比較大小后輸出其中的較小值做為片段的得分;對(duì)象得分計(jì)算單元,用于根據(jù)一個(gè)對(duì)象下所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述對(duì)象的得分并輸出;功能覆蓋率集合得分計(jì)算單元,用于根據(jù)一個(gè)驗(yàn)證用例下所有對(duì)象的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證用例的功能覆蓋率。
3.根據(jù)權(quán)利要求2所述的功能覆蓋率測(cè)試度量系統(tǒng),其特征在于,所述驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元(5)還包括第一權(quán)重賦值單元,用于為片段和對(duì)象賦予權(quán)重值。
4.根據(jù)權(quán)利要求1所述的功能覆蓋率測(cè)試度量系統(tǒng),其特征在于,所述被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元(6)包括測(cè)試層劃分單元,用以將被測(cè)對(duì)象劃分為片段測(cè)試層、測(cè)試點(diǎn)測(cè)試層、驗(yàn)證特性測(cè)試層和需求規(guī)格測(cè)試層;片段測(cè)試層得分計(jì)算單元,用于計(jì)算片段的覆蓋情況和目標(biāo)值的比值,并與1比較大小后輸出其中的較小值做為片段測(cè)試層的得分;測(cè)試點(diǎn)測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)測(cè)試點(diǎn)測(cè)試層中所有片段得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述測(cè)試點(diǎn)測(cè)試層的得分并輸出;驗(yàn)證特性測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)驗(yàn)證特性測(cè)試層中所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證特性測(cè)試層的得分并輸出;需求規(guī)格測(cè)試層得分計(jì)算單元,用于根據(jù)一個(gè)需求規(guī)格測(cè)試層中所有片段的得分及對(duì)應(yīng)的權(quán)重,計(jì)算出所述驗(yàn)證特性測(cè)試層的得分并輸出;測(cè)試點(diǎn)通過(guò)率計(jì)算單元,用于根據(jù)通過(guò)的測(cè)試點(diǎn)數(shù)目和測(cè)試點(diǎn)總數(shù)計(jì)算出測(cè)試點(diǎn)通過(guò)率,得到被測(cè)對(duì)象的功能覆蓋率。
5.根據(jù)權(quán)利要求4所述的功能覆蓋率測(cè)試度量系統(tǒng),其特征在于,所述被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元(6)還包括第二權(quán)重賦值單元,用于為片段賦予權(quán)重值。
6.一種功能覆蓋率測(cè)試度量方法,其特征在于,包括下列步驟步驟A)根據(jù)每個(gè)被測(cè)對(duì)象的功能將被測(cè)對(duì)象分解為多個(gè)測(cè)試點(diǎn),并由被測(cè)對(duì)象發(fā)出測(cè)試請(qǐng)求,利用驗(yàn)證用例對(duì)測(cè)試點(diǎn)進(jìn)行驗(yàn)證測(cè)試,得到分析結(jié)果;步驟B)利用分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的覆蓋得分,得到驗(yàn)證用例的功能覆蓋率,并根據(jù)測(cè)試點(diǎn)中的被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)對(duì)象各個(gè)測(cè)試層的量化得分,得到被測(cè)對(duì)象的功能覆蓋率。
7.根據(jù)權(quán)利要求6所述的功能覆蓋率測(cè)試度量方法,其特征在于,所述步驟A)之前進(jìn)一步包括下列步驟步驟A1)根據(jù)被測(cè)對(duì)象設(shè)計(jì)具體的驗(yàn)證用例,存儲(chǔ)在激勵(lì)單元(2)中;同時(shí),根據(jù)驗(yàn)證用例的功能處理過(guò)程,劃分出多個(gè)功能覆蓋率的基本度量要素參數(shù)。
8.根據(jù)權(quán)利要求7所述的功能覆蓋率測(cè)試度量方法,其特征在于,所述步驟A1)包括下列步驟根據(jù)被測(cè)對(duì)象的功能將被測(cè)對(duì)象劃分為四個(gè)測(cè)試層,分別是需求規(guī)格測(cè)試層、驗(yàn)證特性測(cè)試層、測(cè)試點(diǎn)測(cè)試層、被測(cè)片段測(cè)試層四個(gè)測(cè)試層;根據(jù)驗(yàn)證用例的功能處理過(guò)程,為驗(yàn)證用例設(shè)置功能覆蓋率集合要素參數(shù)、對(duì)象要素參數(shù)、度量片段要素參數(shù)。
9.根據(jù)權(quán)利要求8所述的功能覆蓋率測(cè)試度量方法,其特征在于,所述步驟B)包括下列步驟步驟B1)利用分析結(jié)果,根據(jù)測(cè)試點(diǎn)中的被測(cè)片段被驗(yàn)證用例命中的情況,收集到與驗(yàn)證用例對(duì)應(yīng)的被命中的被測(cè)片段,計(jì)算度量片段覆蓋情況;步驟B2)以驗(yàn)證用例對(duì)被測(cè)對(duì)象的功能覆蓋率為基準(zhǔn),根據(jù)度量片段的覆蓋情況,計(jì)算驗(yàn)證用例的得分,得到驗(yàn)證用例的功能覆蓋率,以及根據(jù)被測(cè)片段被命中的情況,計(jì)算出被測(cè)對(duì)象的得分,得到被測(cè)對(duì)象的功能覆蓋率。
10.根據(jù)權(quán)利要求9所述的功能覆蓋率測(cè)試度量方法,其特征在于,所述步驟B2)中以驗(yàn)證用例對(duì)被測(cè)對(duì)象的功能覆蓋率為基準(zhǔn),根據(jù)度量片段的覆蓋情況,計(jì)算驗(yàn)證用例的得分,得到驗(yàn)證用例的功能覆蓋率具體包括下列步驟步驟B21)計(jì)算驗(yàn)證用例覆蓋的對(duì)象中包含的所有度量片段的得分;步驟B22)計(jì)算驗(yàn)證用例覆蓋的功能覆蓋率集合中包含的所有對(duì)象的得分,得到驗(yàn)證用例的得分。
11.根據(jù)權(quán)利要求9所述的功能覆蓋率測(cè)試度量方法,其特征在于,所述步驟B2)中根據(jù)被測(cè)片段被命中的情況,計(jì)算出被測(cè)對(duì)象的得分,得到被測(cè)對(duì)象的功能覆蓋率具體包括下列步驟步驟B31)根據(jù)被測(cè)對(duì)象中被測(cè)片段命中的情況,結(jié)合被測(cè)對(duì)象的測(cè)試點(diǎn)的權(quán)重,計(jì)算出被測(cè)片段測(cè)試層的功能覆蓋率;步驟B32)根據(jù)被測(cè)對(duì)象中測(cè)試點(diǎn)測(cè)試層中包含的所有片段的功能覆蓋率,計(jì)算測(cè)試點(diǎn)測(cè)試層的功能覆蓋率;步驟B33)根據(jù)被測(cè)對(duì)象中驗(yàn)證特性測(cè)試層中包含的所有片段的功能覆蓋率,計(jì)算驗(yàn)證特性測(cè)試層的功能覆蓋率;步驟B34)根據(jù)被測(cè)對(duì)象中需求規(guī)格測(cè)試層中包含的所有片段的功能覆蓋率,計(jì)算需求規(guī)格測(cè)試層的功能覆蓋率,然后計(jì)算出被測(cè)對(duì)象的所有測(cè)試點(diǎn)的通過(guò)率,得到被測(cè)對(duì)象的功能覆蓋率。
全文摘要
一種功能覆蓋率測(cè)試度量系統(tǒng)和方法。該系統(tǒng)包括總線功能單元(3)、激勵(lì)單元(2)、主控臺(tái)(1)、結(jié)果分析單元(4)、以及驗(yàn)證用例功能覆蓋率統(tǒng)計(jì)單元(5),用于通過(guò)所述分析結(jié)果,計(jì)算出驗(yàn)證用例中的各個(gè)度量要素參數(shù)的功能覆蓋得分,并根據(jù)所述各個(gè)度量要素參數(shù)的功能覆蓋得分得到驗(yàn)證用例的功能覆蓋率;被測(cè)對(duì)象功能覆蓋率統(tǒng)計(jì)單元(6),用于通過(guò)所述分析結(jié)果,計(jì)算出被測(cè)對(duì)象的各個(gè)測(cè)試層的功能覆蓋得分,得到被測(cè)對(duì)象的功能覆蓋率。本發(fā)明還提供一種功能覆蓋率度量的測(cè)試方法,能夠在EDA工具中實(shí)現(xiàn),并可以對(duì)驗(yàn)證用例和被測(cè)對(duì)象功能覆蓋率進(jìn)行自動(dòng)統(tǒng)計(jì)。
文檔編號(hào)G06F17/50GK1916920SQ200610153890
公開(kāi)日2007年2月21日 申請(qǐng)日期2006年9月14日 優(yōu)先權(quán)日2006年9月14日
發(fā)明者易敏, 王進(jìn)成, 程智輝 申請(qǐng)人:華為技術(shù)有限公司