軟體測試:(實驗四)

來源:互聯網
上載者:User

標籤:

 某網站通過使用者輸入的使用者名稱和密碼(在login.jsp登入頁中輸入)來判斷出現什麼樣的介面,如果是管理員(即使用者名稱為admin或administrator)跳轉到管理員頁面(welcome_admin.jsp),非系統管理使用者跳轉到普通使用者介面(welcome.jsp)。遊客訪問網站是,無需輸入使用者名稱和密碼,直接進入普通使用者介面(welcome.jsp)。

 

要求:找出UserOperation.java檔案中的getUserRole ()方法存在的問題,說明問題產生的原因,並修改它

 

說明:不要求編寫Junit單元測試用例,可以自己設想測試資料,通過靜態分析,配合動態運行調試找出問題所在。

 

問題:沒有先判斷使用者名稱是否為空白,只有先對使用者名稱進行判斷是否為空白,才能進行下一步判斷

原因:在UserOperation.java檔案中的getUserRole ()方法存在的問題是,它沒有設定考慮到隱使用者的處理(即當使用者名稱為空白值時)。

修改:

public String getUserRole(String userName){

String userRole="guest";

if(userName!=null){

if(userName.equals("admin") || userName.equals("administrator")){

userRole="admin";

}

}

else{

userRole="guest";

}

return userRole;

}

 

 

2、 使用者註冊(register.jsp)時要輸入年齡欄位,使用者輸入的參數由UserOperation.java檔案中的validateUserAge()方法,轉換為數值型,判斷年齡是否在18~26之間(包括18和26),如果年齡在此區間內,則返回true,跳轉到login.jsp頁,否則彈出提示框,提示“使用者年齡輸入不正確”。

 

要求:找出UserOperation.java檔案中的validateUserAge()方法存在的問題,說明問題產生的原因,並修改它

 

問題:輸入年齡欄位,如果輸入的字串為空白或特殊字元,會報錯。

原因:UserOperation.java檔案中的validateUserAge()方法中沒有做異常處理。

修改:

   public boolean validateUserAge(String userAge)throws Exception{

 

try {

if(Integer.parseInt(userAge)<18 || Integer.parseInt(userAge)>26){

return true;

}

}catch(Exception e){

return true;

}

return false;

}

}

說明:不要求編寫Junit單元測試用例,可以自己設想測試資料,通過靜態分析,配合動態運行調試找出問題所在。

 

3、某程式規定:"輸入三個非0正整數 a 、 b 、 c 分別作為三邊的邊長構成三角形(暫不考慮特殊三角形的情況)。請根據給出的說明,用等價類別劃分法進行劃分,並給每個等價類別規定唯一的編號。

 

輸入條件

有效等價類別

編號

無效等價類別

編號

輸入三個非0正整數a 、 b 、 c

構成三角形

三個非零正整數

a>0,b>0,c>0

1

有一邊為非正整數(a<=0或b<=0或c<=0)

2

有兩邊為非正整數(a<=0,b<=0或a<=0,c<=0或b<=0,c<=0)

3

 

三邊都為非正整數(a<=0,b<=0,c<=0)

4

兩邊之和大於第三邊

a+b>c或a+c>b或b+c>a

5

 

兩邊之和不大於第三邊

a+b<=c或a+c<=b或b+c<=a

6

兩邊之差小於第三邊

a-b<c或a-c<b或b-c<a

7

兩邊之差不小於第三邊

a-b>=c或a-c>=b或b-c>=a

8

軟體測試:(實驗四)

聯繫我們

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