题目
有一个员工管理系统,现对其录入模块进行测试。其中,人员信息包括:
编号:系统自动编号,无需手动录入;
姓名:必须有,要求为不超过5个汉字;
身份证:必须有,长度为15或18位置,末尾为数字或X,注意大小写;
邮箱:要么为空白,输入必须包含@和.
年龄:18-80之间的数字
住址:可以空白
注意:如果录入正确,则提示录入成功,如果录入错误,则提示数据不对。
使用等价类划分法进行划分
第一步 确定输入和输出
输入
- 编号(自动录入)
- 姓名
- 身份证号
- 邮箱
- 年龄
- 地址
输出
如果录入正确则提示录入正确,反之录入错误
第二步 等价类划分生成等价类表
输入
输入项 |
划分 |
输入内容 |
划分编号 |
编号 |
无需划分系统自动生成 |
无 |
无 |
姓名 |
有效等价类 |
汉字<=5 && 汉字 > 0 |
0 |
|
无效等价类 |
汉字 <=0 && 汉字 >5 |
1 |
|
|
非汉字内容(例如西文字体) <= 5 && >= 0 |
2 |
|
|
非汉字内容(例如西文字体)<0 && > 5 |
3 |
身份证号 |
有效等价类 |
长度为15 末尾为X |
5 |
|
|
长度为15 末尾为数字 |
6 |
|
|
长度为18 末尾为x |
7 |
|
|
长度为18 末尾为数字 |
8 |
|
无效等价类 |
长度为15或18 && 末尾为X或数字 && 其余为非数字内容 |
9 |
|
|
长度为15或18 && 末尾为!X,!数字 && 其余 数字 |
10 |
|
|
长度为15或18 && 末尾为!x,!数字 && 其余 !数字 |
11 |
|
|
长度不为15和18 && 其余内容任意 |
12 |
邮箱 |
有效等价类 |
空白 |
14 |
|
|
非空白 含@ && . |
15 |
|
无效等价类 |
非空白 不含@ && . |
16 |
年龄 |
有效等价类 |
18 -80 && 数字 |
17 |
|
无效等价类 |
超出 18~80 && 数字 |
18 |
|
|
非数字 |
19 |
|
|
空 |
20 |
地址 |
有效等价类 |
非空 |
21 |
|
|
空 |
22 |
输出
输出项 |
划分 |
输出内容 |
编号 |
录入结果 |
有效等价类 |
录入正确,录入成功 |
23 |
|
|
录入失败,提示错误 |
24 |
第三步,根据等价类设计测试用例
为每一个等价类规定一个编号
上表中已经完成
设计测试用例(有效等价类)
设计测试用例的时候,需要尽可能多的覆盖有效等价类
测试用例编号 |
覆盖的等价类 |
① |
0,5,14,17,21 |
② |
0,6,15,17,22 |
③ |
0,7,15,17,22 |
④ |
0,8,15,17,22 |
设计测试用例(无效等价类)
每一个新测试的用例,只包含一个无效等价类,其余选择有效等价类
测试用例编号 |
覆盖的等价类 |
① |
1,5,14,17,21 |
② |
2,5,14,17,21 |
③ |
3,5,14,17,21 |
⑤ |
0,9,14,17,21 |
⑥ |
0,10,14,17,21 |
⑦ |
0,11,14,17,21 |
⑧ |
0,12,14,17,21 |
⑩ |
0,5,16,17,21 |
11 |
0,5,14,18,21 |
12 |
0,5,14,19,21 |
13 |
0,5,14,20,21 |
第四步,选取测试用例
有效等价类,测试用例
测试用例编号 |
姓名 |
身份证号 |
邮箱 |
年龄 |
地址 |
对应的测试用例编号 |
输出 |
1 |
小 |
123244533563332X |
|
18 |
w |
0,5,14,17,21 |
|
2 |
小小小小小 |
123432345432345 |
|
80 |
地 |
0,6,15,17,22 |
|
3 |
小 |
12345342345432345X |
|
18 |
@ |
0,7,15,17,22 |
|
4 |
小 |
123454323456321234 |
|
80 |
= |
0,8,15,17,22 |
|
无效等价类,测试用例
测试用例编号 |
姓名 |
身份证号 |
邮箱 |
年龄 |
地址 |
对应的测试用例编号 |
输出 |
1 |
|
12343212345432X |
|
18 |
/ |
1,5,14,17,21 |
|
2 |
e |
12343212345432X |
|
18 |
< |
2,5,14,17,21 |
|
3 |
@@@@^w |
12343212345432X |
|
18 |
' |
3,5,14,17,21 |
|
5 |
小 |
R^78290^273^yweixX |
|
|
\n |
0,9,14,17,21 |
|
6 |
小小小小小 |
&nbhsp;328493ndwsx |
|
80 |
<code> |
0,10,14,17,21 |
|
7 |
小小小小小 |
2345ee{}@wexsdresx |
|
80 |
'select * fron sc |
0,11,14,17,21 |
|
8 |
小小小小小 |
|
|
80 |
'use mysql |
0,12,14,17,21 |
|
10 |
小小小小小 |
12343212345432X |
''''''@mingemail |
80 |
a |
0,5,16,17,21 |
|
11 |
小小小小小 |
12343212345432X |
''''''@minge.。mail |
-0 |
a |
0,5,14,18,21 |
|
12 |
小小小小小 |
12343212345432X |
''''''@minge.。mail |
- |
a |
0,5,14,19,21 |
|
13 |
小小小小小 |
12343212345432X |
''''''@minge.。mail |
|
a |
0,5,14,20,21 |
|
第五步,测试用例书写完成
测试基本信息
用例 |
说明 |
初始化 |
前提与约束 |
验证用户信息输入功能 |
测试是否能将用户的信息录入 |
登录系统 |
需要登录系统 |
测试过程
有效等价类,测试用例
测试用例编号 |
姓名 |
身份证号 |
邮箱 |
年龄 |
地址 |
对应的测试用例编号 |
输出 |
1 |
小 |
123244533563332X |
|
18 |
w |
0,5,14,17,21 |
|
2 |
小小小小小 |
123432345432345 |
|
80 |
地 |
0,6,15,17,22 |
|
3 |
小 |
12345342345432345X |
|
18 |
@ |
0,7,15,17,22 |
|
4 |
小 |
123454323456321234 |
|
80 |
= |
0,8,15,17,22 |
|
无效等价类,测试用例
测试用例编号 |
姓名 |
身份证号 |
邮箱 |
年龄 |
地址 |
对应的测试用例编号 |
输出 |
1 |
|
12343212345432X |
|
18 |
/ |
1,5,14,17,21 |
|
2 |
e |
12343212345432X |
|
18 |
< |
2,5,14,17,21 |
|
3 |
@@@@^w |
12343212345432X |
|
18 |
' |
3,5,14,17,21 |
|
5 |
小 |
R^78290^273^yweixX |
|
|
\n |
0,9,14,17,21 |
|
6 |
小小小小小 |
&nbhsp;328493ndwsx |
|
80 |
<code> |
0,10,14,17,21 |
|
7 |
小小小小小 |
2345ee{}@wexsdresx |
|
80 |
'select * fron sc |
0,11,14,17,21 |
|
8 |
小小小小小 |
|
|
80 |
'use mysql |
0,12,14,17,21 |
|
10 |
小小小小小 |
12343212345432X |
''''''@mingemail |
80 |
a |
0,5,16,17,21 |
|
11 |
小小小小小 |
12343212345432X |
''''''@minge.。mail |
-0 |
a |
0,5,14,18,21 |
|
12 |
小小小小小 |
12343212345432X |
''''''@minge.。mail |
- |
a |
0,5,14,19,21 |
|
13 |
小小小小小 |
12343212345432X |
''''''@minge.。mail |
|
a |
0,5,14,20,21 |
|
其余信息
测试人员 |
时间 |
执行结果 |
执行时间 |
小 |
无 |
无 |
无 |
|
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。