《軟體測試》 第三次部落格作業

來源:互聯網
上載者:User

標籤:

1、  某網站管理系統,使用者註冊時,電話號碼為可選輸入項,輸入格式為:區號-電話號碼—分機號,中間用“-”隔開。以下為jsp頁面上的設計,且並未對輸入做任何控制。

 

假設系統現在需要取出中間的電話號碼部分,代碼如下:

 

/**

     *

     * 該方法根據使用者輸入取出中間的電話號碼部分

     * @param strPhoneNum  電話號碼,如:“0591-83279988—002”

     * @return  返回號碼部分,如:“83279988”

     */

    public String getPhoneNumber(String strPhoneNum){

        if((strPhoneNum==null) || "".equals(strPhoneNum)){

            return "";

        }

        String[] arrPhone=strPhoneNum.split("-");

        return arrPhone[1];

    }

 

請用你學過的測試技術和方法,找出該方法中存在的問題,並且分析出現該問題的原因,同時給出你的解決方案。(提示:存在的問題不止一個)

要求:

(1)    寫出問題所在

沒有考慮使用者輸入資料的完整性,以及資料類型。返回的結果數組錯誤。

(2)    寫出問題產生的原因

If語句判斷條件太少。

(3)    給出修改後的代碼

public String getPhoneNumber(String strPhoneNum){

        if((strPhoneNum==null) || "".equals(strPhoneNum)){

            return "";

        }

        String[] arrPhone=strPhoneNum.split("-");

if(arrPhone.length>1){

 return arrPhone[1];

 } 

return ””;

2、  請寫一段用於整型數組排序的代碼,說明你的設計思路,並利用錯誤推測法給出可能出錯的情況(至少5種),設計出測試案例,並利用JUnit編寫單元測試進行測試。(假設傳入的參數已經確定為整型數組)

要求:

(1)    寫出代碼,並符合代碼規範(命名要規範,不可直接寫在main方法中,需要有類注釋、方法注釋、以及適當的行注釋)

import java.util.Scanner;

 

 

public class Demo {

         public static void sort(int[] values){

         int temp;

         for(int i=0;i<values.length;i++){//趟數

                for(int j=0;j<values.length-i-1;j++){//比較次數

                       if(values[j]>values[j+1]){

                              temp=values[j];

                              values[j]=values[j+1];

                              values[j+1]=temp;

                       }

                }

         }

  }

}

(2)    說明你的設計思路

比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後一個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

(3)    寫出可能出錯的情況(至少五種)

  1. 數組沒有元素
  2. 元素全部相同
  3. 有負數參與
  4. 有浮點數參與
  5. 既是負數又是浮點數

(4)    編寫JUnit單元測試,將前面給出的可能出錯的測試資料放入單元測試進行測試

1.

2.

3.

4.

5.

《軟體測試》 第三次部落格作業

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.