nextdate的决策表示例(软件测试技术实验报告)_第1页
nextdate的决策表示例(软件测试技术实验报告)_第2页
nextdate的决策表示例(软件测试技术实验报告)_第3页
nextdate的决策表示例(软件测试技术实验报告)_第4页
nextdate的决策表示例(软件测试技术实验报告)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、nextdate函数测试用例选择nextdate函数,是因为它可以说明输入定义域中的依赖性 问题,这使得这个例子成为基于决策表测试的一个完美例子,因 为决策表可以突出这种依赖关系。从前面对等价类测试的分析我 们知道,等价类分析假设所有的变量都是独立的。如果变量确实 是独立的,则使用类的笛卡尔积是有意义的。如果变量之间在输 入定义域中存在逻辑依赖关系,则这些依赖关系在笛卡尔积中就 会丢失(说抑制可能更确切)。决策表格式通过使用“不可能动作” 概念表示条件的不可能组合,使我们能够强调这种依赖关系。下 面将对nextdate函数的决策表描述做三次尝试。第一次尝试标识合适的条件和动作,假设首先从分析等

2、价类集合开始。m1 =月份:每月有30天; m2 = 月份:每月有31天; m3=月份:此月是2月d"日期:1s日期s28; d2叭日期:日期=29; d3叭日期 =30; d4 = b期=31y1 = 年:年是闰年; y2 = 年:年不是闰年如果我们希望突出不可能的组合,则可以建立具有以下条件和动 作的有限项决策表。(请注意,年变量对应的等价类收缩为下表 的一个条件。)有256条规则的第一次尝试条件c1:月份在ml中?tc2:月份在m2中?tc3:月份在wi3中?tc4:日期在d1中?c5:日期在d2中?c6:日期在d3中?c7:日期在d4中?c8:年在y1中?al:不可能a2:

3、nextdate这个决策表会有256条规则,其中很多是不可能的。如果要显 示为什么这些规则是不可能的,可将动作修改为:a1:月份中的天数太多;a2:不能出现在非闰年中;a3:计算nextdateo第二次尝试如果我们将注意力集中到nextdate函数的闰年问题上,则可以 修改已有的等价类集合。为了说明另一种决策表表示方法,这一 次采用扩展项决策表开发,并更仔细地研究动作桩。在构建扩展 项决策表时,必须保证等价类构成输入定义域的真划分。如果规 则项之间存在“重叠”,则会存在冗余情况,使得多个规则都能够满足。这里,y2是一组48422042之间的年份,并除以4,2000除外。m1 =月份:每月有30

4、天; m2 = 月份:每月有34天; m3=月份:此月是2月d1 =0期:侶日期28; d2 = 日期:日期=29; d3 = 日期 =30; d4 = h期=34丫4=年:年=2000; y2 = 年:年是闰年; y3 = 年:年是平 年从某种意义上说,我们采用的是“灰盒”技术,因为更仔细地研究 t nextdate函数。为了产生给定日期的nextdate,能够使用 的操作只有五种:日期和月份的增4和复位,年的增1。(我们 不允许通过复位年来回退时间。)这些条件可以产生有对应等价类笛卡尔积的36个规则的决策表 (自己可以分析一下)。结合不关心项,可得到下表所示的17条 规则的决策表。仍然存在

5、逻辑不可能的规则,但是这个表有助于 我们标识测试用例的扩展输出。如果填满这个决策表的动作项, 就会发现12月有一些麻烦的问题(规则8)。我们下面解决这些问 题。有36条规则的第二次尝试1234567891011121314151617c1:月份在mlmlmlmlm2m2m2m2m3m3m3m3m3m3m3m3m3c2 :日期在d1d2d3d4did2d3d4dididid2d2d2d3d3d4c3:年在y1y2y3y1y2y3规则条数统计33333333111111333行为al :不可能xxxxxa2 :日期増1xxxxxxa3 :日期复位xxxxxxa4:月份増1x?xxxxq:月份复位?

6、話:年増1?第三次尝试 通过引入等价类的第三个集合,可以澄清年末问题。这一次可以 特别关注日和月,并重新使用第一次尝试的较简单的闰年或非闰 年条件,因此2000年没有特别处理。(还可以做第四次尝试,采 用第二次尝试的年等价类。)m1 =月份:每月有30天; m2 = 月份:每月有34天,12 月除外; m3 = 月份:此月是42月; m4 = 月份:此月是2 月d1 =h期:侶日期27; d2 = 日期:日期=28; d3 = 日期=29; d4 = h期=30; d5 = 0期=34y4=年:年是闰年; y2 = 年:年不是闰年这个等价类的笛卡尔积包含40个元素。所产生的组合规则包含 不关心

7、项,如下表所示,可与第二次的36条规则比较。大的测 试用例集合是否一定比小的测试用例集合好?这里我们有一个22条规则的决策表,得到的nextdate函数的描述比包含36条 规则的决策表更清晰。前5条规则处理有30天的月份,请注意, 这里不考虑闰年。接下来两组规则(规则640,规则仆45)处理有31天的月份,前5条规则处理42月之外的月份,后5 条规则处理42月。不可能规则也在决策表中列出,尽管存在一些高效测试人员可能会有疑问的冗余。10条规则中的8条只是 对日期增4。针对这个子功能是否真的需要8条单独的测试用例, 可能不需要,但是请注意我们可以通过决策表得到的启发。最后7条规则关注的是2月和闰

8、年。nextdate函数的决策表123456789101112131415161718192021c1:月份在mlmlmlmlmlm2m2m2m2m2m3m3m3m3m3m4m4m4m4m4m4c2 :日期在d1d2d3d4d5did2d3d4d5did2d3d4d5did2d2d3d3d4c3:年在y1y2y1y2行为al :不可能xxx辺:日期増1xxxxxxxxxxxxxa3 :日期复位xxxxa4:月份増1xxxq:月份复位x&6:年増1x上表所示的决策表是nextdate函数源代码的基础。这个例子从 另一个方面说明测试如何能够很好地改进程序设计。所有决策表 分析都应该在nex

9、tdate函数的详细设计期间完成。f. http:/ jpkc ccjtu jx. cn/nctccrarsc/cz477ccmr3carc/book6/201002042210. tilcs/futlscrccn.erne屬百度授索,cjw3.5决策表y1y2mlm2m3m412d1“071片贡面0*)安全工貝(0)1001 11:43文件(f) «is(e)查看(v) 欢 3 工具(d «w)00n收磁 詬皂.天空數空ghttp:jpkc cjgj.二 x'经过决策表分析,改进等价类划分如下:1, 3, 5, 7, & 104, 6, 9, 11<

10、2210|o)回区j p 百度1800w年份w2050,且为闰年1800w年份w2050,且为卜闺年1w 日期w27 1)2: 28 d3: 29 1)4: 30 d5:我们可以使用决策表代数进一步化简这22个测试用例。如果决 策表中两个规则的动作集合相同,则一定至少有一个条件能够把 两条规则用不关心条目合并。这正体现出决策表等价于用于标识 等价类的“相同处理”方针。在某种意义上,我们就是在标识规则 的等价类。例如,规则4、2和3涉及有30天的月份日期类d1. d2和d3。类似地,有34天的月份的日期类d1、d2、d3和 d4也可以合并,2月的d4和d5也可以合并。所得到的结果如 下表所示:nextdate函数的精简决策表相应的测试用例如下表所示:nextdate函数的决策表测试用例用例id月份日期年预期输4月16日443020012001年5月1日54312001不rj能6911520012001年1月16日1013120012001年2月1日11 14121520012001年12月16日15123120012002年1月1日1621520012001 年 2 月 16 b1722820042004年2月29日1822820012001年3月1日1922920042004年3月1日2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论