软件测试 决策表.doc

上传人:钟*** 文档编号:5414107 上传时间:2020-01-29 格式:DOC 页数:11 大小:51.95KB
返回 下载 相关 举报
软件测试 决策表.doc_第1页
第1页 / 共11页
软件测试 决策表.doc_第2页
第2页 / 共11页
软件测试 决策表.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
.软件测试实验报告 题目: 决策表法的使用 学号: 姓名: 教师: 东南大学成贤学院电子与计算机工程学院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、实验目的与要求分别输入测试用例,判断期望输出与实际输出是否相等3、实验环境操作系统 WIN10测试工具 VS2010测试语言 c+语言4、设计思路分析(包括需求分析、整体设计思路、概要设计)需求分析:此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂性的来源有两个:一个是输入域的复杂性,另一个是指闰年的规则。例如变量year和变量month取不同的值,对应的变量day会有不同的取值范围,day值的范围可能是130或131,也可能是128或129。整体设计思路:NextDate函数中包含了定义域各个变量之间的依赖问题。等价类划分法和边界值分析法只能“独立地”选取各个输入值,不能体现出多个变量的依赖关系。决策表法则是根据变量间的逻辑依赖关系设计测试输入数据,排除不可能的数据组合,很好地解决了定义域的依赖问题。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:day28D3day: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在D1D2D3D4D5D1D2D3D4D5D1C3: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在M1M1M1M2M2M3M3M4M4M4M4M4M4C2: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-941520152015年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、实验体会与建议程序的实际输出结果与预期结果不符合,但基本满足实验问题需求,基于决策表的测试对于某些应用程序(例如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)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);if(NextDate(year,month,day)=false)cout不可能!endl;system(pause);return 0;精选word范本!
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!