軟考必考題型之McCabe度量法

McCabe概念:

McCabe度量法是一種基於程序控制流的複雜性度量方法。
McCabe複雜性度量又稱環路度量,其計算公式爲: V(g)=m-n+2,其中m和n分別代表圖中的邊數頂點數

下面來分析幾道往年軟考例題

  1. (2016年上半年試題)對下圖所示流程圖採用白盒測試方法進行測試,若要滿足路徑覆蓋,則至少需要___個測試用例。採用McCabe度量法計算該程序對環路複雜性爲___。
    16年例題
    路徑覆蓋是指設計若干個測試用例,覆蓋程序中的所有路徑。
    上圖中一共有6條路徑:12345678,1234568,1235678,123568,12678,1268。
    根據McCabe度量法環路複雜性公式V(g)=m-n+2,圖中m=10,n=8,V(g)=10-8+2=4。
    那麼答案應是:6個用例,環路複雜度爲4。
  2. (2015年上半年試題)若採用白盒測試方法測試以下代碼,並滿足條件覆蓋,則至少需要___個測試用例。採用McCabe度量法算出該程序的環路複雜性爲___。
int find_max(int i, int j, int k){
    int max;
    if(i > j) {
        if(i > k){
           max = i;
        } else {
           max = k;
        }
    } else {
        if(j > k) {
            max = j;
        } else {
            max = k;
        }
    }
    return max;
}

先畫出該代碼的流程圖,如下:
15年例題
要滿足條件覆蓋,要求三個判斷框的Y和N至少要經過一次,即:1Y2Y,1Y2N,1N3Y,1N3N,至少需要4個測試用例。
根據McCabe度量法環路複雜性公式V(g)=m-n+2,圖中m=9,n=7, V(g)=9-7+2=4。
那麼答案應是:4個用例,環路複雜度爲4。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章