zoukankan      html  css  js  c++  java
  • 关于等价类测试的简单实践 20150322

      上课时学习了等价类测试,所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。

      划分等价类测试为有效等价类和无效等价类,检验程序是否符合要求,使软件测试的一种方法。划分等价类可以有如下几种方法。

      1.按区间划分。
      2.按数值划分。
      3.按数值集合划分。
      4.按限制条件或规划划分。
      5.按处理方式划分。
     
      一个简单的实践:
      检验用户名是否合法
      1)要求:允许1到6个英文字符或数字。
     2)划分等价类:
     划分等价类:有效等价类:长度:1到6字符:a-z,A-Z,0-9
     无效等价类:长度:0,7 字符:英文/数字以外字符,控制字符,标点符号
     
      编号 有效等价类 编号 无效等价类
    长度 1 1到6 3 0,7
    字符 2 a-z,A-Z,0-9 4 英文/数字以外字符,控制字符,标点符号
      
     
     
     
     
     
    3)设定测试用例:
     
    编号 测试用例 覆盖等价类 希望输出
    test1   3 false
    test2 1234567 3 false
    test3 aB2 12 true
    test4 @ 14 false
    test5 af$$fa 124 false
    test6 ,.67g 124 false
    test7 sf4gs 12 true
    test8 ewr4wrw 23 false
    test9 %rhjhs.,hs 234 false
     
     
     
     
     
     
     
     
     
     
     
     
    4)代码实现及测试
    使用jsp+tomcat的方法实现。
    前台:
     1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
     2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     3 <html>
     4 <center><font size=7 color=#800000>用户名校验</font> </center>
     5 <br/><br/>
     6 <hr/>
     7 <br/>
     8 
     9 <%
    10 String text=(String)session.getAttribute("text");
    11 if(text == null)
    12  text ="";
    13 %>
    14 <div>
    15 <form name="form1" method="post" action="http://localhost:8080/new/check.jsp">
    16 <center>请输入: <input type="text" style="200px; height:20px;" name="text"value=<%=text%>></center><br/>
    17 <center><input type="submit" class = button value="检验">&nbsp;&nbsp;
    18 <input type="reset" value="重置"></center>
    19 </form>
    20 </div>
    21 <%session.invalidate(); %>
    22 </body>
    23 </html>

    后台:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ page language="java" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import= "java.util.regex.*"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
    
      </head>
      
      <body>
      <%
      String text= request.getParameter("text");
      request.getSession().setAttribute("text",text);
      int length = text.length();
      if(length==0){
      %>
      <script>
      alert("字符不能为空!");
      window.location="index.jsp";
      </script>
      <%} 
      if(length!=0&&length>6){
      %>
      <script>
      var t='<%=text%>';
      alert("字符"+t+"长度不合法!");
      window.location="index.jsp";
      </script>
      <%}  
      if(length>0&&length<=6){
        String regex = "([a-z]|[A-Z]|[0-9])+";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(text);
     if(m.matches()==true){
      %>
            <script>
            var t='<%=text%>';
            alert("字符"+t+"合法!");
            window.location="index.jsp";
            </script> 
      <% }
          else{ %>
          <script>
          var t='<%=text%>';
          alert("字符"+t+"不合法!");
          window.location="index.jsp";
          </script> 
          <%}}%>
      
      </body>
    </html>

    输出结果:

    测试页面:

    测试结果:

     
  • 相关阅读:
    3月16日
    11月8日
    Code4 APP
    为什么alertView弹出后button会消失的问题
    设置某个类使用或者禁用ARC
    Bundle使用&NSBundle
    respondsToSelector
    NSDate获取当前时区的时间
    iOS enum 定义与使用
    IOS开发之纯代码界面--基本控件使用篇 ┊
  • 原文地址:https://www.cnblogs.com/wushaobo/p/4356803.html
Copyright © 2011-2022 走看看