嚴(yán)格說(shuō)來(lái),有兩種不同的路徑覆蓋測(cè)試,分別為程序路徑覆蓋和程序圖路徑覆蓋。這兩種測(cè)試可分別稱(chēng)為程序的自然執(zhí)行和強(qiáng)迫執(zhí)行。所謂自然執(zhí)行是指測(cè)試者(人或計(jì)算機(jī))讀入程序中的條件表達(dá)式,根據(jù)程序變量的當(dāng)前值計(jì)算該條件表達(dá)式的值(真或假),并相應(yīng)地分支。強(qiáng)迫執(zhí)行是在用程序圖作為程序的抽象模型時(shí)產(chǎn)生的一個(gè)人為的概念,它可以簡(jiǎn)化測(cè)試問(wèn)題。強(qiáng)迫執(zhí)行的含義是,一旦遇到條件表達(dá)式,測(cè)試者就強(qiáng)迫程序分兩種情況(條件表達(dá)式的值為真和為假)執(zhí)行。顯然,強(qiáng)迫執(zhí)行將遍歷程序圖的所有路徑,然而由于各個(gè)條件表達(dá)式之間存在相互依賴(lài)的關(guān)系,這些路徑中的某一些在自然執(zhí)行時(shí)可能永遠(yuǎn)也不會(huì)進(jìn)入。為了使強(qiáng)迫執(zhí)行的概念在實(shí)際工作中有用,它簡(jiǎn)化測(cè)試工具的好處應(yīng)該超過(guò)它使用額外的不可能達(dá)到的測(cè)試用例所帶來(lái)的壞處。在絕大多數(shù)情況下,強(qiáng)迫執(zhí)行的測(cè)試數(shù)并不比自然執(zhí)行的測(cè)試數(shù)大很多,此外,對(duì)強(qiáng)迫執(zhí)行的定義實(shí)際上包含了一種技術(shù),能夠縮短在測(cè)試含有循環(huán)的程序時(shí)所需要的運(yùn)行時(shí)間。程序的大部分執(zhí)行時(shí)間通常用于重復(fù)執(zhí)行程序中的DO循環(huán),特別是嵌套的循環(huán)。因此必須發(fā)明一種技術(shù),使得每個(gè)DO循環(huán)只執(zhí)行一遍。這樣做并不會(huì)降低測(cè)試的功效,因?yàn)榻?jīng)驗(yàn)表明第一次或最后一次執(zhí)行循環(huán)時(shí)最容易出錯(cuò)。
Laemmel教授提出的自動(dòng)測(cè)試每條路徑的技術(shù)如下:當(dāng)編寫(xiě)程序時(shí)每個(gè)DO循環(huán)應(yīng)該寫(xiě)成一種包含測(cè)試變量T和模式變量M的特殊形式,因此:
您可能感興趣的試卷
最新試題
()不屬于服務(wù)部署的作用與收益。
變量名MyData屬于()命名規(guī)則。
()不是軟件工程方法學(xué)中結(jié)構(gòu)化方法學(xué)的特點(diǎn)。
在IT服務(wù)部署實(shí)施執(zhí)行階段,與客戶(hù)的回顧內(nèi)容不包括()
部署實(shí)施執(zhí)行階段可能存在的風(fēng)險(xiǎn)不包括()
世界上第一個(gè)程序員是()
項(xiàng)目管理最主要的關(guān)注點(diǎn)是()、時(shí)間、成本和質(zhì)量。
下列敘述中,()具有良好的編程風(fēng)格。
結(jié)構(gòu)化分析中,使用()建立數(shù)據(jù)模型。
某業(yè)務(wù)管理信息系統(tǒng)中,采購(gòu)子系統(tǒng)根據(jù)材料價(jià)格、數(shù)量等信息計(jì)算采購(gòu)的金額,并給財(cái)務(wù)子系統(tǒng)傳低采購(gòu)金額、shoukuanf和采購(gòu)日期等信息,則這兩個(gè)子系統(tǒng)之間的耦合類(lèi)型為()耦合。