第一次作业及参考答案

第一题

针对电子科技大学信息门户的“密码找回”界面的邮箱输入域进行验证, 采用等价划分法设计相应的测试用例,包括尽量多的无效等价类。

答:

有效等价类如下:

(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%

  • 因果图设计

    3HA4ZSM3_6U1BEFKKP_2H5U.png

  • 判定表设计

    序号 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 英文

以上内容来自老师提供的原版答案,如有错误,欢迎批评指正😆