测试用例练习2

一、问题介绍

  上次编写的问题,即有一个页面,输入1-6个英文字符或数字,已完成测试,测试用例的设计也得到练习,这次便让问题复杂一些,改为有3个输入框,因为问题规模增加了,所以,测试也就自然而然的变得复杂了。由于上次练习的是按照输入进行测试,所以,这次练习按照输出进行测试。

二、测试用例

  一行 二行 三行 预期结果
test1 123 abc ABC ok
test2   abc ABC 第一行字符数太少
test3 njzdnbnbz abc ABC 第一行字符数太多
test4 、gr abc ABC 第一行字符不合规范
test5 123   ABC 第二行字符数太少
test6 123 njzdnbnbz ABC 第二行字符数太多
test7 123 \adfg ABC 第二行字符不合规范
test8 123 abc   第三行字符数太少
test9 123 abc sgzngrfsn 第三行字符数太多
test10 123 abc v%g 第三行字符不合规范

三、测试过程

  这是首页

  test1结果

  test2结果

  test3结果

  test4结果

  test5结果

  test6结果

  test7结果

  test8结果

  test9结果

  test10结果

  此次测试结果如上图所示,结果证明软件符合要求。

三、代码

<%@ page import = "java.io.*"%>
<%@ page import = "java.util.*"%>
<%@ page import = "java.sql.*"%>
<%@ page import = "javax.sql.*"%>
<%@ page import = "javax.naming.*"%>
<%@ page contentType = "text/html; charset=utf-8"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("utf-8"); %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head><title>主页</title> </head>

  <body>

  <center>
     <form action="yanzheng.jsp" method="post">
     <fieldset style="width:400px;height:150px">
        <table border="0" cellspacing="0" cellpadding="0" width="100%">

        <tr>
        <td width = "20%" align = "center">name1:</td>
        <td><input type="text" name="name1" size=‘45‘></td>
        </tr>
        <br/>
        <tr>
        <td width = "20%" align = "center">name2:</td>
        <td><input type="text" name="name2" size=‘45‘></td>
        </tr>
        <br/>
        <tr>
        <td width = "20%" align = "center">name3:</td>
        <td><input type="text" name="name3" size=‘45‘></td>
        </tr>
        <br/>
        <tr>
        <td colspan="2" align = "center"><input type="submit" name="submit" value="提交">
        </td>
        </tr>

        </table>
        </fieldset>
    </form> 

    </center>
  </body>

</html>
<%@ page import = "java.io.*"%>
<%@ page import = "java.util.*"%>
<%@ page import = "java.sql.*"%>
<%@ page import = "javax.sql.*"%>
<%@ page import = "javax.naming.*"%>
<%@ page contentType = "text/html; charset=utf-8"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%request.setCharacterEncoding("utf-8"); %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>验证</title>

  </head>

  <body>

  <%
  try{

      String a = request.getParameter("name1");
      String b = request.getParameter("name2");
      String c = request.getParameter("name3");
      int num1 = a.length();
      int num2 = b.length();
      int num3 = c.length();
      boolean bool1 = true;
      boolean bool2 = true;
      boolean bool3 = true;
      if(num1==0){
      	bool1 = false;
      %>
          <center>
          <table>
          <tr><td>第一行字符数太少,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%
      }
      else if(num1>6){
      	bool1 = false;
      %>
          <center>
          <table>
          <tr><td>第一行字符数太多,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%}
      else{
      	char ch;
      	for(int i = 0;i < num1;i++){
      		ch = a.charAt(i);

      		int n =(int)(ch);
      		if((n>47&&n<58)||(n>64&&n<91)||(n>96&&n<123)){}
      		else{
      			bool1 = false;
      			break;
      		}
      	}    	

      if(bool1){}
      else{
      	%>
          <center>
          <table>
          <tr><td>第一行字符不合规范,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%
      }
      }

      if(num2==0){
      	bool2 = false;
      %>
          <center>
          <table>
          <tr><td>第二行字符数太少,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%
      }
      else if(num2>6){
      	bool2 = false;
      %>
          <center>
          <table>
          <tr><td>第二行字符数太多,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%}
      else{
      	char ch;
      	for(int i = 0;i < num2;i++){
      		ch = b.charAt(i);

      		int n =(int)(ch);
      		if((n>47&&n<58)||(n>64&&n<91)||(n>96&&n<123)){}
      		else{
      			bool2 = false;
      			break;
      		}
      	}    	

      if(bool2){}
      else{
      	%>
          <center>
          <table>
          <tr><td>第二行字符不合规范,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%
      }
      }

      if(num3==0){
      	bool3 = false;
      %>
          <center>
          <table>
          <tr><td>第三行字符数太少,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%
      }
      else if(num3>6){
      	bool3 = false;
      %>
      	  <center>
          <table>
          <tr><td>第三行字符数太多,请返回修改</td></tr>
          <tr><td>

      	  </center>

      <%}
      else{
      	char ch;
      	for(int i = 0;i < num3;i++){
      		ch = c.charAt(i);

      		int n =(int)(ch);
      		if((n>47&&n<58)||(n>64&&n<91)||(n>96&&n<123)){}
      		else{
      			bool3 = false;
      			break;
      		}
      	}    	

      if(bool3){}
      else{
      	%>
          <center>
          <table>
          <tr><td>第三行字符不合规范,请返回修改</td></tr>
          <tr><td>

      	  </center>
      <%
      }
      }
      if(bool1 && bool2 && bool3){
      	%>
          <center>
          <table>
          <tr><td>ok</td></tr>
          <tr><td>
      	  <a href = "<%=request.getContextPath()%>/index.jsp">返回</a>
      	  </td></tr>

      	  </table>
      	  </center>
      <%
      }
      else{
      	%>
          <center>
          <table>

          <tr><td>
      	  <a href = "<%=request.getContextPath()%>/index.jsp">返回</a>
      	  </td></tr>

      	  </table>
      	  </center>
      <%

      }

	}catch(Exception e){out.println(e.getMessage());}

  %>
  </body>
</html>
时间: 2024-11-07 14:35:14

测试用例练习2的相关文章

测试用例规范v2.0

1.引言 软件测试规范的编写是为了给测试人员在测试用例编写的过程中提供一个指导. 测试目的 测试是软件交付用户使用前一个不可缺少的环节,它存在的目的有四个:1)找到尽可能多的找到系统中的bug:2)关注用户的需求:3)根据测试最终结果分析和评估软件的质量风险:4)找到软件开发过程中的缺陷.具体内容可以上网查询. 2.了解业务 写测试用例前要了解这个系统的业务逻辑,将系统到各个子系统模块进行细化,从宏观到微观,从同级关系,上下级关系以及各系统间的接口交互进行了解. 就和看目录一样,先看所有的大标题

三角形测试用例

某函数规定:"输入三个整数 a . b . c 分别作为三边的边长构成三角形.通过程序判定所构成的三角形的类型 ".写出该函数,并为该函数进行测试用例设计. 正常的输入 三角形有: 直角三角形 钝角三角形 锐角三角形 等腰三角形 等边三角形 等腰直角三角形 #include "my_typedef.h" INT32 triangle_function( INT32 i32l, INT32 i32m, INT32 i32n ) { INT32 temp = 0; /*

论测试用例的重要性

网上查找了很多关于测试用例重要性的文章,答案都不尽人意要么太理论化了,让人看了显得生硬,看完一头雾水:要么太过时了(不知道停留在那个年代的认识).笔者很想系统的认识一下测试用例,所以写了这篇文章: 软件测试的工作,都少不了写用例的时候,我想大部分的用例都是在产品需求出来一部份之后就已经开始了,因为这个时候,已经有了写测试用例的依据.有了大致需求之后对编写用例来说一般只是一个开始,我们还需要更多的信息,比如UE(用户交互设计稿).UI(用户界面设计图).需求的描述.产品大纲,功能模块图来提供更多的

接口测试用例设计实践总结

设计思路 1)   优先级--针对所有接口 1.暴露在外面的接口,因为通常该接口会给第三方调用: 2.供系统内部调用的核心功能接口: 3.供系统内部调用非核心功能接口: 2)   优先级--针对单个接口 1.正向用例优先测试,逆向用例次之(通常情况,非绝对): 2.是否满足前提条件 > 是否携带默认参值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制 >参数数据类型自身的数据范围值限制 3)   设计分析 通常,设计接口测试用例需要考虑以下几个方面: 1

selenium之批量执行测试用例

把写好的测试用例放在指定目录下,使用discover函数扫描该目录,并根据关键字自动筛选需要执行的用例.本例使用Python3.6版本. 1 # 遍历指定目录,批量执行测试用例 2 import unittest 3 4 case_dir = 'D:\\test_case' 5 6 7 def suites_run(): 8 '''运行测试套件,批量执行测试用例''' 9 # discover函数遍历指定目录,按条件过滤文件,返回测试套件列表 10 discover_suites = unitt

TestLink学习七:TestLink测试用例Excel转换XML工具

最近在整理测试用例,所以想找一个合适的工具来完成对测试需求.测试用例的管理.对比了一翻,发现开源工具中扩展比较好的还属TestLink,而且还可以与JIRA进行对接,这样就引起了我更大的兴趣.加上之前本来就接触过此工具,只是源于各种原因没能深入去研究来着,这次也就是决心于此!于是就找来了Testlink的最新版1.9.3,将其搭建在Ubuntu Server上,很快我们就可以正常方访问了.不过说实话,Testlink界面确实很难看,不过毕竟它不是商业工具,而且可以自己去扩展并定制开发,这就是最大

日程管理测试用例

NO 测试用例 实际结果 期望结果 测试结果Pass/Failed 备注 1 在账号框输入123456 密码框输入123456 登录成功 进入到主界面 进入到主界面 Pass   2 在账号框输入李四 密码框输入123456 登录成功 进入到主界面 提示账号输入错误 返回登录界面 Failed 账号不能为字符 3 在账号框输入123456 密码框输入李四 登录成功 进入到主界面 提示密码输入错误 返回登录界面 Failed 密码不能为字符 4 在账号框输入123456 密码框输入123 登录成功

给你一个输入框,可存文字,图片,视频,书写测试用例

1.给你一个输入框,可存文字,图片,视频,书写测试用例 等价类.边界值.猜测法 1.1.1 文本框的测试 如何对文本框进行测试 a,输入正常的字母或数字. b,输入已存在的文件的名称: c,输入超长字符.例如在"名称"框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入256个字符,检查程序能否正确处理: d,输入默认值,空白,空格: e,若只允许输入字母,尝试输入数字:反之:尝试输入字母: f,利用复制,粘贴等操作强制输入程序不允许的输入数据: g,输入集,例如,NUL及\

RabbitMQ基本功能测试用例(Java实现)

为了测试RabbitMQ是否好用,编写了一个由Java语言编写的RabbitMQ基本功能测试用例,仅供参考. 代码说明: 由于实现语言是Java,因此有Java虚拟机(安装了JDK或JRE)即可测试,不需要像Python一样需要安装第三方模块,便于Docker环境下做简单测试.在此测试用例用用到了amqp-client-3.x.x.jar库,可以自行下载. 为实现一个java源文件中实现收与发(编译后还是3个Class文件),在main函数中起了两个线程,一个负责发,一个负责收,用来测试Rabb

测试用例设计白皮书--正交实验设计方法

一.方法简介 利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到.往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计. 正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等.