等价类划分法和边界值分析法
1.等价类划分法
例题1:网站的注册手机号码
某网站的注册手机号码由两部分组成。这两部分的名称和内容分别是:
1)地区码:以0开头的三位或者四位数字(包括0);
2)电话号码:以非0且非1开头的七位或者八位数字。
假定被测试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码。
要求:用等价类划分法来设计测试用例,并给出实验结果。
第一步:划分等价类
输入条件 | 有效等价类 | 无效等价类 |
地区码 | (1)0开头 | (4)非0开头 |
(2)3位数字 | (5)<3位 | |
(3)4位数字 | (6)>4位 | |
电话号码 | (7)非0且非1开头 | (10)0开头 (11)1开头 |
(8)7位数字 | (12)<7位 | |
(9)8位数字 | (13)>8位 |
第二步:编写测试用例
测试用例编号 | 覆盖等价类 | 输入数据 | 期望输出 |
1 | (1)0开头 (2)3位数字 (7)非0且非1开头 (8)7位数字 | 012 3456789 | 正确 |
2 | (1)0开头 (3)4位数字 (7)非0且非1开头 (9)8位数字 | 0123 34567891 | |
3 | (4)非0开头 | 110 3456789 | 错误 |
4 | (5)<3位 | 01 3456789 | |
5 | (6)>4位 | 01100 3456789 | |
6 | (10)0开头 | 011 0123456 | |
7 | (11)1开头 | 011 1234567 | |
8 | (12)<7位 | 011 234567 | |
9 | (13)>8位 | 011 234567891 |
2.边界值分析法
例题2:交通一卡通自动充值软件系统需求
要求:系统只接收50或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元。
若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
若输入50元纸币,并选择充值100元,提示错误,并退回50元;
若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
若输入纸币后在规定时间内不选择充值按钮,找零,并提示错误;
若选择充值按钮后不输入纸币,提示错误
第一步:
输入条件 | 有效等价类 | 无效等价类 |
输入50元 | (1)充值50 | (6)<50 (7)>50 |
输入100元 | (2)充值50 (3)充值100 | (8)<50 (9)>100 |
选择充值 | (4)选择 | (10)不选择 |
选择充值按钮 | (5)输入纸币 | (11)不输入纸币 |
第二步:设计测试用例(采用边界值分析法)
测试用例序号 | 覆盖测试用例 | 输入数据 | 期望输出 |
1 | (1)充值50 (4)选择 (5)输入纸币 | 输入50并充值50 | 退卡,提示充值成功 |
2 | (2)充值50 | 输入50并充值100 | 退卡,提示充值成功 |
3 | (2)充值50 (4)选择 (5)输入纸币 | 输入100充值50 | 退卡,提示充值成功 |
4 | (3)充值100 (4)选择 (5)输入纸币 | 输入100充值100 | 退卡,充值成功 |
5 | (10)不选择 | 输入纸币在规定的时候不选择充值按钮 | 找零,并提示错误 |
(11)不输入纸币 | 选择充值按钮不输入纸币 | 提示错误 |