NEXTDATE的决策表示例(软件测试技术实验报告).docVIP

  • 19
  • 0
  • 约2.62千字
  • 约 7页
  • 2021-09-26 发布于山东
  • 举报

NEXTDATE的决策表示例(软件测试技术实验报告).doc

NEXTDATE的决策表示例(软件测试技术实验报告) NEXTDATE的决策表示例(软件测试技术实验报告) PAGE / NUMPAGES NEXTDATE的决策表示例(软件测试技术实验报告) NextDate 函数测试用例 选择 NextDate 函数,是因为它可以说明输入定义域中的依赖性问题,这使得这个例子成为基于决策表测试的一个完美例子, 因为决策表可以突出这种依赖关系。 从前面对等价类测试的分析我们知道, 等价类分析假设所有的变量都是独立的。 如果变量确实是独立的, 则使用类的笛卡尔积是有意义的。 如果变量之间在输入定义域中存在逻辑依赖 关系,则这些依赖关系在笛卡尔积中就会丢失 ( 说抑制可能更确切 ) 。决策表格式通过使用“不可能动作”概念表示条件的不可能组合, 使我们能够强调这种依赖关系。下面将对 NextDate 函数的决策表描述做三次尝试。 第一次尝试 标识合适的条件和动作,假设首先从分析等价类集合开始。 M1= { 月份:每月有 30 天} ; M2 = { 月份:每月有 31 天} ;M3= { 月份:此月是 2 月} D1 = { 日期: 1≤日期≤ 28} ; D2 = { 日期:日期 =29} ;D3 = { 日期 =30} ;D4 = { 日期 =31} Y1 = { 年:年是闰年 } ;Y2 = { 年:年不是闰年 } 如果我们希望突出不可能的组合, 则可以建立具有以下条件和动作的有限项决策表。 ( 请注意,年变量对应的等价类收缩为下表的一个条件。 ) 这个决策表会有 256 条规则,其中很多是不可能的。 如果要显示为什么这些规则是不可能的,可将动作修改为: a1:月份中的天数太多; a2:不能出现在非闰年中; a3:计算 NextDate 。 第二次尝试 如果我们将注意力集中到 NextDate 函数的闰年问题上,则可以修改已有的等价类集合。 为了说明另一种决策表表示方法, 这一次采用扩展项决策表开发,并更仔细地研究动作桩。在构建扩展项决策表时,必须保证等价类构成输入定义域的真划分。 如果规则项之间存在“重 叠”,则会存在冗余情况,使得多个规则都能够满足。这里, Y2 是一组 1812~2012 之间的年份,并除以 4,2000 除外。 M1= { 月份:每月有 30 天} ; M2 = { 月份:每月有 31 天} ;M3= { 月 份:此月是 2 月} D1 = { 日期: 1≤日期≤ 28} ; D2 = { 日期:日期 =29} ;D3 = { 日期 =30} ;D4 = { 日期 =31} Y1 = { 年:年 =2000};Y2 = { 年:年是闰年 } ;Y3 = { 年:年是平年 } 从某种意义上说, 我们采用的是“灰盒”技术, 因为更仔细地研究了 NextDate 函数。为了产生给定日期的 NextDate ,能够使用的操作只有五种:日期和月份的增 1 和复位,年的增 1。( 我们不允许通过复位年来回退时间。 ) 这些条件可以产生有对应等价类笛卡尔积的 36 个规则的决策表 ( 自己可以分析一下 ) 。结合不关心项, 可得到下表所示的 17 条规则的决策表。仍然存在逻辑不可能的规则, 但是这个表有助于我们标识测试 用例的扩展输出。如果填满这个决策表的动作项,就会发现 12 月有一些麻烦的问题 ( 规则 8) 。我们下面解决这些问题。 第三次尝试 通过引入等价类的第三个集合, 可以澄清年末问题。 这一次可以特别关注日和月,并重新使用第一次尝试的较简单的闰年或非闰年条件,因此 2000 年没有特别处理。 ( 还可以做第四次尝试, 采用第二次尝试的年等价类。 ) M1 = { 月份:每月有 30 天} ; M2 = { 月份:每月有 31 天, 12 月除外} ;M3 = { 月份:此月是 12 月} ;M4 = { 月份:此月是 2 月} D1 = { 日期: 1≤日期≤ 27} ; D2 = { 日期:日期 =28} ;D3 = { 日期 =29} ;D4 = { 日期 =30} ;D5 = { 日期 =31} Y1 = { 年:年是闰年 } ;Y2 = { 年:年不是闰年 } 这个等价类的笛卡尔积包含 40 个元素。所产生的组合规则包含不关 心项,如下表所示,可与第二次的 36 条规则比较。大的测试用例集 合是否一定比小的测试用例集合好这里我们有一个 22 条规则的决策 表,得到的 NextDate 函数的描述比包含 36 条规则的决策表更清晰。 前 5 条规则处理有 30 天的月份,请注意,这里不考虑闰年。接下来两组规则 ( 规则 6~10,规则 11~15) 处理有 31 天的月份,前 5 条规则处理 12 月之外的月份, 后 5 条规则处理 12 月。不可能规则也在决

文档评论(0)

1亿VIP精品文档

相关文档