软件测试-等价类划分练习
题目
有一个员工管理系统,现对其录入模块进行测试。其中,人员信息包括:
编号:系统自动编号,无需手动录入;
姓名:必须有,要求为不超过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 | 小 | R78290273^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 | 小 | R78290273^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 |
其余信息
| 测试人员 | 时间 | 执行结果 | 执行时间 |
|---|---|---|---|
| 小 | 无 | 无 | 无 |

浙公网安备 33010602011771号