首页 > 其他 > 详细

质量战术--可测试性

时间:2020-03-05 10:25:23      阅读:71      评论:0      收藏:0      [点我收藏+]

1.功能分块明确。

功能分块明确有利于在测试时进行每一块的测试,易于确认错误位置,如果分块不明确,我们就很难确认到底是那一块出错,因为一个程序比较复杂时,都是一点点拼出来的,自己都有时候很难搞清楚,更别提别人给你测试了,分块明确也有利于后期的修改等,好处很多。

技术分享图片

 

 代码:

dao层

package Dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import Data.Data;



public class dao {
    public List<Data> list1(){
        List<Data> list =new ArrayList<Data>();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/runoob?useSSL=false";
            String username = "root";
            String password = "12345678";
            Connection conn = DriverManager.getConnection(url, username,
                    password);
            String sql = "select * from tu";
            Statement statement = conn.createStatement();
            ResultSet resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                Data book = new Data();
                book.setHotwords(resultSet.getString("热词"));
                book.setNum(resultSet.getString("次数"));
                list.add(book);
            }
            resultSet.close();
            statement.close();
            conn.close();
}catch (Exception e) {
    e.printStackTrace();
}
        return list;
    }
    public List<Data> list2(){
        List<Data> list =new ArrayList<Data>();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/runoob?useSSL=false";
            String username = "root";
            String password = "12345678";
            Connection conn = DriverManager.getConnection(url, username,
                    password);
            String sql = "select * from lianjie";
            Statement statement = conn.createStatement();
            ResultSet resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                Data book = new Data();
                book.setHotwords(resultSet.getString("热词"));
                book.setExplain(resultSet.getString("解释"));
                book.setWebsite(resultSet.getString("网址"));
                list.add(book);
            }
            resultSet.close();
            statement.close();
            conn.close();
}catch (Exception e) {
    e.printStackTrace();
}
        return list;
    }
}

data层

package Data;

public class Data{
private String hotwords;
private String num;
private String explain;
private String website;
public String getExplain() {
    return explain;
}
public void setExplain(String explain) {
    this.explain = explain;
}
public String getWebsite() {
    return website;
}
public void setWebsite(String website) {
    this.website = website;
}
public String getHotwords() {
    return hotwords;
}
public void setHotwords(String hotwords) {
    this.hotwords = hotwords;
}
public String getNum() {
    return num;
}
public void setNum(String num) {
    this.num = num;
}

}

servlet层

package Servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import com.google.gson.Gson;

import Dao.dao;
import Data.Data;


@WebServlet("/servlet")
public class servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    dao dao1=new dao();
 protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String method=request.getParameter("method");
        if("1".equals(method))
        {
            find1(request, response);
        }else if("2".equals(method))
        {
            find2(request, response);
        }
 }
        private void find1(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
            request.setCharacterEncoding("utf-8");
                List<Data> list2=dao1.list1();
                Gson gson2 = new Gson();
                String json = gson2.toJson(list2);
                System.out.println(json);
                response.setContentType("text/html;charset=UTF-8");
                response.getWriter().write(json);
        }
        private void find2(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
            request.setCharacterEncoding("utf-8");
            request.setAttribute("list",dao1.list2());
            
            request.getRequestDispatcher("biao.jsp").forward(request, response);
        }
}

 

2.必要变量值要输出在控制台。

必要变量输出在控制台,是最直观的测试方法,可以直接让我们看到分析错误的依据,从而分析出错误,就像一个错误提示一样,是我平时编程找错误,最常用的方法,比直接读程序效率高很多,可以找到自己想不到的错误。

private void find1(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
            request.setCharacterEncoding("utf-8");
                List<Data> list2=dao1.list1();
                Gson gson2 = new Gson();
                String json = gson2.toJson(list2);
                System.out.println(json);
                response.setContentType("text/html;charset=UTF-8");
                response.getWriter().write(json);
        }

技术分享图片

 

质量战术--可测试性

原文:https://www.cnblogs.com/my---world/p/12418215.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!