《软件测试》实验

实验五 测试技术                                                      

 

实验目的

 

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

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

 

实验内容

 

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

 

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

package org.easybooks.bookstore.jdbc;

/*

 * 功能:通过JDBC连接MySQL

 * 作者:某人

 * 时间:2016年4月22日

 *

 */

import java.sql.*;

 

public class MySQLConnBean {

    private Statement stmt=null;

    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){

       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());

       }

    }

    /*

     * 关闭stmt

     */

   

    public void closeConn(){

       try{

           conn.close();

       }catch(SQLException e){

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

       }

    }

    /*

     * 关闭SQL连接

     */

}

 

 

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

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

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

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

1.对账号没有规范,符号紊乱。

解决方案:规范账号输入的字符要求。

2.jsp文件应该放入 WEB-inf中,直接访问

3.没有账号类型辨别,便于区分不同账号的权限.

 

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

 

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

(2)      

(3)       算出环路复杂性

(4)       环形复杂度=闭合区数=4

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

1.1 2 3 4 5 6 7 12 13 14

满足测试用例key==ary[]=7,8,9key=8预期结果跳到7,12

2.1 2 3 4 13 14

满足测试用例low>high ary[]=4,3,2,1 low=4 high=1预期结果跳到4,13

3.1 2 3 4 5 6 8 9 12 13 14

满足测试用例 key<ary[mid]7,8,9key=7预期结果跳到9

4.1 2 3 4 5 6 8 10 11 12 13 14

 

测试用例key>ary[mid]7,8,9key==9预期结果跳到10,11