問答題

嚴(yán)格說來,有兩種不同的路徑覆蓋測試,分別為程序路徑覆蓋和程序圖路徑覆蓋。這兩種測試可分別稱為程序的自然執(zhí)行和強迫執(zhí)行。所謂自然執(zhí)行是指測試者(人或計算機)讀入程序中的條件表達式,根據(jù)程序變量的當(dāng)前值計算該條件表達式的值(真或假),并相應(yīng)地分支。強迫執(zhí)行是在用程序圖作為程序的抽象模型時產(chǎn)生的一個人為的概念,它可以簡化測試問題。強迫執(zhí)行的含義是,一旦遇到條件表達式,測試者就強迫程序分兩種情況(條件表達式的值為真和為假)執(zhí)行。顯然,強迫執(zhí)行將遍歷程序圖的所有路徑,然而由于各個條件表達式之間存在相互依賴的關(guān)系,這些路徑中的某一些在自然執(zhí)行時可能永遠也不會進入。為了使強迫執(zhí)行的概念在實際工作中有用,它簡化測試工具的好處應(yīng)該超過它使用額外的不可能達到的測試用例所帶來的壞處。在絕大多數(shù)情況下,強迫執(zhí)行的測試數(shù)并不比自然執(zhí)行的測試數(shù)大很多,此外,對強迫執(zhí)行的定義實際上包含了一種技術(shù),能夠縮短在測試含有循環(huán)的程序時所需要的運行時間。程序的大部分執(zhí)行時間通常用于重復(fù)執(zhí)行程序中的DO循環(huán),特別是嵌套的循環(huán)。因此必須發(fā)明一種技術(shù),使得每個DO循環(huán)只執(zhí)行一遍。這樣做并不會降低測試的功效,因為經(jīng)驗表明第一次或最后一次執(zhí)行循環(huán)時最容易出錯。
Laemmel教授提出的自動測試每條路徑的技術(shù)如下:當(dāng)編寫程序時每個DO循環(huán)應(yīng)該寫成一種包含測試變量T和模式變量M的特殊形式,因此:

怎樣把Laemmel技術(shù)推廣到包含WHILE DO 和REPEAT UNTIL語句的程序?

您可能感興趣的試卷

你可能感興趣的試題

1.問答題

嚴(yán)格說來,有兩種不同的路徑覆蓋測試,分別為程序路徑覆蓋和程序圖路徑覆蓋。這兩種測試可分別稱為程序的自然執(zhí)行和強迫執(zhí)行。所謂自然執(zhí)行是指測試者(人或計算機)讀入程序中的條件表達式,根據(jù)程序變量的當(dāng)前值計算該條件表達式的值(真或假),并相應(yīng)地分支。強迫執(zhí)行是在用程序圖作為程序的抽象模型時產(chǎn)生的一個人為的概念,它可以簡化測試問題。強迫執(zhí)行的含義是,一旦遇到條件表達式,測試者就強迫程序分兩種情況(條件表達式的值為真和為假)執(zhí)行。顯然,強迫執(zhí)行將遍歷程序圖的所有路徑,然而由于各個條件表達式之間存在相互依賴的關(guān)系,這些路徑中的某一些在自然執(zhí)行時可能永遠也不會進入。為了使強迫執(zhí)行的概念在實際工作中有用,它簡化測試工具的好處應(yīng)該超過它使用額外的不可能達到的測試用例所帶來的壞處。在絕大多數(shù)情況下,強迫執(zhí)行的測試數(shù)并不比自然執(zhí)行的測試數(shù)大很多,此外,對強迫執(zhí)行的定義實際上包含了一種技術(shù),能夠縮短在測試含有循環(huán)的程序時所需要的運行時間。程序的大部分執(zhí)行時間通常用于重復(fù)執(zhí)行程序中的DO循環(huán),特別是嵌套的循環(huán)。因此必須發(fā)明一種技術(shù),使得每個DO循環(huán)只執(zhí)行一遍。這樣做并不會降低測試的功效,因為經(jīng)驗表明第一次或最后一次執(zhí)行循環(huán)時最容易出錯。
Laemmel教授提出的自動測試每條路徑的技術(shù)如下:當(dāng)編寫程序時每個DO循環(huán)應(yīng)該寫成一種包含測試變量T和模式變量M的特殊形式,因此:

設(shè)計一個程序按照Laemmel技術(shù)自動修改待測試的程序。利用這個測試工具修改上一問中人工修改的程序,兩次修改得到的結(jié)果一致嗎?
2.問答題

嚴(yán)格說來,有兩種不同的路徑覆蓋測試,分別為程序路徑覆蓋和程序圖路徑覆蓋。這兩種測試可分別稱為程序的自然執(zhí)行和強迫執(zhí)行。所謂自然執(zhí)行是指測試者(人或計算機)讀入程序中的條件表達式,根據(jù)程序變量的當(dāng)前值計算該條件表達式的值(真或假),并相應(yīng)地分支。強迫執(zhí)行是在用程序圖作為程序的抽象模型時產(chǎn)生的一個人為的概念,它可以簡化測試問題。強迫執(zhí)行的含義是,一旦遇到條件表達式,測試者就強迫程序分兩種情況(條件表達式的值為真和為假)執(zhí)行。顯然,強迫執(zhí)行將遍歷程序圖的所有路徑,然而由于各個條件表達式之間存在相互依賴的關(guān)系,這些路徑中的某一些在自然執(zhí)行時可能永遠也不會進入。為了使強迫執(zhí)行的概念在實際工作中有用,它簡化測試工具的好處應(yīng)該超過它使用額外的不可能達到的測試用例所帶來的壞處。在絕大多數(shù)情況下,強迫執(zhí)行的測試數(shù)并不比自然執(zhí)行的測試數(shù)大很多,此外,對強迫執(zhí)行的定義實際上包含了一種技術(shù),能夠縮短在測試含有循環(huán)的程序時所需要的運行時間。程序的大部分執(zhí)行時間通常用于重復(fù)執(zhí)行程序中的DO循環(huán),特別是嵌套的循環(huán)。因此必須發(fā)明一種技術(shù),使得每個DO循環(huán)只執(zhí)行一遍。這樣做并不會降低測試的功效,因為經(jīng)驗表明第一次或最后一次執(zhí)行循環(huán)時最容易出錯。
Laemmel教授提出的自動測試每條路徑的技術(shù)如下:當(dāng)編寫程序時每個DO循環(huán)應(yīng)該寫成一種包含測試變量T和模式變量M的特殊形式,因此:

選取一個包含循環(huán)和IF語句的程序,用Laemmel技術(shù)修改這個程序,上機實際測試這個程序并解釋所得到的結(jié)果。