為什么測試全覆蓋很難?

發表于:2007-05-05來源:作者:點擊數: 標簽:軟件測試測試正面很難觀點
正面觀點:100%的覆蓋是可以的,為什么呢?看下面的代碼: 我們有這樣的一個方法: public int getAccount(){ return 999; } 這樣的方法走一次就可以了,你只要執行它(System.out.pringln(xxx.getAccount()))它就會乖乖的返回999, 測試 一次自然100%覆蓋

正面觀點:100%的覆蓋是可以的,為什么呢?看下面的代碼:


我們有這樣的一個方法:

public int getAclearcase/" target="_blank" >ccount(){
return 999;
}

這樣的方法走一次就可以了,你只要執行它(System.out.pringln(xxx.getAccount()))它就會乖乖的返回999,測試一次自然100%覆蓋,看我說的對吧!

有一天這個方法忽然變化了:

public int getAccount(int selet){
switch{
  case 1:
    return 1;
    breake;
  case 2:
    return 2;
    breake;
  case 3:
    return 3;
    breake;
  default:
    return 0;
    breake;
}
}

汗,豁出去了我執行四次,哈哈,我也達到了100%的覆蓋,我說的還是正確的!

繼續,某天雷電辟中了代碼,代碼立刻膨脹了,現在變成:

public int getAccount(int selet){
switch{
  case 1:
    if (xxx) then{
      return 0;
    }else{
      return 1;
    }
    breake;
  case 2:
    if (xxx) then{
      return 0;
    }else{
      return 2;
    }
    breake;
  case 3:
    if (xxx) then{
      return 0;
    }else{
      return 3;
    }
    breake;
  ......

  case 9999999:(假如java允許,哈哈)
    if (xxx) then{
      return 0;
    }else{
      return 999999;
    }
    breake;
  default:
    return 0;
    breake;
}
}

可能要做到100%地球都爆炸了,這就是為什么愿望是好的,實現是困難的根源!


原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97