测试小尝试

一、简介

  学习软件测试也有两周了,这次就尝试一下测试自己写的东西,当然,这次的只是很简单的小程序,只是想尝试一下刚刚所学的东西。

  一道小题目:一个输入框,允许1到6个英文字符或数字,点击ok结束。

  此次要用到刚刚所学的黑盒测试的东西,用等价类的划分的方法,我用的是jsp编程语言完成这个小功能。

二、测试准备

  等价类划分如下

  有效等价类 无效等价类
字符数 1-6个字符 0个字符
    7个字符
字符类型 a-z,A-Z,0-9 英文数字以外字符
    控制字符
    标点符号

  有了等价类,我们便可以设计测试用例,测试用例如下

  字符数 字符类型
test1 3
a,A,1

test2
0

null
test3
7

a-z,A-Z,1-9
test4 3
有英文数字以外符号

test5 3
有控制字符

test6 3
有标点符号

三、代码部分

  以下为编写输入框的代码

<%@ 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">name:</td>
        <td><input type="text" name="name" 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("name");
      int b = a.length();
      boolean bool = true;

      if(b==0){
      %>
          <center>
            <a href = "<%=request.getContextPath()%>/index.jsp">字符数太少,请返回修改</a>
            </center>
      <%
      }
      else if(b>6){
      %>
          <center>
            <a href = "<%=request.getContextPath()%>/index.jsp">字符数太多,请返回修改</a>
            </center>
      <%}
      else{
          char ch;
          for(int i = 0;i < b;i++){
              ch = a.charAt(i);
              out.print(ch);
              int n =(int)(ch);
              if((n>47&&n<58)||(n>64&&n<91)||(n>96&&n<123)){}
              else{
                  bool = false;
                  break;
              }
          }
      }
      if(bool){
          %>
          <center>
          <table>
          <tr><td>ok</td></tr>
          <tr><td>
            <a href = "<%=request.getContextPath()%>/index.jsp">返回</a>
            </td></tr>

            </table>
            </center>
      <%
      }
      else{
          %>
          <center>
            <a href = "<%=request.getContextPath()%>/index.jsp">字符不合规范,请返回修改</a>
            </center>
      <%
      }

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

  %>

  </body>
</html>

四、测试经过

  输入test1,结果如图
 

  输入test2,结果如图

  输入test3

  输入test4

  输入test5

  输入test6

  测试结果显示软件符合要求。此次测试完成。

时间: 2024-10-13 21:55:45

测试小尝试的相关文章

测试小感1

本人自从事测试以来已经3个多星期了,一直都是在手动的进行功能测试,在测试的过程中发现很多问题,但做为一名新入职的实习生也不好说什么,毕竟自己还没真正对这个多年组合起来的开发团队模式进行深入的了解过,看到的也可能只是一些表象的东西. 1:测试分工不明确. 2:开发过程对于测试和产品人员来说不透明. 3:需求变更快,但变更后信息传达却比较慢,只有提出需求变更和修改确认的人员明白,但其他未能参与的人员不能及时了解进度便会造成一些无用功. 4:产品和开发人员不能很好的协商解决确认功能的话,则某些bug的

面试后的小尝试(linux下.so共享文件的创建)

昨天,参加了一场笔试和面试.对于我这个初入软件,想要转行的名符其实的“菜鸟”来说,打击不少,几个月的“苦读”,原以为基本知识涉猎的差不多的我,迎来了一次真正的笔试与面试.两个小时的笔试,对于我来说,内容有些难度,涉及到一些数据结构的知识,也让只会看书,疏于“上机”的我感到一片茫然.毕竟,理念到实践的转换与成熟运用需要真枪实弹的练习,而我只是学会了“纸上谈兵”.具体的细节,待我把所有的相关的知识梳理好之后再发一篇博文.面试的大哥问了我关于.so文件的内容,我真心不太懂,回家的路上我一直在考虑这个问

闲来无视写的关于炉石的测试小程序

最近半年都在忙项目,基本无时间研究技术了,而且不断发现,项目中遇到的问题大多都是业务层面的,技术很多时候不是瓶颈,所以很少研究技术了. 这个是一个测试炉石传说中25仔的轰炸效果界面,我设计的情景是对面的脸还有2血,自己也是2血,对面一个3/2精灵龙,一个0/1的鲜血小鬼:此时派上25仔随机3点伤害,测试人品如何... 核心思路:ui(winform)端,向helper类传入定义好的类,BoomRequest,其中包含了一个字典,key代表每个元素(自己的脸,对手的脸,场上的生物等),value是

模型驱动开发的小尝试有所收获,一起分享

现在互联网上太多这样所谓的快速开发平台,但怎么个快速法?什么样原理?普通开发者如何使用? 都太笼统了,大多我最后也弄不明白,没那么执着.我只能来讲讲自己的这个基于模型驱动开发的小程序. 正所谓无图无真相,我敢紧截了一个图上来.下图是很常见的组织.用户.角色.权限的管理界面.这界面里一共有六张数据库表,在这里可以对六张表进行增.删.改.查.在各种操作表单中有文本框,单选,选择,树型单选.多选,列表单选,多选.这些功能你需要多少时间来实现呢?再加上测试.BUG修复增加不少工作量吧? 以上所说还仅仅是

课堂测试小程序

题目:随机数的四则运算 思路:取两个随机整数,将运算符号放在一个数组里,再取一个随机数,整除4,通过余数来选取预算符号.真分数的四则运算,要取四个随机整数,并进行大小判断,真分数的分母要大于其分子. 代码: #include<iostream>#include<time.h>using namespace std;void main(){    srand(time(NULL));    for (int i = 1; i <= 30; i++)    {        in

WebService测试小工具storm

最近的项目中,一直要使用到WebService,为了测试自己编写的WebService,就找了一个叫Storm的小工具.它帮了我很大的忙,所以我和大家分享一下. Storm 是一款用于测试Web服务的免费并且开源的工具.是用F#编写的,如果感兴趣的话,你可以在codeplex上找到它的源码. Storm特性: 可以测试.NET.Java等多种编程语言所写的Web服务: 动态调用Web服务方法,即使需要输入和复杂数据类型: 节约开发时间和花费(仅仅为测试Web服务而开发throw-away测试客户

NetLimiter网速测试小坑

在涉及到网络下载或者上传时,需要对各种不同的网络环境进行模拟验证,这时就需要一种可以随意限制指定进程网速的软件,经过同事推荐,发现NetLimiter这款软件很不错,界面直观,可任意设置上传下载速度,实属仿真网络环境的利器. 在实际使用中,经过和测试人员共同协作,发现了这款软件一个小坑,再次记录下,以备学习. 在首次设置指定进程的网速时,如果在退出软件时没有取消限制网速,那么,即使在退出NetLimiter软件后,这个限制效果还是生效的.为什么软件都退出了,这个限制效果还在生效呢?原因在于net

webrtc测试小工具

webrtc:web real-time communication,网页即时通信,是一个支持网页浏览器进行实时语音对话或视频对话(简单的说,就是在web浏览器里面引入实时通信,包括音视频通话等)的API(Native C++ API,web API).谷歌开源,属于W3C推荐标准.支持跨平台(windows.linux.mac.android). 1. webrtc接口测试工具 1.1 简述 在Chrome的地址栏中输入chrome://webrtc-internals这个命令,通过跟踪RTC

关于字符串是否为空的测试小程序

public class StringEmpty { public static void main(String[] args) { String str1 = null; String str2 = ""; String str3 = "i have a dream!"; String[] array = new String[]{str1, str2, str3}; for (String str : array) { System.out.println(s