一、简介
学习软件测试也有两周了,这次就尝试一下测试自己写的东西,当然,这次的只是很简单的小程序,只是想尝试一下刚刚所学的东西。
一道小题目:一个输入框,允许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="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
测试结果显示软件符合要求。此次测试完成。