上周我博客中写到的黑盒测试,我给出了一种测试举例:
EditBox允许1到6个英文字符或数字,按OK结束
1.划分有效和无效等价类
(1)有效等价类:
长度:1到6 字符:a-z,A-Z,0-9
(2)无效等价类:
长度:0,7 字符:英文/数字以外字符,控制字符,标点符
测试的界面是一个输入框,和确定按钮,每次只可测出一项数据。
今天,我给出一种同时测三种测试用例的例子:
1.划分有效和无效等价类
(1)有效等价类:
长度:1到6 字符:a-z,A-Z,0-9
(2)无效等价类:
长度:0,7 字符:英文/数字以外字符,控制字符,标点符
2.代码实现
- </head>
- <body>
- <form action="http://localhost:8080/experience34/index.jsp" method="post">
- <br><br><center><h1>等价类划分方法测试</h1></center>
- <br><br><h3><center>
- <label for="random" class="col-md-5 control-label">用户:</label>
- <input type="text" id="name" name="name">
- <%System.out.println(request.getParameter("yes"));
- if(request.getParameter("yes")!= null){
- System.out.println("Succeed1");
- if(request.getParameter("name").equals("") || request.getParameter("name").length()>=7){
- %>
- <font color='red'>请输入正确的用户</font>
- <%
- }
- else{
- char arr[] = new char[request.getParameter("name").length()];
- arr = request.getParameter("name").toCharArray();
- int j=0;
- for(int i = 0; i < request.getParameter("name").length(); i++){
- if((arr[i] >= 'a' && arr[i] <= 'z')||(arr[i] >= 'A' && arr[i] <= 'Z')||(arr[i] >= '0' && arr[i] <= '9'))j=j+1;
- else{
- j=j;
- }
- }
- if( j == request.getParameter("name").length()){
- %>
- <font color='green'>用户合法</font>
- <%}
- else{
- %>
- <font color='red'>请输入正确的用户</font>
- <%}
- }}%>
- <br><br><label for="random" class="col-md-5 control-label">昵称:</label>
- <input type="text" id="honey" name="honey">
- <%System.out.println(request.getParameter("yes"));
- if(request.getParameter("yes")!= null){
- System.out.println("Succeed2");
- if(request.getParameter("honey").equals("") || request.getParameter("honey").length()>=7){
- %>
- <font color='red'>请输入正确的昵称</font>
- <%
- }
- else{
- char arr1[] = new char[request.getParameter("honey").length()];
- arr1 = request.getParameter("honey").toCharArray();
- int a=0;
- for(int b = 0; b < request.getParameter("honey").length(); b++){
- if((arr1[b] >= 'a' && arr1[b] <= 'z')||(arr1[b] >= 'A' && arr1[b] <= 'Z')||(arr1[b] >= '0' && arr1[b] <= '9'))a=a+1;
- else{
- a=a;
- }
- }
- if( a == request.getParameter("honey").length()){
- %>
- <font color='green'>昵称合法</font>
- <%}
- else{
- %>
- <font color='red'>请输入正确的昵称</font>
- <%}
- }}%>
- <br><br><label for="random" class="col-md-5 control-label">密码:</label>
- <input type="text" id="code" name="code">
- <%System.out.println(request.getParameter("yes"));
- if(request.getParameter("yes")!= null){
- System.out.println("Succeed3");
- if(request.getParameter("code").equals("") || request.getParameter("code").length()>=7){
- %>
- <font color='red'>请输入正确的密码</font>
- <%
- }
- else{
- char arr2[] = new char[request.getParameter("code").length()];
- arr2 = request.getParameter("code").toCharArray();
- int m=0;
- for(int n = 0; n < request.getParameter("code").length(); n++){
- if((arr2[n] >= 'a' && arr2[n] <= 'z')||(arr2[n] >= 'A' && arr2[n] <= 'Z')||(arr2[n] >= '0' && arr2[n] <= '9'))m=m+1;
- else{
- m=m;
- }
- }
- if( m == request.getParameter("code").length()){
- %>
- <font color='green'>密码合法</font>
- <%}
- else{
- %>
- <font color='red'>请输入正确的密码</font>
- <%}
- }}%>
- <br><br><button type="submit" class="btn btn-info btn-md" name="yes">确认</button>
- </h3></center>
- </form>
- </body>
3.测试用例
编号 | 用户 | 结果 | 昵称 | 结果 | 密码 | 结果 |
1 | null | 输入不合法 | null | 输入不合法 | null | 输入不合法 |
2 | 11111111 | 输入不合法 | 23232323 | 输入不合法 | summeraa | 输入不合法 |
3 | 18290 | 输入合法 | ssssQP | 输入合法 | 22AoP | 输入合法 |
4 | !~;;。9 | 输入不合法 | ssssQP | 输入合法 | 22AoP | 输入合法 |
5 | !~;;—0 | 输入不合法 | 238888??+ | 输入不合法 | AADP&% | 输入不合法 |
4.结果图