zoukankan      html  css  js  c++  java
  • 实验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页面还是不要写java代码的好,那样性能较差,程序设计要运用mvc三层架构,才能有好的业务逻辑。

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

    3.所有jsp页面没有放到web-info中,会被直接访问。应该将这些页面放置在web-info下,并且以跳转方式访问。

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

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

     

    (2)       算出环路复杂性

    16-14+2=4

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码
    JS中的动态合集与静态合集
    对联
    诗词
    文言文
    Youth Is Not a Time of Life
    JS探秘——那些你理解存在偏差的问题
    JS中的加号+运算符详解
    支持HTTP2协议
    银行卡信息查询接口
  • 原文地址:https://www.cnblogs.com/yyzzkk/p/5421405.html
Copyright © 2011-2022 走看看