3137102334_卓文翔_实验5

《软件测试》实验

实验五 测试技术                                                       

实验目的

(1) 根据实际情况,综合应用各种软件测试技术

(2) 熟练掌握MyEclipse+Junit的Java编程和单元测试

实验内容

一、 找出函数中存在的问题。以下题目均在Lab05项目中完成。

1、 请给MySQLConnBean.java中的类和每个方法都加上注释

package org.easybooks.bookstore.jdbc;

import java.sql.*;

/*

 * 功能:jdbc连接数据库

 * */

public class MySQLConnBean {

private Statement stmt=null; //定义执行sql语句变量

private Connection conn=null; //定义执行数据库连接变量

private ResultSet rs=null; //定义结果变量

public void openConn() throws Exception {//根据用户名和密码连接数据库

Class.forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://localhost:3306/test";

String user="root";

String password="123456";

conn=DriverManager.getConnection(url, user, password);

}

public ResultSet execQuery(String sql){//获得传入的sql语句并执行

rs=null;

try{

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

rs=stmt.executeQuery(sql);

}catch (SQLException e) {

System.err.println("Data.executeQuery:"+e.getMessage());

}

return rs;

}

public void closeStmt(){ //关闭数据库连接

try{

stmt.close();

}catch(SQLException e){

System.err.println("Data.executeQuery:"+e.getMessage());

}

}

public void closeConn(){ //关闭数据库连接

try{

conn.close();

}catch(SQLException e){

System.err.println("Data.executeQuery:"+e.getMessage());

}

}

}

2、 找出项目中存在的缺陷,并给出解决的方案(至少3个,不包含下面那个举例)。

说明:这里所说的缺陷不一定都是错误,而是明显需要改进的地方。

如:不可以无限输入密码,容易被暴力破解,存在安全隐患。

解决方案:密码输入3次错误,关闭浏览器。最好再加上验证码。

解:

1. 应将jsp页面放入web-info中。

2.程序设计要有好的业务逻辑的话就要运用mvc三层架构。

3. validate.jsp没有校验用户是否输入数据和数据的输入类型是否符合要求,需要在接受参数前加入判断语句。

二、 请按要求对下面的Java代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key的元素。  

(1) 要求采用基本路径法给出程序控制流图;

(2) 算出环路复杂性

16-14+2=4

(3) 给出所有的独立路径,以及对应的测试用例和预期结果

路径1:1-2-3-13-14

测试用例: 满足low>hign 的用例(array[]=3,2,1  key=1)     预期结果:将跳出while语句

路径2:1-2-3-4-5-6-7-12-13-14

测试用例:满足 key==array[mid] 的用例 (array[]=1,2,3  key=2)    预期结果:将执行5.6

路径3:1-2-3-4-5-8-9-12-13-14

测试用例:满足 key<array[mid] 的用例  (array[]=1,2,3  key=1)   预期结果:将跳出8.9语句

路径4:1-2-3-4-5-10-11-12-13-14

测试用例:满足 key>array[mid] 的用例 (array[]=1,2,3  key=2)    预期结果:将跳出10.11语句

原文地址:https://www.cnblogs.com/wx163/p/5544273.html