• [软件测试学习] 等价类划分方法的运用


    1. 问题描述

    在三个文本框中输入字符串,要求均为1到6个英文字符或数字,按ok结束

    2. 以输入条件划分等价类

    条件1: 字符;

    条件2: 1<=文本1长度<=6;

    条件3: 1<=文本2长度<=6;

    条件4: 1<=文本3长度<=6;

    编号 有效等价类 编号 无效等价类
    1 字符 6 1个含非字符
    7 2个含非字符
    8 3个含非字符
    2 1<=文本1长度<=6 9 文本1长度为0
    10 文本1长度大于6
    3 1<=文本2长度<=6 11 文本2长度为0
    12 文本2长度大于6
    4 1<=文本3长度<=6 13 文本3长度为0
    14 文本3长度大于6
    5 3个输入有效   3个输入无效,2个输入无效,1个输入无效

    3.设计测试用例

    No 文本框1; 文本框2; 文本框3 覆盖等价类 期望输出
    1 12ahW; Q1sE2; 32DAss 1,2,3,4,5 输入正确
    2 &*1 ; as1We; w12Dd 6 文本框1含非法字符
    3 saq13; $%D2; (*22A 7 文本框2、3含非法字符
    4 QW1#; Ds2#4; d$ 8 文本框1、2、3含非法字符
    5  ; niw1w; qq1S 9 文本框1位空
    6 12heosjdc; sad2; s222 10 文本框1长度超过6
    7 dd; ;3213d2 11 文本框2为空
    8 we; eq2332dW; e23 12 文本框2长度超过6
    9 wwe1; ewcD22;  13 文本框3为空
    10 da; 23e; 232321dsdqd 14 文本框3长度超过6
     

    4.测试结果

    No 效果
    1
    2

    3
    4
    5
    6
    7
    8
    9
    10
     
     
     
    5.其他思考
    这次作业也只是考虑到了很简单的情况,在实际情况下应该有很多问题需要考虑:
    比如 界面测试:填写文本框的时候用什么方式进行两个文本框中间的切换,回车还是移动鼠标。
    再比如,根据界面设计的不同用例可能也不一样:
    这里用对话框显示结果,但是不排除其他情况下,是在填写的时候文本框显示对或者错来实时反应填写情况。
    由此也可以想到,测试有很多相关因素,不仅仅是根据基本需求。

    6.代码附录 

     1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
     2 <%
     3 String path = request.getContextPath();
     4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     5 %>
     6 <%request.setCharacterEncoding("utf-8"); %>
     7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     8 <html>
     9 <script type="text/javascript">
    10     function fun()
    11     {
    12         var reg = /^[A-Za-z0-9]+$/;
    13         var inputArray = new Array(3);
    14         var alertStr = new Array("长度为0","长度大于6","非法字符", "输入合法");
    15         var i;
    16         for(i = 0; i<3; i++){
    17             var s = document.getElementById(i).value;
    18             if(arr=s.match(reg)){
    19                 if(s.length > 6) inputArray[i] = 1;
    20                 else inputArray[i] = 3;
    21             }
    22             else{
    23                  if(s.length < 1) inputArray[i] = 0;
    24                  else inputArray[i] = 2;                     
    25             }
    26         }
    27         
    28         tips = "";
    29         var j;
    30         for(j = 0; j<3; j++){
    31             index = inputArray[j];
    32             tips += ""+(j+1)+"个文本框输入"+alertStr[index]+"
    ";
    33         }
    34         alert(tips);
    35     }
    36 </script>
    37   <head>
    38     <base href="<%=basePath%>">
    39     
    40     <title>My JSP 'index.jsp' starting page</title>
    41     <meta http-equiv="pragma" content="no-cache">
    42     <meta http-equiv="cache-control" content="no-cache">
    43     <meta http-equiv="expires" content="0">    
    44     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    45     <meta http-equiv="description" content="This is my page">
    46     <link href="./css/bootstrap.min.css" rel="stylesheet" media="screen">    
    47   </head>
    48 <center> 
    49 <form>
    50    <div class="form-group">
    51       <input class="form-control" name="0" id="0" size="10" placeholder="请输入1-6个英文字符或数字">
    52   </div>
    53     <div class="form-group">
    54       <input class="form-control" name="1" id="1" placeholder="请输入1-6个英文字符或数字">
    55   </div>
    56   <div class="form-group">
    57       <input class="form-control" name="2" id="2" placeholder="请输入1-6个英文字符或数字">
    58   </div>
    59   <div class="form-group">
    60     <button class="btn btn-primary btn-block" type="button" name="button" id="button" onclick="fun();">ok</button>  
    61   </div>
    62 </form>
    63 </center>
    64 </html>
  • 相关阅读:
    WordPress网站绑定多个域名的方法
    htpasswd 命令使用
    在Windows下用OpenSSL生成证书步骤
    WCF中关于List和数据的转换问题
    NET2.0的配置文件
    C# Attribute
    c#自定义属性
    VS2005中读写配置文件(方法二)
    c#的反射
    Asp.NET 操作配置文件 Steven Pei 博客园
  • 原文地址:https://www.cnblogs.com/RabbitHole/p/4375151.html
Copyright © 2020-2023  润新知