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