针对电子科技大学信息门户的“密码找回”界面的邮箱输入域进行验证, 采用等价划分法设计相应的测试用例,包括尽量多的无效等价类。
答:
有效等价类如下:
(1)邮箱输入学符串格式***@uestc.edu.cn或***@UESTC.EDU.CN(*为字母或数字)
无效等价类:
(2)*中带有非字母或数字的其它字符
(3)邮箱输入的字符串中缺少’@'字符
(4)邮箱输入的字符串中有两个或多个’@'字符
(5)邮箱输入字符串中’@'字符后不是标准的域名字段
测试用例:
测试用例编号 | 测试用例 | 覆盖等价类 |
---|---|---|
1 | example@uestc.edu.cn | (1) |
2 | #example@uestc.edu.cn | (2) |
3 | exampleuestc.edu.cn | (3) |
4 | example@@uestc.edu.cn | (4) |
5 | example@domaincom | (5) |
综合运用边界值方法和等价类方法,针对三角形问题设计相应的测试用例。假定输入三个整数(a、b、c)作为边,分别满足一般三角形、等腰三角形和等边三角形。
1)判断一般三角形的有效等价类是什么? 判断一般三角形的无效等价类是什么?
2)判断等腰三角形的有效等价类是什么? 判断等腰三角形的无效等价类是什么?
3)判断等边三角形的有效等价类是什么? 判断等边三角形的无效等价类是什么?
答:
三角形判断条件如下:
1)三角形的边长均大于0
2)构成一般三角形的条件:任意两边之和大于第三边
3)构成等腰三角形的条件:任意两边相等
4)构成等腰三角形的条件:三条边都相等
(1)判断一般三角形的有效等价类与边界值规则设计:
(a≥0)∧(b≥0)∧(c≥0)∧((a+b)>c)∧((a+c)>b)∧((b+c)>a)
判断一般三角形的无效等价类与边界值规则设计:
①(a≥0)∧(b≥0)∧(c≥0)∧(((a+b)≤c)∨((a+c)≤b)∨((b+c)≤a))
②(a≤0)∨(b≤0)∨(c≤0)
(2)判断等腰三角形的有效等价类与边界值规则设计:
(a≥0)∧(b≥0)∧(c≥0)∧((a+b)>c)∧((a+c)>b)∧((b+c)>a)∧((a=b)∨(b=c)∨(a=c))
判断等腰三角形的无效等价类与边界值规则设计:
①(a!=b)∧(b!=c)∧(c!=a)
②(a≤0)∨(b≤0)∨(c≤0)
(3)判断等边三角形的有效等价类与边界值规则设计:
(a≥0)∧(b≥0)∧(c≥0)∧((a+b)>c)∧((a+c)>b)∧((b+c)>a)∧(a=b=c)
判断等边三角形的无效等价类与边界值规则设计:
①(a!=b)
②(a≤0)∨(b≤0)∨(c≤0)
测试用例
测试用例编号 | 测试用例输入(a,b,c) | 预期结果 |
---|---|---|
1 | (5,6,8) | 一般三角形 |
2 | (5,6,5) | 等腰三角形 |
3 | (5,5,5) | 等边三角形 |
4 | (5,0,5) | 非三角形 |
5 | (2,2,5) | 非三角形 |
系统的年、月、日数据由Y、M、D单元来存储相应值,若要测试NextData(Y,M,D)函数,采用判定表方法设计相应的测试用例。
答:
被测函数功能:该程序输出为输入日期的下一个日期。
例如:输入为2023年4月2日,函数输出为2023年4月3日。
函数输入变量Y,M,D,均为正整数,并满足如下条件:
1)1900≤Y≤2100
2)1≤M≤12
3)1≤D≤31
4)能被 400 整除,或者能被4整除但不能 100 整除的部是闰年(366 天),其余的年份均为平年(365 天)
输入参数 | 有效等价类 | 无效等价类 |
---|---|---|
Y | 1900≤Y≤2100,Y1闰年,Y2平年 | <1900,>2100,非正整数,其他符号 |
M | 1≤M≤12,M1{1,3,5,7,8,10},M2{4,6,9,11},M3{2},M4{12} | <1,>12,非正整数,其他符号 |
D | 1≤D≤31,D1{1,27},D2{28},D3{29},D4{30},D5{31} | <1,>31,D6,非正整数,其他符号 |
判定表设计:
结果:
1、year,month不变,day+1
2、year不变,month+1,day=1
3、year+1,month=1,day=1
4、错误的输入
用例 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Y | Y1 | Y1 | Y1 | Y1 | Y1 | Y1 | Y1 | Y1 | Y1 | Y1 | Y1 | Y1 |
M | M3 | M3 | M3 | M1 | M1 | M1 | M2 | M2 | M2 | M4 | M4 | M4 |
D | D3 | D2,D1 | D4,D5 | D5 | D1,D2,D3,D4 | D6 | D4 | D5,D6 | D1,D2,D3 | D5 | D1,D2,D3,D4 | D6 |
1 | √ | √ | √ | √ | ||||||||
2 | √ | √ | √ | |||||||||
3 | √ | |||||||||||
4 | √ | √ | √ | √ |
用例 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Y | Y2 | Y2 | Y2 | Y2 | Y2 | Y2 | Y2 | Y2 | Y2 | Y2 | Y2 | Y2 |
M | M3 | M3 | M3 | M1 | M1 | M1 | M2 | M2 | M2 | M4 | M4 | M4 |
D | D2 | D1 | D3,D4,D5 | D5 | D1,D2,D3,D4 | D6 | D4 | D5,D6 | D1,D2,D3 | D5 | D5 | D6 |
1 | √ | √ | √ | √ | ||||||||
2 | √ | √ | √ | |||||||||
3 | √ | |||||||||||
4 | √ | √ | √ | √ |
测试用例如下:
用例序号 | Y | M | D | 预期输出 |
---|---|---|---|---|
1 | 2023 | 4 | 1 | 2023,4,2 |
2 | 2023 | 3 | 28 | 2023,3,29 |
3 | 2023 | 3 | 29 | 2023,3,30 |
4 | 2023 | 3 | 30 | 2023,3,31 |
5 | 2023 | 3 | 31 | 2023,4,1 |
6 | 2023 | 11 | 28 | 2023,11,29 |
7 | 2023 | 11 | 29 | 2023,11,30 |
8 | 2023 | 11 | 30 | 2023,12,1 |
9 | 2023 | 11 | 31 | 错误 |
10 | 2023 | 2 | 28 | 2023,3,1 |
11 | 2023 | 2 | 29 | 错误 |
12 | 2023 | 2 | 30 | 错误 |
13 | 2023 | 2 | 31 | 错误 |
14 | 2020 | 2 | 28 | 2020,2,29 |
15 | 2020 | 2 | 29 | 2020,3,1 |
16 | 2020 | 2 | 30 | 错误 |
17 | 2020 | 2 | 31 | 错误 |
18 | 2020 | 12 | 28 | 2020,12,29 |
19 | 2020 | 12 | 29 | 2020,12,30 |
20 | 2020 | 12 | 30 | 2020,12,31 |
21 | 2020 | 12 | 31 | 2021,1,1 |
个人觉得以上判定表的设计比较复杂🥺,一般很难想到这么详细,我认为下面的判定表比较容易想到🤡
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|---|---|
条件 | 正确输入年Y | Y | Y | Y | Y | N | N | N | N |
条件 | 正确输入月M | Y | Y | N | N | Y | Y | N | N |
条件 | 正确输入日D | Y | N | Y | N | Y | N | Y | N |
动作 | 函数运行成功 | √ | |||||||
动作 | 函数运行失败 | √ | √ | √ | √ | √ | √ | √ |
测试用例表的话可以模仿参考答案书写?
针对某机构人员管理的业务规则需求:
1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。
2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。
请绘制出因果图和判定表,并给出相应的测试用例。
答:
因果分析
原因:
C1:年薪制员工
C3:严重过失
C3:过失
结果:
e1:扣年终风险金的4%
e2:扣年终风险金的2%
e3:扣月薪资的8%
e4:扣月薪资的4%
因果图设计
判定表设计
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|---|---|
条件 | C1:年薪制员工 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
条件 | C3:严重过失 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
条件 | C3:过失 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
结果 | e1:扣年终风险金的4% | √ | |||||||
结果 | e2:扣年终风险金的2% | √ | |||||||
结果 | e3:扣月薪资的8% | √ | |||||||
结果 | e4:扣月薪资的4% | √ | |||||||
结果 | 不操作 | √ | √ | ||||||
结果 | 不可能 | √ | √ |
有效等价类测试用例
用例 | 输入数据 | 预期输出 |
---|---|---|
TC1 | 年薪制员工,严重过失 | 扣年终风险金的4% |
TC2 | 年薪制员工,过失 | 扣年终风险金的2% |
TC3 | 非年薪制员工,严重过失 | 扣月薪资的8% |
TC4 | 非年薪制员工,过失 | 扣月薪资的4% |
测试一个登录页面在不同浏览器和语言下的功能正确性,其输入条件如下:
1)输入项(账号、密码)
2)浏览器(IE、chrome、FireFox、360)
3)语言(中文、英文)
请问进行完整组合的兼容性测试需要多少个测试用例?采用成对组合的兼容性测试需要多少个测试用例?给出成对组合测试用例表。
答:
完整组合测试有2x2X4x2=32 个,成对组合测试需要8个测试用例
成对组合测试用例表
用例 | 账号 | 密码 | 浏览器 | 语言 |
---|---|---|---|---|
1 | 空值 | 空值 | IE | 中文 |
2 | 空值 | 有值 | chrome | 英文 |
3 | 有值 | 空值 | FireFox | 中文 |
4 | 有值 | 有值 | 360 | 英文 |
5 | 空值 | 空值 | 360 | 中文 |
6 | 空值 | 有值 | FireFox | 英文 |
7 | 有值 | 空值 | chrome | 中文 |
8 | 有值 | 有值 | IE | 英文 |