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个盒子都输入错误

     

    六.心得:

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

  • 相关阅读:
    电路原理图分析
    GPIO学习——用户空间操作
    在Android上运行Java和C程序
    Android命令行工具学习总结
    Android蓝牙学习笔记
    33 把数组排成最小的数
    233 Number of Digit One
    32 从1到n整数中1出现的次数
    31 连续子数组的最大和
    《大型网站技术架构》学习笔记
  • 原文地址:https://www.cnblogs.com/zhanghan2015/p/4374523.html
Copyright © 2011-2022 走看看