Lab04

一、 某站點經過用戶輸入的用戶名和密碼(在login.jsp登陸頁中輸入)來判斷出現什麼樣的界面,若是是管理員(即用戶名爲admin或administrator)跳轉到管理員頁面(welcome_admin.jsp),非管理用戶跳轉到普通用戶界面(welcome.jsp)。遊客訪問站點是,無需輸入用戶名和密碼,直接進入普通用戶界面(welcome.jsp)。java

 

要求:找出UserOperation.java文件中的getUserRole ()方法存在的問題,說明問題產生的緣由,並修改它jsp

 

說明:不要求編寫Junit單元測試用例,能夠本身設想測試數據,經過靜態分析,配合動態運行調試找出問題所在。單元測試

 

問題:當用index.jsp登陸時,在肯定跳轉時會出現錯誤;而用login.jsp登錄時,不會出錯。測試

緣由:在UserOperation.java文件中的getUserRole ()方法存在的問題是,它沒有設置考慮到隱用戶的處理(即當用戶名爲空值時)。spa

修改://增長判斷,先對userName作出判斷,是否未看,不爲空再繼續執行,若爲空則默認userRole="guest"調試

public String getUserRole(String userName){ci

        String userRole="guest";get

        if(userName!=null){it

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

            userRole="admin";

        }

        }

        else{

            userRole="guest";

        }

       

       

        return userRole;

    }

 

 

二、 用戶註冊(register.jsp)時要輸入年齡字段,用戶輸入的參數由UserOperation.java文件中的validateUserAge()方法,轉換爲數值型,判斷年齡是否在18~26之間(包括18和26),若是年齡在此區間內,則返回true,跳轉到login.jsp頁,不然彈出提示框,提示「用戶年齡輸入不正確」。

 

要求:找出UserOperation.java文件中的validateUserAge()方法存在的問題,說明問題產生的緣由,並修改它

 

問題:用戶註冊(register.jsp)時要輸入年齡字段,除了輸入數字外,輸入其餘字符都會報錯,出現500的語法錯誤。

緣由:UserOperation.java文件中的validateUserAge()方法中沒有作異常(除數字外其餘輸入)的處理。

修改:

/* throws Exception拋出異常處理

     * try {}catch(Exception e){}捕獲異常並處理

     */

    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單元測試用例,能夠本身設想測試數據,經過靜態分析,配合動態運行調試找出問題所在。

 

2、利用黑盒測試中的等價類劃分完成如下題目

 

三、某程序規定:"輸入三個非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

相關文章
相關標籤/搜索