软件测试------UserForm1的测试用例

1.题目要求

    

2.实现方法

  我用了html+servlet的方法。html给出前端的UserForm1,servlet在后台处理输入并返回判断的结果。

  以下是项目的结构及前端的样子(结尾处会贴上重要代码)

               

3.等价类的划分、测试用例及实验结果

          有效等价类                    无效等价类

          长度1~6              输入为空

        字符:a~z,A~Z,0~9          输入长度大于6

                             含有特殊字符

  由上,则测试用例为:1.ab53c

            2.空输入

            3.1234avbs

            4.%250a

            5.小白哥

    测试过程及测试结果如下图:

  

   1.ab53c

     

   2.空输入

   

3.1234avbs

         

4.%250a

             

5.小白哥

              

4.结果分析

    等价类,有效等价类,无效等价类的划分确实可以让测试过程变得简单,有效,今后在测试的过程中要学以致用。

5.关键代码

     PrintWriter out = response.getWriter();
        String name = request.getParameter("username");
        if(name.length() > 6){
            out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>无效</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h2> <a href=\"/UserForm/index.jsp\">输入长度不能大于6</a></h2>");
            out.println("</body>");
            out.println("</html>");
            out.flush();
        }else{
            boolean ok = true;
            for(int i = 0;i < name.length();i++){
                if(Character.getNumericValue(name.charAt(i)) < 0){//判断是否输入为中文
                    ok=false;break;
                }
                if(!Character.isLetterOrDigit(name.charAt(i))){
                    ok=false;break;
                }
            }if(ok){
                out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
                out.println("<html>");
                out.println("<head>");
                out.println("<title>有效</title>");
                out.println("</head>");
                out.println("<body>");
                out.println("<h2> <a href=\"/UserForm/index.jsp\">恭喜你输入了有效的名字</a></h2>");
                out.println("</body>");
                out.println("</html>");
                out.flush();
            }else{
                out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
                out.println("<html>");
                out.println("<head>");
                out.println("<title>无效</title>");
                out.println("</head>");
                out.println("<body>");
                out.println("<h2> <a href=\"/UserForm/index.jsp\">不能包括非英文字符和非数字</a></h2>");
                out.println("</body>");
                out.println("</html>");
                out.flush();
            }

        }

6.写在后面

因为c1,c2不能同时发生,要考虑的情况剩了24种,当c1,c2均为0时,因果

图逻辑是OK的,c1,c2有一个唯一时,按一种饮料的按钮没问题,按2个或3

个按钮行不行我觉得看程序怎么写了,如果程序的逻辑是按可乐,雪碧,红茶

来依次判断按钮是否被点击,相互又是或的关系,这样饮料机只需给出判断到

的第一种饮料即可。

时间: 2024-10-17 05:31:30

软件测试------UserForm1的测试用例的相关文章

软件测试接口测试的测试用例类型

接口测试的目的是为了测试接口(听起来怪怪的),尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数.本文主要介绍了接口测试用例类型,让我们一起来看. AD:WOT2014:用户标签系统与用户数据化运营培训专场 接口测试是项目测试的一部分,它测试的主要对象是接口,是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点.测试的重点是检查数据交互.传递和控制管理过程预计系统见的相互依赖关系等. 最近测试了下S

软件测试系列之测试用例(七)

认识测试用例 定义 测试用例(Test Case)是为某个特殊目标而编制的一组测试输入.执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求. 构成 用例ID.用例名称.用例描述.前提条件.结束准则.测试步骤.预期结果.实际结果.判断准则. 重要性 测试用例的设计如此重要,原因在于完全的测试是不可能的,对任何程序的测试必定是不完全的.所以,最显然的测试策略就是努力使测试尽可能完全.下面是更为详尽的测试用例的好处: 1.在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效

软件测试基础知识——测试用例设计方法

软件测试的分类: 1.按软件功能测试分类:基于规格说明的测试(传统黑盒测试.基于规格说明测试).基于控制流的测试(白盒测试) 传统黑盒测试:边界值.等价类.决策表.因果图 白盒测试:语句覆盖.判断覆盖.条件覆盖.MC/DC覆盖.基本路径覆盖. 基于规格说明测试:状态机.UML.Petri网.Z规约 其他测试:冒烟测试.随机测试.错误猜测测试.故障树测试.基于蜕变的测试 2.根据测试阶段分类: 单元测试:对软件中最小的可测单元进行验证,可以是一个函数.一个类.一个类的方法. 集成测试:将单元模块组

[软件测试] 20180414,测试用例说明书撰写提要

评审阶段,整理. 一.测试用例一般包含: 编号.用例名称.测试背景.前置条件.优先级.重要级.测试数据.测试步骤.预期结果.实际结果.备注.但可以根据实际需要增加.删除.修改部分项. 编号 这里需要注意,编号并不简单的是1.2.3.4这样子,而是可以通过下划线将一些测试用例的信息包含进去,比如:TV_YUYIN_0001,代表着这条测试用例是与测试电视语音相关的: 用例名称 用例的名字,可以不写: 测试背景 说明该测试用例的背景,是测试什么项目.什么内容的,也可以不写,有时候测试背景通过测试编号

软件测试------UserForm1的升级版

1.题目要求 输入的要求和之前的相似,但是这次存在三个输入框,UserForm见下图: 2.实现方法 实现方法与前一篇类似(html+servlet),不同的是博主这次经过某大 神的提点知道了自己上一篇写的真是惨不忍睹,于是乎我也用了下正则 表达式感觉用起来真是方便,这里直接给出关键代码: 1 String name1 = request.getParameter("username1"); 2 String name2 = request.getParameter("use

北京软件测试那个培训较好

不知不觉三个月已经过去了,在北京德润教育这几个月的学习中我从对软件测试不懂到现在的对这个行业有了一个比较好的了解,也学习到了很多的软件测试的知识.北京软件测试培训机构哪个比较好 在北京德润教育学习的一段时间里,我知道了软件,测试的重要性.这个软件测试的学习共有六个学习模块,每个模块又分为阅读.操作.讨论.作业几个小的学习版块.既有逻辑严谨的理论知识,又有实际的教学范例,既有知识的传授,又有实际的操作.让我们在学习当中不知不觉提高了自己的专业知识水平.下面是我这三个月以来的学习体会. 在这三个月中

软件测试培训费用是多少?

不知不觉三个月已经过去了,在北京德润教育这几个月的学习中我从对软件测试不懂到现在的对这个行业有了一个比较好的了解,也学习到了很多的软件测试的知识. 在北京德润教育学习的一段时间里,我知道了软件,测试的重要性.这个软件测试的学习共有六个学习模块,每个模块又分为阅读.操作.讨论.作业几个小的学习版块.既有逻辑严谨的理论知识,又有实际的教学范例,既有知识的传授,又有实际的操作.让我们在学习当中不知不觉提高了自己的专业知识水平.下面是我这三个月以来的学习体会. 在这三个月中首先是德润教育老师的讲课方式,

北京软件测试自动化培训学校

不知不觉三个月已经过去了,在北京德润教育这几个月的学习中我从对软件测试不懂到现在的对这个行业有了一个比较好的了解,也学习到了很多的软件测试的知识.北京软件测试自动化培训学校 在北京德润教育学习的一段时间里,我知道了软件,测试的重要性.这个软件测试的学习共有六个学习模块,每个模块又分为阅读.操作.讨论.作业几个小的学习版块.既有逻辑严谨的理论知识,又有实际的教学范例,既有知识的传授,又有实际的操作.让我们在学习当中不知不觉提高了自己的专业知识水平.下面是我这三个月以来的学习体会. 在这三个月中首先

软件测试流程我之见解

对于一个软件测试人员而言,不仅需要在软件测试的过程中发现问题并提交,他应该更加重点关注与测试过程中流程的管理,简单的来说,就是什么时候开始测试,在测试的过程发现问题并提交,提交问题后,对于Bug的跟踪,对发现的问题进行回归测试.关闭发现问题.关注流程不仅可以提高软件测试效率,并且可以在测试的过程中更有效的发现问题,使得本次测试变得有意义. 从软件测试从开始,我认为我们可以把它看作是一个"项目",项目它有自己的流程:规划.开发.运维.消散. 规划:就是软件测试流程从什么时候启动.当系统在