《软件测试》实验四:白盒测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《软件测试》实验四:白盒测试相关的知识,希望对你有一定的参考价值。

一、找出函数中存在的问题。


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

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

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


 

问题:只要输入admin即可进入管理员页面

原因:未进行密码校验

修改:

JAVA:

public String getUserRole(String userName,String userPassword){
	String userRole="guest";
	if(userName.equals("admin") || userName.equals("administrator")){
		userRole="admin";
	}
	if(!userPassword.equals("123456")){
	    userRole = "guest";
	}		
            return userRole;
}    

 JSP:

<%@ page language="java" pageEncoding="gbk" import="java.sql.*"%>
<jsp:useBean id="UserOpeBean" scope="page" class="com.fenglong.service.UserOperation"></jsp:useBean>
<html>
	<body>
		<%
			String userName=request.getParameter("userName");
			String userPassword=request.getParameter("userPassword");
			String userRole=UserOpeBean.getUserRole(userName, userPassword);
			if(userRole.equals("admin")){
		%>
				<jsp:forward page="welcome_admin.jsp"/>
		<%		
			}else{
		%>
				<jsp:forward page="welcome.jsp"/>
		<%
			}
		%>
</body>
</html>

 


 

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

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

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


 

 

问题:输入英文字符出错

 

原因:类型无法转换

 

修改:

public boolean validateUserAge(String userAge){
		int age;
		try {
			age = Integer.parseInt(userAge);
		} catch (Exception e) {
			age = 0;
		}
		if(age<18 || age>26){
			return true;
		}
		return false;
	}
}

 


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


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


 

输入条件 有效等价类 编号 无效等价类 编号
三角形三个边 正数 1 一边 < 0 a < 0 11
b < 0 12
c < 0 13
两边 < 0 a < 0 且 b < 0 14
b < 0 且 c < 0 15
a < 0 且 c < 0 16
三边均 < 0 a < 0 且 b < 0 且 c < 0 17
整数 2 一边为非整数 a为非整数 21
b为非整数 22
c为非整数 23
两边为非整数 a , b为非整数 24
b , c为非整数 25
a , c为非整数 26
三边均为非整数 a , b, c均为非整数 27
非零数 3 一边为零 a = 0 31
b = 0 32
c = 0 33
两边为零 a = 0 且 b = 0 34
b = 0 且 c = 0 35
a = 0 且 c = 0 36
三边均为零 a = 0 且 b = 0 且 c = 0 37
三个边 4 只给一边 只给 a 41
只给 a 42
只给 c 43
只给两边 只给 a , b 44
只给 b , c 45
只给 a , c 46
给出三个以上   47
两边之和大于第三边 5 两边之和等于第三边 a + b = a 51
b + c = a 52
a + c = b 53
两边之和小于第三边 a + b < a 54
b + c < a 55
a + c < b 56

 

以上是关于《软件测试》实验四:白盒测试的主要内容,如果未能解决你的问题,请参考以下文章

实验四

软件测试-实验 实验三白盒测试

实验的部分功能白盒测试

软件测试的分类

《软件测试》实验五:测试技术

软件测试:(实验四)