软件测试决策表资料

上传人:E**** 文档编号:100207978 上传时间:2019-09-22 格式:DOC 页数:11 大小:42.26KB
返回 下载 相关 举报
软件测试决策表资料_第1页
第1页 / 共11页
软件测试决策表资料_第2页
第2页 / 共11页
软件测试决策表资料_第3页
第3页 / 共11页
软件测试决策表资料_第4页
第4页 / 共11页
软件测试决策表资料_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件测试决策表资料》由会员分享,可在线阅读,更多相关《软件测试决策表资料(11页珍藏版)》请在金锄头文库上搜索。

1、软件测试课程实验软件测试实验报告 题目: 决策表法的使用 学号: 姓名: 教师: 东南大学成贤学院电子与计算机工程学院2017年 9 月30 日方案30%设计30%文字表述20%分析与总结20%总分实验题目1、实验内容NextDate 函数包含三个变量:month(月份)、day(日期) 和 year(年),函数的输出为输入日期前一天的日期。 例如,输入为 2007年9月 9日,则函数的输出为 2007年9月10日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件:(1)1month12(2)1day31(3)1912year20502、实验目的与要求分别输入

2、测试用例,判断期望输出与实际输出是否相等3、实验环境操作系统 WIN10测试工具 VS2010测试语言 c+语言4、设计思路分析(包括需求分析、整体设计思路、概要设计)需求分析:此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂性的来源有两个:一个是输入域的复杂性,另一个是指闰年的规则。例如变量year和变量month取不同的值,对应的变量day会有不同的取值范围,day值的范围可能是130或131,也可能是128或129。整体设计思路:NextDate函数中包含了定义域各个变量之间的依赖问题。等价类划分法和边界值分析法只能“独立地”选取各个输入值,不能体现出多个变量的依赖关系。决策表法则

3、是根据变量间的逻辑依赖关系设计测试输入数据,排除不可能的数据组合,很好地解决了定义域的依赖问题。5、详细设计NextDate函数求解给定某个日期的下一个日期的可能操作(动作桩)如下:变量day加1操作;变量day复位操作;变量month加1操作;变量month复位操作;变量year加1操作。根据上述动作桩发现NextDate函数的求解关键是日和月的问题,通常可以在下面等价类(条件桩)的基础上建立决策表:M1month:month有30天 M2month:month有31天,12月除外M3month:month是12月M4month:month是2月D1day:1day27D2day:day28

4、D3day:day29D4day:day30D5day:day31Y1year:year是闰年Y2year:year不是闰年决策表共有22条规则:第15条规则解决有30天的月份;第610条规则解决有31天的月份(除12月份以外);第1115条规则解决12月份;第1622条规则解决2月份和闰年的问题。不可能规则也在决策表中列出,比如第5条规则中在有30天的月份中也考虑了31日。表1 输入变量间存在大量逻辑关系的NextDate函数决策表规则选项1234567891011条件:C1:month在M1M1M1M1M1M2M2M2M2M2M3C2:day在D1D2D3D4D5D1D2D3D4D5D1C

5、3:year在动作:A1:不可能A2:day加1A3:day复位A4:month加1A5:month复位规则选项1213141516171819202122条件:C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2动作:A1:不可能A2:day加1A3:day复位A4:month加1A5:month复位A6:year加1表2 简化的NextDate函数决策表:选项规则1,2,3456,7,8,91011,12,13,1415161718192021,22条件:C1:month在M1M1M1M2M

6、2M3M3M4M4M4M4M4M4C2:day在D1,D2,D3D4D5D1,D2,D3,D4D5D1,D2,D3,D4D5D1D2D2D3D3D4,D5C3:year在Y1Y2Y1Y2动作:A1:不可能A2:day加1A3:day复位A4:month加1A5:month复位A6:year加16、实验结果与分析表3 NextDate函数的测试用例组测试用例 MonthDayYear预期输出实际输出Test case 1-351520152015年5月16日Test case 453020152015年5月31日Test case 553120152015年6月1日Test case 6-941

7、520152015年4月16日Test case 1043120152015年5月1日Test case11-14121520152015年12月16日Test case 15123120152016年1月1日Test case 1621520152015年2月16日Test case 1722820162016年2月29日Test case 1822820152015年3月1日Test case 1922920162016年3月1日Test case 202292015不可能!Testcase 21-222302015不可能!7、实验体会与建议程序的实际输出结果与预期结果不符合,但基本满足实

8、验问题需求,基于决策表的测试对于某些应用程序(例如NextDate函数)很有效,但是对另外一些简单的应用程序就不值得使用决策表了。附录代码#include stdafx.hbool NextDate(int i,int j,int k)if(i=1960&i=1&j=1&k=1&k=27)k+;elseswitch(k)case 31: if(j=1|j=3|j=5|j=7|j=8|j=10)k=1;j+;else if(j=12)k=1;j=1;i+;elsereturn false;break; case 30:if(j=4|j=6|j=9|j=11)k=1;j+;else if(j=2)

9、return false;elsek+;break;case 29:if(j=2&(i%4=0&i%100!=0)|i%400=0)k=1;j+;else if(j!=2)k+;elsereturn false;break;case 28:if(j=2&(i%4=0&i%100!=0)|i%400=0)k+;else if(j!=2)k+;elsek=1;j+;break;elsereturn false;couti/j/kendl;int main()int day,month,year;while(1)cout请输入年、月、日:yearmonthday;NextDate(year,month,day);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号