等价类边界值综合练习题-万年历

更新时间:2023-05-09 18:44:10 阅读: 评论:0

练习题:万年历查询软件,要求用户输入以年月表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。
(备注:为简化处理,本题在进行用例设计时,不必考虑对平年、闰年的判断)
一、 先用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1划分等价类并编号,下表等价类划分的结果
输入等价类
有效等价类
无效等价类
日期的类型及长度
(1)8位数字字符
(9 )有非数字字符
(10)少于8位数字字符
(11)多于8位数字字符
年份范围
(2)在1900~2049之间
(12)小于1900
(13)大于2049
月份范围
(3)在01~12之间
(14)等于00
(15)大于12
日期下限
(4)日期>=01
(16)等于00
平年2月份有28天
(5)平年2月份 日期<=28
(17)平年2月份 日期>28
闰年2月份有29天
(6)闰年2月份 日期<=29
(18)闰年2月份 日期>29
1、3、5、7、8、10、
12月份有31天
(7)大月 日期<=31
(19)大月 日期>31
4、6、9、11月份
只有30天
(8)小月 日期<=30
(20)小月 日期>30
2设计测试用例覆盖所有的有效等价类,设计的测试用例如下:
测试用例
测试数据
覆盖的有效等价类
1
20070225
1、2、3、4、5
2
20080228
1、2、3、4、6
3
20050530
1、2、3、4、7
4
19900418
1、2、3、4、8
 3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试用例
测试数据
覆盖的无效等价类
1
9533June
9
2
2003061
10
3
200112301
11
4
18951031
12
5
20500201
13
6
20080001
14
7
20041301
15
8
19960100
16
9
20070230
17
10
20080231
18
11
19980132
19
12
19900433
20
4)测试用例举例:
用例编号
DATE-ST-DATE-VALID-001
测试项目
万年历查询
测试标题
输入平年2月份有效日期进行查询
预置条件
启动万年历软件
优先级别
H
输入
20070225
操作步骤
1、在日期输入框中输入20070225
2、点击查询按钮
预期输出
软件显示该日期的万年历信息:
星期日
农历1月8日
丁亥年、壬寅月、庚寅日
5)存在的问题:
1、在对2月、大月、小月的无效日期进行用例选择时,日期没有取到边界上,如果程序忘记了对2月份的日期进行特殊判断,而是粗略写成所有的日期都必须小于等于28,那么用例9、用例10并不能发现错误。
2、在对大月、小月进行用例选择时,按照等价类的思想,从集合{1、3、5、7、8、10、
12}和{4、6、9、11}中任意挑选了中间数据,感觉令人不够放心。
6)解决办法:
二、 结合边界值方法进行用例设计。
首先还是利用等价类的方法进行用例设计,然后看看哪些边界值已经被覆盖到了,最后再针对没有被覆盖的边界值补充测试用例。
输入等价类
有效等价类
无效等价类
日期的类型及长度
(1)8位数字字符
(9 )有非数字字符
(10)少于8位数字字符
(11)多于8位数字字符
边界值:
(30)7位
(31)9位
年份范围
(2)在1900~2049之间
边界值:
(21)1900
(22)2049
(12)小于1900
(13)大于2049
边界值:
(32)1899
(33)2050
月份范围
(3)在01~12之间
边界值:
(23)01
(24)12
(14)等于00
(15)大于12
边界值:
(34)00
(35)13
日期下限
(4)日期>=01
边界值:
(25)01
(16)等于00
边界值:
(36)00
平年2月份有28天
(5)平年2月份 日期<=28
边界值:
(26)28
(17)平年2月份 日期>28
边界值:
(37)29
闰年2月份有29天
(6)闰年2月份 日期<=29
边界值:
(27)29
(18)闰年2月份 日期>29
边界值:
(38)30
1、3、5、7、8、10、
12月份有31天
(7)大月 日期<=31
边界值:
(28)31
(19)大月 日期>31
边界值:
(39)32
4、6、9、11月份
只有30天
(8)小月 日期<=30
边界值:
(29)30
(20)小月 日期>30
边界值:
(40)31
设计测试用例覆盖等价类和边界值
测试用例
测试数据
覆盖的有效等价类
覆盖边界值
1
19000101
1、2、3、4
21、23、25
2
20491231
1、2、3、4、7
22、24、28
3
20010228
1、2、3、4、5
26
4
20000229
1、2、3、4、6
27
5
19950430
1、2、3、4、8
29
可以再补充1月31日、11月30日的测试用例,因为1月是大月的第一个月,11月是小月的最后一个月,也可以算是边界值。
测试用例
测试数据
覆盖的有效等价类
覆盖边界值
6
19980131
1、2、3、4、7
23、28
7
20051130
1、2、3、4、8
29
设计测试用例覆盖无效等价类:
测试用例
测试数据
覆盖的无效等价类
覆盖的边界值
1
9533June
9
2
2003061
10
30
3
200112301
11
31
4
18991031
12
32
5
20500201
13
33
6
20080001
14
34
7
20041301
15
35
8
19960100
16
36
9
20070229
17
37
10
20080230
18
38
11
19980132
19
39
12
19900431
20
40

本文发布于:2023-05-09 18:44:10,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/875504.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设计   等价   进行   用例   覆盖   测试用例   边界值   月份
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图