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

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



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
时间: 2024-10-17 17:26:13

《软件测试》实验四:白盒测试的相关文章

闽江学院软件测试实验四作业

1.某公司网站的后台管理有一个用户注册的功能需要测试,该测试为黑盒测试,请用表格的方式给出该功能的测试用例(参考课本P107页).用户注册功能描述如下: (1)       管理员必须先登录,方可进入网站后台管理,进入后台管理界面后可以进行用户注册(假设用户注册的URL地址为http://www.fengt.com/Admin/UserRegister.jsp) (2)       用户注册要求输入用户名.密码.密码确认.邮箱,这4项内容均不能为空 (3)       用户名要求6-10个字符,

实验四 白盒测试

实验目的 (1) 掌握静态分析代码的技巧 (2) 学习黑盒测试中的等价类划分 实验内容 一. 找出函数中存在的问题.以下题目均在Lab04项目中完成. 1. 某站点通过用户输入的用户名和密码(在login.jsp登录页中输入)来判断出现什么样的界面,如果是管理员(即用户名为admin或administrator)跳转到管理员页面(welcome_admin.jsp),非管理用户跳转到普通用户界面(welcome.jsp).游客访问站点是,无需输入用户名和密码,直接进入普通用户界面(welcome

软件测试 - 实验四

一.找出函数中存在的问题.以下题目均在Lab04项目中完成. 1. 某站点通过用户输入的用户名和密码(在login.jsp登录页中输入)来判断出现什么样的界面,如果是管理员(即用户名为admin或administrator)跳转到管理员页面(welcome_admin.jsp),非管理用户跳转到普通用户界面(welcome.jsp).游客访问站点是,无需输入用户名和密码,直接进入普通用户界面(welcome.jsp). 要求:找出UserOperation.java文件中的getUserRole

软件测试实验四----mujava变异测试

1.整个路径结构 2.具体内容 2.1mujava的安装 2.1.1更改CLASSPATH环境变量,使命令行可以找到mujava的路径,方便之后mujava的使用. 2.1.2在系统某一路径下按照格式创建文件夹 2.1.3下载mujava.config文件并放置在muJavaHome文件夹中,更改内容为当前路径 2.1.4创建命令文件,方便一会儿使用mujava 在muJavaHome中下创建两个Txt,另存为cmd后缀,方便运行mujava程序. txt分别内容为: GenMutants.cm

实验四+117+陈俊超

实验四 功能自动化测试(2学时) 一.实验目的 1) 学习QTP工具的使用 2)了解黑盒自动化测试 二.实验要求 (1)对被测程序进行黑盒测试用例设计 (2)对QTP的飞机订票系统的任一界面或控件实现自动化测试.(测试的具体自选) (3)写出该程序的缺陷. 三.实验内容 1.对QTP的样例小程序飞机订票系统,实现自动化测试.(学号被3整除,测3a;余1,测3b:余2,测4a) 2.要求: 1)写出飞机订票系统的被测需求. 自行选择需要测试的部分,根据自己的能力,可大,可小. 描述,被测程序,与被

MySQL数据库实验四:嵌套查询

实验四          嵌套查询 一.实验目的 掌握SELECT语句的嵌套使用,实现表的复杂查询,进一步理解SELECT语句的高级使用方法. 二.实验环境 三.实验示例 1.  查询与"刘晨"在同一个系学习的学生. SELECT Sno,Sname,Sdept FROM Student WHERE Sdept  IN (SELECT Sdept FROM Student WHERE Sname= ' 刘晨 '): 用自身连接完成 SELECT  S1.Sno,S1.Sname,S1.

软件测试实验六

请用所学的软件测试知识和技术方法,对bookstore项目中的购物车模块进行测试,并写出测试的缺陷报告. 说明: 1.bookstore项目即实验7发给大家的项目 2.要求至少发现2个缺陷,即要写2份缺陷报告 3.缺陷报告参考课本P264页 4.缺陷报告中的严重度和优先级按照课本P263页中规定的严重度和优先级 5.页面布局.美观.链接等不符合需求,也算缺陷,但本题请不要写这些方面的缺陷,否则不给分. 购物车模块缺陷报告 缺陷编号:01.01.01                        

操作系统 实验四主存空间的分配和回收

实验四主存空间的分配和回收 1.    目的和要求 1.1.           实验目的 用高级语言完成一个主存空间的分配和回收程序,以加深对动态分区分配方式及其算法的理解. 1.2.           实验要求 采用连续分配方式之动态分区分配存储管理,使用首次适应算法.循环首次适应算法.最佳适应算法和最坏适应算法4种算法完成设计. (1)**设计一个作业申请队列以及作业完成后的释放顺序,实现主存的分配和回收.采用分区说明表进行. (2)或在程序运行过程,由用户指定申请与释放. (3)设计一

20145311实验四 &quot;Java网络编程及安全&quot;

20145311实验四 "Java网络编程及安全" 程序设计过程 实验内容 ·掌握Socket程序的编写:·掌握密码技术的使用:·设计安全传输系统 ·利用加解密代码包,编译运行代码,一人加密,一人解密:·集成代码,一人加密后通过TCP发送: 实验步骤 在这之前进行了一个socket连接的例子:用百度做了个实验 下面是两人合作进行RSA的加密: 首先建立一个Socket对象,用来连接特定服务器的指定端口(我负责的是服务器端,郑凯杰负责的是客户端,所以也就是输入我这边的ip地址),输入的参

实验四报告

20145339顿珠达杰 实验四 "Andoid开发基础" 实验内容 使用 Android Studio 设计“Hello!20145339顿珠达杰” 在亦徐同学的帮助下   终于成功了!!!