結對程式設計——關於Fault、Error、Failure程式設計

來源:互聯網
上載者:User

標籤:

一、問題描述:

        構造程式,分別是:        •不能觸發Fault        •觸發Fault,但是不能觸發Error        •觸發Error,但是不能產生Failure
二、Fault、Error、Failure區別
  Fault:可能導致系統或功能失效的異常條件,可譯為“故障”。
  Error:計算、觀察或測量值或條件,與真實、規定或理論上正確的值或條件之間的差異,譯為“錯誤”。Error是能夠導致系統出現Failure的系統內部狀態。
  Failure:當一個系統不能執行所要求的功能時,即為Failure,可譯為“失效”。

二、結對對象:韓思明

     部落格地址:http://www.cnblogs.com/a294098789/

     雙方貢獻:1:1

  隊友優點:認真負責、細心細緻、有很好的代碼編寫水平、注重代碼的規範和格式。好隊友!

     結對程式設計照片:

  

 

三、採用語言:java(代碼實現如下):

 

 1 package com.sicnu.findnumber; 2  3 public class FindLastNumber { 4      5     public static void main(String[] args) { 6         //找出目標值aim在數組最後出現的位置,若在數組中不存在則表示-1 7         int array[] = {2}; 8         int aim = 2; 9         int pos = -1;10         11         if(array.length <= 1){12             if(aim == array[0]){13                 pos = 1;14             }else{15                 pos = -1;16             }17             18         }else{19             pos = findLast(aim,array);20             21         }22         23         for(int i = 0; i < array.length; i++){24             System.out.print(array[i] + "  ");25         }26         System.out.println();27         System.out.println("find :"+ aim +" The last position:"+pos);28         29         30     }31     32     33     /**34      * @param aim35      * @param array36      * @return37      */38     public static int findLast(int aim, int array[]){39         int position = -1;40         for(int i = 1; i < array.length ;i++){//wrong!41             if(array[i] == aim){42                 position = i;43             }            44         }45                 46         return position + 1;47 48     }49 50 }

 

 

四、結果程式碼分析:

 

錯誤分析:此題所要找的是,目標值在數組中出現的最後一個位置,應該是從數組從後往前找,而題中代碼是,從前往後找,並且是從數組的第二個往後找的,所以是出錯代碼!

 

•不能觸發Fault

 

測試案例輸出:

數組為單個元素,當數組元素只有一個時,如題上代碼,直接比較的是數組的值與目標值,並沒有調用findLast()方法,所以並沒有觸發Fault。

 

 

  •觸發Fault,但是不能觸發Error

測試案例輸出:

 

調用了findLast()方法,也就是觸發了Fault,但是程式結果仍然是正確,因為8在數組中只有一個且正好處於最中間的位置,此時最後一個出現和第一個出現位置是相同的,所以並未觸發Error。

 

 

  •觸發Error,但是不能產生Failure

在尋找目標值5時,本來程式尋找的先後順序出錯,找的是第一個出現的值,但是由於程式又出錯在是從第二個找起的,本來第一出現的5被略過,就找到了位於第5個位置的5,因此最後程式啟動並執行結果陰差陽錯是正確的。

五、心得體會:

  在軟體測試課程學習中,通過編寫此程式,我對軟體中 fault,error,failure 有了深刻的理解,同時,更讓我明白,軟體測試的測試案例應該在同一等價劃分上盡量多種,畢竟測試案例的巧合不能是測試的瓶頸。這些,也讓我對軟體測試有了不一樣的理解。

 

結對程式設計——關於Fault、Error、Failure程式設計

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.