网站如何知道是谁做的呢,备案 网站名称怎么写,五大建设内容,搞笑网站源码实验三日期题白盒测试用例设计日期问题白盒测试用例的设计(实验时间2012.3.21)一、实验目的1#xff0e;熟练掌握如何运用基路径测试方法进行测试用例设计。二、实验内容1、题目前一日函数PreDate是NextDate的逆函数(代码实现见下)#xff0c;实现功能为#xff1a;输入1800…实验三日期题白盒测试用例设计日期问题白盒测试用例的设计(实验时间2012.3.21)一、实验目的1熟练掌握如何运用基路径测试方法进行测试用例设计。二、实验内容1、题目前一日函数PreDate是NextDate的逆函数(代码实现见下)实现功能为输入1800 年到2050 年之间的某个日期函数返回这一天的前一天的日期。(此处不考虑无效输入)请采用基路径方法对前一日函数进行测试用例设计。代码(被测函数为PreDate)#includestdio.htypedef struct MyDate{int month;int day;int year;}MyDate;MyDate PreDate(MyDate date);int Leapyear(int year);void Print(MyDate date);MyDate PreDate(MyDate date)//输入日期有效性检查中其他模块实现此处假设输入日期都是合法数据{1.MyDate yesterday;2.yesterday.month date.month; // initialization3.yesterday.day date.day;4.yesterday.year date.year;5.int days_month[13]{0,31,0,31,30,31,30,31,31,30,31,30,31};//初始化每月天数其中2月不确定初始化为06.if(date.day1)7.yesterday.daydate.day-1;else{8.if(date.month1){9.yesterday.yeardate.year-1;10.yesterday.month12;11.yesterday.day31;}12.else if(date.month3){13.if(Leapyear(date.year)){14.yesterday.month2;15.yesterday.day29;}else{16.yesterday.month2;17.yesterday.day28;}}else{18.yesterday.monthdate.month-1;19.yesterday.daydays_month[date.month-1];}}20.return yesterday;}21.int Leapyear(int year){22.if((year%40year%100!0) || (year%4000))23.return 1;24.else return 0;}void Print(MyDate date){25.printf(%d--%d--%d\n,date.year,date.month,date.day);}2、测试用例设计1)控制流图2)环路复杂度计算圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量将该度量用于计算程序的基本的独立路径数目为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。对应上面图中的圈复杂度计算如下流图中有五个区域V(G)4个判定结点15。3)基本路径集设计基本路径集为A1、2、3、4、5、6、8、12、13、14、15、20、25B1、2、3、4、5、6、8、12、16、17、20、25C1、2、3、4、5、6、8、12、18、19、20、25D1、2、3、4、5、6、8、9、10、11、20、25E1、2、3、4、5、6、7、20、25根据上面的独立路径去设计输入数据使程序分别执行到上面五条路径。4)测试用例集设计为了确保基本路径集中的每一条路径的执行根据判断结点给出的条件选择适当的数据以保证某一条路径可以被测试到满足上面例子基本路径集的测试用例是2000-1-2 2000-1-1 2000-3-11999-3-1 1980-5-1三、总结与体会白盒测试是一种被广泛使用的逻辑测试方法是由程序内部逻辑驱动的一种单元测试方法。只有对程序内部十分了解才能进 行