实用标准文档
软件测试 实验报告
题目: 决策表法的使用
学号: 姓名: 教师:
东南大学成贤学院电子与计算机工程学院
2017年 9 月30 日
方案30% 文案大全
设计30% 文字表述20% 分析与总结20% 总分 实用标准文档
实验题目
1、实验内容
NextDate 函数包含三个变量:month(月份)、day(日期) 和 year(年),函数的输出为输入日期前一天的日期。 例如,输入为 2007年9月 9日,则函数的输出为 2007年9月10日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: (1)1≤month≤12 (2)1≤day≤31 (3)1912≤year≤2050
2、实验目的与要求
分别输入测试用例,判断期望输出与实际输出是否相等
3、实验环境
操作系统 WIN10 测试工具 VS2010 测试语言 c++语言
4、设计思路分析(包括需求分析、整体设计思路、概要设计)
需求分析:
此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂性的来源有两个:一个是输入域的复杂性,另一个是指闰年的规则。例如变量year和变量month取不同的值,对应的变量day会有不同的取值范围,day值的范围可能是1~30或1~31,也可能是1~28或1~29。
整体设计思路:
NextDate函数中包含了定义域各个变量之间的依赖问题。等价类划分法和边界值分析法只能“独立地”选取各个输入值,不能体现出多个变量的依赖关系。决策表法则是根据变量间的逻辑依赖关系设计测试输入数据,排除不可能的数据组合,很好地解决了定义域的依赖问题。
5、详细设计
NextDate函数求解给定某个日期的下一个日期的可能操作(动作桩)如下: 变量day加1操作; 变量day复位操作;
文案大全
实用标准文档
变量month加1操作; 变量month复位操作; 变量year加1操作。
根据上述动作桩发现NextDate函数的求解关键是日和月的问题,通常可以在下面等价类(条件桩)的基础上建立决策表: M1={month:month有30天}
M2={month:month有31天,12月除外} M3={month:month是12月} M4={month:month是2月} D1={day:1≤day≤27} D2={day:day=28} D3={day:day=29} D4={day:day=30} D5={day:day=31} Y1={year:year是闰年} Y2={year:year不是闰年}
决策表共有22条规则:
第1~5条规则解决有30天的月份;
第6~10条规则解决有31天的月份(除12月份以外); 第11~15条规则解决12月份;
第16~22条规则解决2月份和闰年的问题。
不可能规则也在决策表中列出,比如第5条规则中在有30天的月份中也考虑了31日。
表1 输入变量间存在大量逻辑关系的NextDate函数决策表
规则 选项 条件: 1 2 3 4 5 6 7 8 9 10 11 C1: month在 M1 M1 M1 M1 M1 M2 M2 M2 M2 M2 M3 文案大全