• 实验四


    1、 某站点通过用户输入的用户名和密码(在login.jsp登录页中输入)来判断出现什么样的界面,如果是管理员(即用户名为admin或administrator)跳转到管理员页面(welcome_admin.jsp),非管理用户跳转到普通用户界面(welcome.jsp)。游客访问站点是,无需输入用户名和密码,直接进入普通用户界面(welcome.jsp)。

    要求:找出UserOperation.java文件中的getUserRole ()方法存在的问题,说明问题产生的原因,并修改它

    问题:没有判定用户登录之间的区别。当用index.jsp登录时,在确定跳转时出现错误;当用login.jsp登陆时,不会出现错误。

    原因:它没有设置考虑到隐用户的处理(即当用户名为空值时)

    修改:增加判断,判断是否为空值。

    说明:不要求编写Junit单元测试用例,可以自己设想测试数据,通过静态分析,配合动态运行调试找出问题所在。

    public String getUser(String userName){

            String user="mine";

            if(userName!=null){

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

                userRole="admin";

            }

            }

            else{

                userRole="mine";

            }

           

           

            return user;

        }

    2、 用户注册(register.jsp)时要输入年龄字段,用户输入的参数由UserOperation.java文件中的validateUserAge()方法,转换为数值型,判断年龄是否在18~26之间(包括18和26),如果年龄在此区间内,则返回true,跳转到login.jsp页,否则弹出提示框,提示“用户年龄输入不正确”。

    要求:找出UserOperation.java文件中的validateUserAge()方法存在的问题,说明问题产生的原因,并修改它

    问题:

    输入字符会报错

    原因:没有做异常处理

    修改:抛出异常处理

    说明:不要求编写Junit单元测试用例,可以自己设想测试数据,通过静态分析,配合动态运行调试找出问题所在。

    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;

                }

           

    }

    二、利用黑盒测试中的等价类划分完成以下题目

    3某程序规定:"输入三个0整数 a b c 分别作为三边的边长构成三角形(暂不考虑特殊三角形的情况)。请根据给出的说明,用等价类划分法进行划分,并给每个等价类规定唯一的编号。

          

    有效等价类

        号    号码

    无效等价类

    输入条件

    输入

    三个

    非零

    正整数

    整数

    1

    一边为非整数

    8

    两边为非整数

    9

    三边为非整数

    10

    三个数

    2

    只给一个数

    11

    只给两个数

    12

    给出三个以上

    13

    非零数

    3

    一边为0

    14

    两边为0

    15

    三边均为0

    16

    正数

    4

    一边小于0

    17

    两边小于0

    18

    三边均小于0

    19

    输出条件

    构成

    一般

    三角形

    a+b>c

    5

    a+b<c

    20

    a+b=c

    b+c>a

    6

    b+c<a

    21

    b+c=a

    a+c>b

    7

    a+c<b

    22

    a+c=b

  • 相关阅读:
    LeetCode Find Duplicate File in System
    LeetCode 681. Next Closest Time
    LeetCode 678. Valid Parenthesis String
    LeetCode 616. Add Bold Tag in String
    LeetCode 639. Decode Ways II
    LeetCode 536. Construct Binary Tree from String
    LeetCode 539. Minimum Time Difference
    LeetCode 635. Design Log Storage System
    LeetCode Split Concatenated Strings
    LeetCode 696. Count Binary Substrings
  • 原文地址:https://www.cnblogs.com/mystars/p/5510427.html
Copyright © 2020-2023  润新知