zoukankan      html  css  js  c++  java
  • 【testing_第三周】三个editbox____测试用例

    一.简介:

    本次小实验是在上次博客的基础上改进的,由一个editbox变成3个editbox。

    由于被测试的文本框的个数增加,测试用例以及测试的内容都有所不同。

    同时,我在编写代码时也考虑到了测试时的问题,因为3个editbox中的内容的要求、规格都是一致的,因此只需要写个for循环来控制3个box的测试 ,这为测试时带来了方便。

    另外,3个box与1个box问题的区别在于他们之间的输入是否互相影响,这点在测试以及编程时也要考虑到。

    具体上次问题的介绍请参考我的上一篇博客:http://www.cnblogs.com/zhanghan2015/p/4357236.html

    二.划分等价类:

    编号 有效等价类 编号 无效等价类
    1 长度1-6 6 长度0
      7 长度>=6
    2 数字0-9 8

    数字字母以外的字符/

    控制字符/

    标点符号

    3 字母a-z
    4 字母A-Z
    5

    输入正确盒子

    个数为3

    9 盒子1不正确,盒子2,3正确
    10 盒子2不正确,盒子1,3正确
    11 盒子3不正确,盒子1,2正确
    12 盒子1,2不正确,盒子3正确
    13 盒子1,3不正确,盒子2正确
    14 盒子2,3不正确,盒子1正确
    15 盒子1,2,3都不正确

    三.设计测试用例:

    编号 测试用例 覆盖等价类 期望输出
    1

    123ab

    C45

    789xYZ

    1,2,3,4,5

    第1个盒子输入正确!

    第2个盒子输入正确!

    第3个盒子输入正确!

    2

    null

    null

    null

    6,15 输入不能为空
    3

    aaaaaaaa

    aaaaaaaa

    aaaaaaaa

    7,15 输入长度不能大于6
    4

    [[[

    [[[

    [[[

    8,15

    不能输入数字和字母以外的字符

    5

    123ab

    abcdefg

    ,,,,

    9 第1个盒子输入正确,第2,3个盒子错误
    6

    null

    45C

    0123333

    10 第2个盒子输入正确,第1,3个盒子错误
    7

     !!!!

    null

    46Cd

    11 第3个盒子输入正确,第1,2个盒子错误
    8

    123ab

    Xy6

    null 

    12 第1,2个盒子正确,第3个盒子错误
    9

    123ab

    ///

    09VC

    13 第1,3个盒子正确,第2个盒子错误
    10

    0000000

    123ab

    KLM

    14 第2,3个盒子正确,第1个盒子错误
    11

     null

    ;;;;

    1234567

    15 第1,2,3个盒子都错误

    四.代码:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
     <%
     String path = request.getContextPath();
     String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
      %>
      
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html>
        <head>
         <base href="<%=basePath%>">
         
         <title>My JSP 'index.jsp' starting page</title>
         <meta http-equiv="pragma" content="no-cache">
         <meta http-equiv="cache-control" content="no-cache">
         <meta http-equiv="expires" content="0">    
         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
         <meta http-equiv="description" content="This is my page">
         <!--
         <link rel="stylesheet" type="text/css" href="styles.css">
         -->
       </head>
       <script>
     
     function myFun()
     {   
         var myArray=new Array(3);
         var alertstr=new Array("输入为空!","长度大于6个字符!","你输入的字符不是数字或者字母!","输入正确!");   
         for( i=0;i<3;i++)
         {
         	var str=document.getElementById(i).value;	
    		if(str.length<1)
     		{		
        		myArray[i]=0;
     		}
     		else if(str.length>6)
     		{
     		
     			myArray[i]=1;
     		}
     		else
     		{
     			var reg = /[^0-9a-zA-Z]+$/;
         		if(reg.test(str))
         		{    			
         			myArray[i]=2;
         		} 
         		else
        		{		
         			myArray[i]=3;
         		}
     		} 
         
         }
         var alerts="";
         for(j=0;j<3;j++)
         {
             for(k=0;k<4;k++)
             {
             	if(myArray[j]==k)
             	{
                	alerts+="第"+(j+1)+"个盒子"+alertstr[k]+"
    ";
             	}
             }
         }
         alert(alerts);
    }
    
       
     </script>
     
       <body>
         <p align="center">请输入1-6位字符(只允许数字和字母)</p>
     	 <center>  
     	<tr style="text-align:center">盒子1:
        <input id="0" type="text" >
     	</tr><br></br>
     		<tr style="text-align:center">盒子2:
        <input id="1" type="text" >
     	</tr><br></br>
     		<tr style="text-align:center">盒子3:
        <input id="2" type="text" >
     	</tr><br></br>
     	<tr><button type="button" onclick="myFun()"align="center">确定</button></tr>
     	</center>
       </body>
     </html>
    

    五.测试结果:

    (1)第1,2 ,3个盒子都正确:

    (2)输入不能为空

    (3)长度不能超过6

    (4)不能输入数字和字母以外的字符

     (5)第1个盒子输入正确,第2,3个盒子错误

      

     (6)第2个盒子输入正确,第1,3个盒子错误

     (7)第3个盒子输入正确,第1,2个盒子错误

     (8)第1,2个盒子输入正确,第3个盒子错误

     (9)第1,3个盒子输入正确,第2个盒子错误

     (10)第2,3个盒子输入正确,第1个盒子错误

     (11)3个盒子都输入错误

     

    六.心得:

    虽然这个小例子比较简单,但是我体会到程序员编程时应该充分考虑到测试时候的问题,用简洁清晰的代码为测试工作创造便捷。

  • 相关阅读:
    svn command line tag
    MDbg.exe(.NET Framework 命令行调试程序)
    Microsoft Web Deployment Tool
    sql server CI
    VS 2010 One Click Deployment Issue “Application Validation did not succeed. Unable to continue”
    mshtml
    大厂程序员站错队被架空,只拿着五折工资!苟活和离职,如何选择?
    揭秘!Windows 为什么会蓝屏?微软程序员竟说是这个原因...
    喂!千万别忘了这个C语言知识!(~0 == -1 问题)
    Linux 比 Windows 更好,谁反对?我有13个赞成理由
  • 原文地址:https://www.cnblogs.com/zhanghan2015/p/4374523.html
Copyright © 2011-2022 走看看