四、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在划分法设计测试用例,来测试程序的 \日期检查功能 \。 1) 划分等价类并编号 , 下表等价类划分的结果
1990 年 1
月~2049 年 12 月,并规定日期由 6 位数字字符组成,前 4 位表示年,后等价类2 位表示月。现用
输入等价类
日期的类型及长度
有效等价类 无效等价类
①6 位数字字符 ②有非数字字符 ③少于 6 位数字字符 ④多于 6 位数字字符
年份范围
⑤在 1990~2049 之间 ⑧在 01~12 之间
⑥小于 1990 ⑦大于 2049 ⑨等于 00 ⑩大于 12
3 个有效等价类, 编号分别为①、
月份范围
2) 设计测试用例, 以便覆盖所有的有效等价类在表中列出了
⑤、⑧,设计的测试用例如下:
测试数据 200211 测试数据 95June 20036 2001006 198912 200401 200100
期望结果 输入有效 期望结果 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入
覆盖的有效等价类
①、⑤、⑧
覆盖的无效等价类
② ③ ④ ⑥ ⑦ ⑨
⑩
和 year ,函数的输出为输入日期后一天
2006 年 3 月 8 日 。要求输入
3) 为每一个无效等价类设计一个测试用例,设计结果如下:
无效输入 200113
五、NextDate 函数包含三个变量: month 、 day
的日期。 例如,输入为 2006 年 3 月 7 日,则函数的输出为 变量 month 、 day 和 year 均为整数值,并且满足下列条件:
①1≤month≤12 ②1≤day≤31 ③ 1920≤year ≤2050
1) 有效等价类为: M1= { 月份: 1≤月份≤ 12}
D1 Y1
应的变量超出取值范围,比如 入日期 \ 。其无效等价类为:
M2= { 月份:月份 <1} M3= { 月份:月份 >12} D2= { 日期:日期 <1} D3= { 日期:日期 >31} Y2= { 年:年 <1812} Y3= { 年:年 >2012}
={ 日期: 1≤日期≤ 31} ={ 年: 1812≤年≤ 2012}
NextDate
2) 若条件 ① ~ ③中任何一个条件失效,则 year 、 month 、 day 的无效组合, NextDate
函数都会产生一个输出,指明相
\ 的值不在 1-12 范围当中 \ 。显然还存在着大量的
函数将这些组合作统一的输出:
\ 无效输
边界值分析法
一、根据下面给出的规格说明,利用边界值分析的方法,给出足够的测试用例。 “一个程序读入 3 个整数,把这三个数值看作一个三角形的
在三角形问题描述中, 除了要求边长是整数外, 三角形每边边长的取范围值设值为 我们可以设三角形的
[1, 100]
3 条边, 必须满足:
3 条边的长度值。 这个程序要打
印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。”
没有给出其它的限制条件。在此,我们将
3 条边分别为 A,B,C。如果它们能够构成三角形的
A=B,或 B=C,或 A=C。
A=B,且 B=C,且 A=C。
A>0, B>0,C>0,且 A+B>C, B+C>A, A+C>B。 如果是等腰的,还要判断 如果是等边的,则需判断是否
, 产生成绩报告的程序。 其规格说明如二、现有一个学生标准化考试批阅试卷
文件由一些有 80 个字符的记录组成 下 , 如下图所示,所有记录分为 3 组:
: 程序的输入
三、找零钱最佳组合
假 设 商 店 货 品价格(R) 皆不大于100元(且为整数),若顾客付款 在 100 元内(P) 1、分析输入的情形:
R>100 0 N50=1 4>=N10>=1 N5=1 4>=N1>=1 数时之剩余金额。 R>100 R<=0 RR1 >= 50 RR2 >= 10 RR3 >= 5 ,求找给顾客之最少货币个(张)数(货币面值50元 种 ) (N50) ,10 元(N10) ,5 元(N5) ,1 元(N1) 四 3. 分 析 每 种情况 , 以 RR1,RR2, RR3 ,RR4 表 示 计 算 要 找 50, 10, 5 ,1 元 货 币 P>100 P<=R RR4 >= 1 R>100 R<=0 0 4. 由上述之输入/输出条件组合出可能的情形。 0 5. 为满足以上之各种情形,测试用例设计如下: 1. 货品价格 = 101 2. 货品价格 = 0 3. 货品价格 = -1 4. 货品价格 = 100, 5. 货品价格 = 100, 6. 货品价格 = 50, 7. 货品价格 = 51, 8. 货品价格 = 90, 9. 货品价格 = 91, 10. 货品价格 = 95, 11. 货品价格 = 96, 12. 货品价格 = 99, 13. 货品价格 = 100, 付款金额 = 101 付款金额 = 99 付款金额 = 100 付款金额 = 100 付款金额 = 100 付款金额 = 100 付款金额 = 100 付款金额 = 100 付款金额 = 100 付款金额 = 100 四、 NextDate 函数的边界值分析测试用例 在 NextDate 函数中,隐含规定了变量mouth 和变量 day 的取值范围为 1≤mouth≤12 和 1≤day≤31,并设定变量 year 的取值范围为 1912≤year ≤2050 。 判定表法