可测试性战术的目标是允许在完成软件开发的一个增量后,轻松地对软件进行测试。
测试的目标是发现错误。
输入输出
记录/回放(Record/playback ):记录/回放是指将捕获跨接口的信息,并将其作为测试专用软件的输入。
代码
public static Connection getConn () { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(db_url, db_user, db_pass); } catch (Exception e) { e.printStackTrace(); } return conn; }
这里就调用了连接数据库的方法,并且通过try-catch语句抛出跨接口调用的异常信息。
将接口与实现分离(Separate interface from implementation ):将接口与实现分离允许实现的代替。占位实现允许在缺少被占位组件时,对系统的剩余部分进行测试
代码
private void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); String number = req.getParameter("number"); String carstyle = req.getParameter("carstyle"); System.out.println(number); System.out.println(carstyle); // System.out.println(username); userDao dao = new userDao(); int a = dao.delete(number, carstyle); if (a == 1) { PrintWriter out = resp.getWriter(); out.print("<script>alert(\"删除成功,返回界面\"); window.location.href='manager.jsp'</script>"); } else { PrintWriter out = resp.getWriter(); out.print("<script>alert(\"删除失败,返回界面\"); window.location.href='manager.jsp'</script>"); } }
如果该方法出了问题,可单独检查这一个方法,而不用检查整个项目
特化访问路线/接口:具有特化的测试接口允许通过测试工具并独立于其正常操作,来捕获或指定组件变量的值
内部监视
组件可以根据内部状态实现战术,以支持测试过程。
内部监视器(Built-in monitors ):组件可以维持状态、性能负载、容量、安全性或其他可通过接口访问的信息。当监视状态被激活时可以记录事件。