一、软件测试中等价类分为两种:有效等价类与无效等价类。
1、有效等价类:程序实现规格说明预先规定的功能和性能。 2、无效等价类:软件功能和性能的实现不符合规格说明要求的地方。
二、怎样划分等价类:
1、如果按照区间划分,规定了取值范围,则可确定一个有效等价类和两个无效等价类;
2、如果按照数值划分,则可划分一个有效等价类和一个无效等价类;
3、如果按照限定条件,则可确定一个有效等价类和若干个无效等价类;
三、对上周的等价类划分测试软件进行改进,变成三框输入的测试
1、升级后的界面:
2、源代码:
1 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 3 4 5 6 730软件测试 8 9 10 12等价类的划分之三个输入框
13
14
31 温馨提示:
有效等价类(1)长度:1-6 (2)字符:A-Z,a-z,0-932 33无效等价类 (1)长度:0、7 (2)字符:除以上外的其它字符
3435 36 37
1 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 3 4 5 6 7反馈用户输入三条信息界面 8 9 11 输入成功:12
13
- 14
- 15 第一个输入信息:<%=request.getParameter("input1")%> 16
- 测试结果:<%17 String a = request.getParameter("input1");18 19 if (a.length() > 6 || a.length() < 1) {20 out.println("length " + a.length() + " is invalid");21 } else {22 23 if (!a.matches("^[a-zA-Z0-9]+$")) {24 out.println("Input does not match A-Z,a-z,0-9");25 } else {26 out.println("Congratulations!Input is valid!");27 }28 }29 %> 30
- 第一个输入信息:<%=request.getParameter("input2")%> 31
- 测试结果:32 <%33 String b =request.getParameter("input2");34 35 if (b.length() > 6 || b.length() < 1) {36 out.println("length " + b.length() + " is invalid");37 } else {38 39 if (!b.matches("^[a-zA-Z0-9]+$")) {40 out.println("Input does not match A-Z,a-z,0-9");41 } else {42 out.println("Congratulations!Input is valid!");43 }44 }45 %> 46
- 第三个输入信息:<%=request.getParameter("input3")%> 47
- 测试结果:<%48 String c = request.getParameter("input3");49 50 if (c.length() > 6 || c.length() < 1) {51 out.println("length " + c.length() + " is invalid");52 } else {53 54 if (!c.matches("^[a-zA-Z0-9]+$")) {55 out.println("Input does not match A-Z,a-z,0-9");56 } else {57 out.println("Congratulations!Input is valid!");58 }59 }60 %> 61
63 64 65
3、等价类的划分
有效等价类 | 编号 | 无效等价类 | 编号 |
字符串长度在1到6之间 | 1 | 字符串长度为空 | 6 |
字符串长度大于等于7 | 7 | ||
数字0-9 | 2 | 含有其他字符 | 8 |
小写字母a-z | 3 | ||
大写字母A-Z | 4 | ||
三个文本框均合法 | 5 | 三个文本框中有一个不合法 | 9-11 |
三个文本框中有两个不合法 | 12-14 | ||
三个文本框都不合法 | 15 | ||
4、测试用例
测试编号 | 输入 | 覆盖等价类 | 输出 |
1 | abc12 Abcdfe 55555 | 1,2,3,4,5 | 合法 合法 合法 |
2 | abc12
55555 | 6,9-11 | 合法 输入长度不在1-6范围内 合法 |
3 | abc1212 abcdfe 55555 | 7,9-11 | 输入长度不在1-6范围内 合法 合法 |
4 | 软件 abcdfe 55555 | 8,9-11 | 含有其他字符 合法 合法 |
5 | ab&bad abcdfe 55555 | 8,9-11 | 含有其他字符 合法 合法 |
6 |
abcdfe 55555555 | 6,12-14 | 输入长度不在1-6范围内 合法 输入长度不在1-6范围内 |
7 | {}
55555 | 6,8,12-14 | 含有其他字符 输入长度不在1-6范围内 合法 |
8 |
abcdfe 5555555 | 6,7,12-14 | 输入长度不在1-6范围内 合法 输入长度不在1-6范围内 |
9 |
| 6,15 | 输入长度不在1-6范围内 输入长度不在1-6范围内 输入长度不在1-6范围内 |
10 | 1111111 jasonsu 天津 | 7,8,15 | 输入长度不在1-6范围内 输入长度不在1-6范围内 含有其他字符 |
11 |
¥¥ 55555555 | 6,7,8,15 | 输入长度不在1-6范围内 含有其他字符 输入长度不在1-6范围内 |
5、测试截图
(1)
(4)
(7)
(10)