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

合集下载

软件测试-NextDate函数

软件测试-NextDate函数

边界值分析法
输入 测试用例 month Test Case 1 Test Case 2 Test Case 3 Test Case 4 Test Case 5 Test Case 6 Test Case 7 Test Case 8 Test Case 9 Test Case 10 Test Case 11 Test Case 12 Test Case 13 Test Case 14 Test Case 15 Test Case 16 Test Case 17 Test Case 18 Test Case 19 Test Case 20 -1 0 1 2 11 12 13 6 6 6 6 6 6 6 6 6 6 6 6 6 day 15 15 15 15 15 15 15 -1 0 1 2 30 31 32 15 15 15 15 15 15 year 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 1911 1912 1913 2049 2050 2051 month不在1~12中 month不在1~12中 2000年1月16日 2000年2月16日 2000年11月16日 2000年12月16日 month不在1~12中 day不在1~31中 day不在1~31中 2000年6月2日 2000年6月3日 2000年7月1日 不可能的输入日期 day不在1~31中 year不在1912~2050中 1912年6月16日 1913年6月16日 2049年6月16日 2050年6月16日 year不在1912~2050中 期望输出
返回
Test Case 5
Test Case 6 Test Case 7 Test Case 8

NextDate函数测试用例

NextDate函数测试用例

NextDate函数测试用例1.测试程序源代码#include\#includeuingnamepacetd;voidNe某tDate(intyear,intmonth,intday);voidmain(){intyear=0,month=0,day= 0;Ne某tDate(year,month,day);}voidNe某tDate(intyear,intmonth,intday){cout<>year;while(!(year>=1911&&ye ar<=2022)){cout<>year;}cout<>month;while(month>12||month<1){ }cout<>month;cout<>day;while(day>31||day<1){cout<>day;}inti=0;i=day-29;while(month==2&&i>0){cout<>day;}if(month==2&&day==29){month=3;day=1;}eleday++;} eleday++;//月底计算;witch(month){cae1:cae3:cae5:cae7:cae8:cae10:if(day==32){month++; day=1;cout<if(day==31){month++;day=1;cout<cout<break;cout<白盒测试1开始2输入年、月、日43日期是否合法?无效日期5闰年的2月29日或者非闰年的2月28日6明天为3月1日87大月的31号或者小月的30号下个月是否大于129下个月1号1011日期加11月1号12结束DD-路径情况1.由一个节点组成,内度=0情况2.由一个节点组成,外度=0情况3.由一个节点组成,内度>=2或外度>=2情况4.由一个节点组成,内度=1并且外度=1情况5.长度>=1的最大链情况2:节点6、节点9、节点10情况3:节点2、节点3、节点5、节点7、节点8情况4:节点4、节点11白盒测试对每条DD-路径测试用例用例说明输入正确的年、月、日输入错误的年、月、日输入错误的年、月、日输入错误的年、月、日输入闰年2月29日输入非闰年2月28日输入大月31日输入小月30日输入12月31日输入数据预期结果实际结果2022年6月15日2022年6月16日2022年6月16日2501年6月15日日期输入有误输入有误,重新输入2022年6月33日日期输入有误输入有误,重新输入2022年13月15日日期输入有误输入有误,重新输入2000年2月29日2000年3月1日2000年3月1日2001年2月28日2001年3月1日2001年3月31日2001年4月1日2001年4月30日2001年5月1日2004年12月31日2005年1月1日2001年3月1日2001年4月1日2001年5月1日2005年1月1日。

计算下一天时间软件测试实验报告

计算下一天时间软件测试实验报告

软件测试实验报告题目名称:计算下一天时间测试一、实验综述1、实验目的及要求实验目的:掌握等价类测试方法的原理及使用。

实验要求:(1)完成各个程序的编写(2)按要求设计测试用例,并运行测试用例检查程序的正确与否实验内容:对日期操作函数进行等价类测试方法的测试用例设计及测试结果记录与分析。

2、实验仪器、设备或软件1. 个人计算机PC;2. VisualC++/.NET编程环境。

二、实验过程(实验步骤、记录、数据、分析)1.程序有三个变量(月份、日期、和年)的函数,函数返回输入日期后面的那个日期。

变量都具有整数值,且满足以下条件:C1 1<=月份<=12C2 1<=日期<=31确定等价类M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1<=日期<=28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}一般等价类测试用例应该有3个(月份类)x 4个(日期类)x 2(年类)= 24个测试用例mouth day year预期输出实际输出1 2 3 6661515151911191219131911.6.161912.6.161913.6.161911.6.161912.6.161913.6.164 5 6 7 66661515151719752049205020511975.6.162049.6.162050.6.162051.6.181975.6.162049.6.162050.6.162051.6.188 910111213 666666-112303132191219121912191219121912day超出[1…31]1912.6.21912.6.31912.7.1输入日期超界day超出[1…31]Error input1912.6.21912.6.31912.7.1Error inputError input141516171819 -112111213151515151515191219121912191219121912Mouth超出[1…12]1912.1.161912.2.161912.11.161912.12.16Mouth超出[1…12]Error input1912.1.161912.2.161912.11.161912.12.16Error input20212223 22222728293020002000200020002000.2.282000.2.292000.3.1Day超出2000.2.282000.2.292000.3.1Error input242526 2222728302001200120012001.2.282001.3.1Day超出2001.2.272001.2.28Error input通过分析前两个测试用例表,就会发现这些测试用例是不充分的,而且存在冗余。

软件测试NextDate函数测试用例详解

软件测试NextDate函数测试用例详解
12
15
2007
2007年12月16日
Test Case 15
12
31
2007
2008年1月1日
Test Case 16
2
15
2007
2007年2月16日
Test Case 17
2
28
2000
2000年2月29日
Test Case 18
2
28
2007
2007年3月1日
Test Case 19
2
29
动作:
A1: 不可能



A2: day加1





A3: day复位



A4: month加1


A5: month复位

A6:year加1

决策表法
表5-8 简化的NextDate函数决策表
选项 规则
1, 2, 3
4
5
6, 7, 8, 9
10
11, 12, 13, 14
15
等价类划分法——以输入域划分等价类
等价类划分法——以输入域划分等价类
改进等价类划分测试NextDate函数如表5-5所示。 表5-5 改进等价类划分法测试用例
测试用例
输入
期望输出
month
day
year
Test Case 1
6
30
2007
2007年7月1日
Test Case 2
8
31
2007
2007年9月1日
弱强健等价类测试 弱强健等价类测试中的有效测试用例使用每个有效等价类中的一个值。弱强健等价类测试中的无效测试用例那么只包含一个无效值,其他都是有效值,即含有单缺陷假设。如表5-3所示。

NextDate函数黑盒测试设计测试用例

NextDate函数黑盒测试设计测试用例

N e x t D a t e函数黑盒测试设计测试用例(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验一 NextDate函数一、实验目的使用合适的黑盒测试的测试用例设计方法为NextDate函数设计测试用例。

二、实验准备掌握软件测试的内容,熟悉了解常用的黑盒测试的测试用例设计方法,明确不同方法的区别,上网查找其他软件测试的方法。

三、实验性质本实验为设计性实验。

四、实验内容根据实验的目的和我所掌握的黑盒测试的测试用例设计方法,最后我选择用决策表测试法完成了对NextDate函数测试用例的设计。

设计如下:(1)month、day、year的有效等价类:M1:{month:month有30天}M2:{month:month有31天,12月除外}M3:{month:month是12月}M4:{month:month是2月}D1:{day:1≤da y≤27}D2:{day:day=28}D3:{day:day=29}D4:{day:day=30}D5:{day:day=31}Y1:{year:year是闰年} Y2:{year:year不是闰年}(2)根据各种有效的输入情况,程序中可能采取的操作有以下六种:a1:不可能 a2:day加1 a3:day复位a4:month加1 a5:month复位 a6:year加1(3)NextDate函数的决策表表4-1 NextDate函数的决策表(4)简化后的NextDate函数的决策表表4-2简化后的NextDate函数的决策表(5)根据简化后的决策表设计的测试用例表4-3测试用例表。

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

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

NextDate函数测试用例选择NextDate函数,是因为它可以说明输入定义域中的依赖性问题,这使得这个例子成为基于决策表测试的一个完美例子,因为决策表可以突出这种依赖关系。

从前面对等价类测试的分析我们知道,等价类分析假设所有的变量都是独立的。

如果变量确实是独立的,则使用类的笛卡尔积是有意义的。

如果变量之间在输入定义域中存在逻辑依赖关系,则这些依赖关系在笛卡尔积中就会丢失(说抑制可能更确切)。

决策表格式通过使用“不可能动作”概念表示条件的不可能组合,使我们能够强调这种依赖关系。

下面将对NextDate函数的决策表描述做三次尝试。

第一次尝试标识合适的条件和动作,假设首先从分析等价类集合开始。

M1= {月份:每月有30天};M2 = {月份:每月有31天};M3二{月份:此月是2月}D1 = {日期:1<0期W 28}; D2 = {日期:日期=29}; D3 = {日期=30}; D4 = {日期=31}Y1 = {年:年是闰年}; Y2 = {年:年不是闰年}如果我们希望突出不可能的组合,则可以建立具有以下条件和动作的有限项决策表。

(请注意,年变量对应的等价类收缩为下表的一个条件。

)有2处条规则的第一袂尝试这个决策表会有256条规则,其中很多是不可能的。

如果要显示为什么这些规则是不可能的,可将动作修改为:al:月份中的天数太多;a2:不能出现在非闰年中;a3:计算NextDate.第二次尝试如果我们将注意力集中到NextDate函数的闰年问题上,则可以修改已有的等价类集合。

为了说明另一种决策表表示方法,这一次采用扩展项决策表开发,并更仔细地研究动作桩。

在构建扩展项决策表时,必须保证等价类构成输入定义域的真划分。

如果规则项之间存在“重叠”,则会存在冗余情况,使得多个规则都能够满足。

这里,Y2是一组1812〜2012之间的年份,并除以4, 2000除外。

M1= {月份:每月有30天}; M2 = {月份:每月有31天}; M3二{月份:此月是2月}D1 = {日期:1<0期W 28}; D2 = {日期:日期=29}; D3 = {日期=30}; D4 = {日期=31}Y1 = {年:年=2000}; Y2 = {年:年是闰年}; Y3 = {年:年是平年}从某种意义上说,我们采用的是“灰盒”技术,因为更仔细地研究了NextDate 函数。

软件测试实验报告二doc

软件测试实验报告二doc

软件测试实验报告二一、实验目的掌握边界值、等价类和决策表测试的基本方法二、实验内容对于nextdate函数设计决策表测试用例程序三、概要设计1、对于nextdate函数设计决策表测试用例程序设计如下的等价类:M1={月份:每月有30天} M2={月份:每月有31天,12月除外}M3={月份:此月是12月} M4={月份:此月是2月}D1={日期:1≤日期≤27} D2={日期:日期=28}D3={日期:日期=29} D4={日期:日期=30}D5={日期:日期=30} Y1={年:年是闰年} Y2={年:年不是闰年}四、详细设计1、对于nextdate函数设计决策表测试用例程序设计如下的决策表测试用例:五、程序调试六、实验总结通过这次实验,让我掌握边界值、等价类和决策表测试的基本方法。

七、附录DATE.C#include<stdio.h>#include<stdlib.h>void main(){int tomorrowDay,tomorrowMonth,tomorrowYear,day,month,year;//设置程序需要的变量printf("Please input today's date is from MM DD YYYY...\n");scanf("%d %d %d",&month,&day,&year);switch(month){//通过switch来选择不同的月份下的情况case 1:case 3:case 5:case 7:case 8:case 10://上面的月份都是31天的,下面代码实现31天情况下的月份if(day<31){tomorrowDay=day+1;tomorrowMonth=month;tomorrowYear=year;}else{tomorrowDay=1;tomorrowMonth=month+1;tomorrowYear=year;}break;case 4:case 6:case 9:case 11://上面的月份都是30天的,下面代码实现30天情况下的月份if(day<30){tomorrowDay=day+1;tomorrowMonth=month;tomorrowYear=year;}else{tomorrowDay=1;tomorrowMonth=month+1;tomorrowYear=year;}break;case 12://由于12月一过,年份要加一,故单独把12月拿出if(day<31){tomorrowDay=day+1;tomorrowMonth=month;tomorrowYear=year;}else{tomorrowDay=1;tomorrowMonth=1;if(year==2012){printf("The 2012 is over!\n");exit(0);}elsetomorrowYear=year+1;}break;case 2://根据是否闰年来判断二月的天数,故把二月单独拿出来 if(day<28){tomorrowDay=day+1;tomorrowMonth=month+1;tomorrowYear=year+1;}else if(day==28){if((year/4==0 && year/100!=0) || year/400==0){ tomorrowDay=29;tomorrowMonth=month;tomorrowYear=year;}else{tomorrowDay=1;tomorrowMonth=3;tomorrowYear=year;}}else if(day==29){tomorrowDay=1;tomorrowMonth=3;tomorrowYear=year;}elseprintf("Feb can not have %d day\n",day);}printf("Tomorrow's date is %d %d %d\n",tomorrowMonth,tomorrowDay,tomorrowYear);}。

next-date-系统测试报告

next-date-系统测试报告

NextDate软件项目系统测试报告2016/04/04目录1.引言 (2)2.测试参考文档 (2)3.测试设计简介 (2)3.1测试用例设计 (2)3.1.1黑盒测试用例 (2)3.1.2白盒测试用例 (2)3.2测试环境与配置 (2)3.3测试方法 (3)4.测试情况 (3)4.1测试执行情况 (3)4.1.1缺陷汇总和分析 (5)4.1.2缺陷汇总和分析 (6)4.2测试覆盖 (8)4.3缺陷的统计 (8)4.3.1缺陷汇总和分析 (8)4.3.2具体的测试缺陷 (8)5.测试结论和建议 (8)5.1结论 (8)1.引言本测试报告为COMMISION计算系统的测试报告,目的在于总结测试阶段的测试以及分析测试结果,检验系统是否符合需求,预期读者为项目布置者。

主要通过软件测试技术测试系统是否可行,大致包括以下几个方面:1.提交组件数量信息的时候,是否能够将信息存入以备日后查用2.输入信息有误时候,能否提示错误3.当信息修改后看修改后的信息能不能被系统接受并保存到数据库4.查询信息时候,能不能准确查找信息5.业务逻辑是否正确,且能产生无误的输出报告2.测试参考文档暂无3.测试设计简介3.1 测试用例设计3.1.1黑盒测试用例黑盒测试中主要采用如下几种测试用例的设计方法设计测试用例,基本可以满足系统测试需要:(1)边界值测试用例(2)特殊值测试用例(3)等价类测试用例(4)消极测试用例3.1.2白盒测试用例白盒测试中主要采用如下几种测试用例的设计方法设计测试用例,基本可以满足系统测试需要,并覆盖程序所有路径:(1)基本路径测试(2)自下而上测试3.2测试环境与配置测试环境:客户端:web浏览器(chrome 49.0.2623.110 m)操作系统:windows73.3测试方法本次测试采用白盒测试方法,对系统后台业务逻辑和数据库操作部分进行单元测试;采用黑盒测试方法对系统整体功能进行测试。

其中单元测试工具是jasmine。

软件测试 决策表

软件测试 决策表

软件测试实验报告题目:决策表法的使用学号::教师:东南大学成贤学院电子与计算机工程学院2017年 9 月30 日实验题目1、实验容NextDate 函数包含三个变量:month(月份)、day(日期)和 year(年),函数的输出为输入日期前一天的日期。

例如,输入为 2007年9月 9日,则函数的输出为 2007年9月10日。

要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件:(1)1≤month≤12(2)1≤day≤31(3)1912≤year≤20502、实验目的与要求分别输入测试用例,判断期望输出与实际输出是否相等3、实验环境操作系统 WIN10测试工具 VS2010测试语言 c++语言4、设计思路分析(包括需求分析、整体设计思路、概要设计)需求分析:此函数的主要特点是输入变量之间的逻辑关系比较复杂。

复杂性的来源有两个:一个是输入域的复杂性,另一个是指闰年的规则。

例如变量year和变量month取不同的值,对应的变量day会有不同的取值围,day值的围可能是1~30或1~31,也可能是1~28或1~29。

整体设计思路:NextDate函数中包含了定义域各个变量之间的依赖问题。

等价类划分法和边界值分析法只能“独立地”选取各个输入值,不能体现出多个变量的依赖关系。

决策表法则是根据变量间的逻辑依赖关系设计测试输入数据,排除不可能的数据组合,很好地解决了定义域的依赖问题。

5、详细设计NextDate函数求解给定某个日期的下一个日期的可能操作(动作桩)如下:变量day加1操作;变量day复位操作;变量month加1操作;变量month复位操作;变量year加1操作。

根据上述动作桩发现NextDate函数的求解关键是日和月的问题,通常可以在下面等价类(条件桩)的基础上建立决策表:M1={month:month有30天}M2={month:month有31天,12月除外}M3={month:month是12月}M4={month:month是2月}D1={day:1≤day≤27}D2={day:day=28}D3={day:day=29}D4={day:day=30}D5={day:day=31}Y1={year:year是闰年}Y2={year:year不是闰年}决策表共有22条规则:第1~5条规则解决有30天的月份;第6~10条规则解决有31天的月份(除12月份以外);第11~15条规则解决12月份;第16~22条规则解决2月份和闰年的问题。

实验二 Nextdata实验白盒测试

实验二 Nextdata实验白盒测试
实验
分析
实验
分析

实验
分析

实验
分析


本次实验的收获、体会、经验、问题和教训:
关于白盒测试
测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-box Testing)方法。
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
2001.11.30
F1、F3、T4、F5
beji
2001.12.1
2.利用路径覆盖分析NextDate函数
基本路径测试方法
(1)控制流图
图2-1 NextDate函数的控制流图
(2)环形复杂度
方法一:V(G)=5(封闭区域)+1=6
方法二:V(G)=16(边数)—12(节点)+2=6
方法三:V(G)=5(判定节点2、3、4、5、6)+1=6
(3)导出基本路径
根据上面的计算结果,可导出基本路径集,列出程序的独立路径,可得出程序段的的基本路径集中有6条独立路径,每条独立路径为一个独立的测试用例。路径如下。
路径1:1→2→3→10→12
路径2:1→2→3→5→9→12
路径3:1→2→3→5→6→7→12
路径4:1→2→3→5→6→8→12
路径5:1→2→4→5→6→8→12
输入条件
覆盖条件
执行路径
预期输出
测试用例1
2000.2.29
T1、T2
ac
2000.3.1
测试用例2
2001.2.28
F1、T3
bd
2001.3.1

软件测试实验报告(测试用例 代码 截图)

软件测试实验报告(测试用例 代码 截图)

软件测试实验报告(测试用例代码截图)计算机软件测试技术实验报告系别电子信息系专业计算机科学与技术班级学号姓名指导教师万聪2010年12月19月实验一黑盒测试用例设计一(实验内容:1( 三角形问题的等价类测试和边界值分析测试2( NextDate()函数决策表法测试二(实验要求:给出测试用例和测试结果三(实验步骤及结果:3.1(三角形)实验代码(c)#include<stdio.h> #include<stdlib.h>int a=0,b=0,c=0;void shuru();void panduan(int a1,int b1,int c1);void main(){char se;shuru();panduan(a,b,c);while(1){printf("是否要继续y or n :");scanf("%c",&se);if(se=='\n') scanf("%c",&se);switch(se){case 'y':shuru();panduan(a,b,c);break;case 'n':return;}}}void shuru(){printf("Please enter 三角形三边 (a,b,c)\n"); scanf("%d,%d,%d",&a,&b,&c);while((a<1||a>100)||(b<1||b>100)||(c<1||c>100)){if(a==0||b==0||c==0) printf("边长不能为0\n");else if(a<0||b<0||c<0) printf("边长不能为负\n");else printf("Please enter 1-100之间的整数\n");scanf("%d,%d,%d",&a,&b,&c);}}void panduan(int a1,int b1,int c1) {int m1=a1+b1;int m2=a1+c1;int m3=b1+c1;if(a1>=m3||b1>=m2||c1>=m1) printf("非三角形\n");else if(a1!=b1&&a1!=c1&&b1!=c1) printf("一般三角形\n");else if((a1==b1&&b1!=c1)||(a1==c1&&a1!=b1)||(c1==b1&&a1!=c1)) printf("等腰三角形\n");else if(a1==b1&&b1==c1) printf("等边三角形\n"); }3.2测试用例和结果(反映在图中)测试用例输入a,b,c 输出1 4,5,6 一般三角形2 2,3,6 非三角形3 4,4,7 等腰三角形4 6,6,6 等边三角形5 4,0,6 边长不能为06 4,-5,6 边长不能为负7 101,101,101 请输入1-100之间的整数图形结果:3.3(NextDate())实验代码(c)#include<stdio.h>#include<stdlib.h>#include<time.h>void main(){int year;int month,day;int leap;//标志是闰年还是平年,为1时是闰年,为2时是平年time_t t;//本来以下是用来判断格式输入是否正确的,但是结果不理想struct tm stm;//Awhile(1){//循环测试printf("请输入年(yyyy)/月(mm)/日(dd)\n");scanf("%d/%d/%d",&stm.tm_year,&stm.tm_mon,&stm.tm_mday);//B year=stm.tm_year;month=stm.tm_mon;day=stm.tm_mday;//Ct=mktime(&stm);//Dprintf("*****输出结果*****\n");if(t!=-1)//E有问题,不管输入格式是什么,t永远是-1{printf("输入的日期时间格式出错!\n");continue;}if(year%4==0)//年份判断{if(year%100==0){if(year%400==0){leap=1;printf("%ld年%d月%d日是闰年\n",year,month,day);}else{leap=2;printf("%ld年%d月%d日是平年\n",year,month,day); }}else{leap=1;printf("%ld年%d月%d日是闰年\n",year,month,day); }}else{leap=2;printf("%ld年%d月%d日是平年\n",year,month,day); }if(month==2){if(leap==1){printf("该月有29天\n");if(day>29){printf("对不起!您输入的日期超出该月范围\n"); continue;}else if(day==29){month=month+1;day=1;}else day=day+1;}if(leap==2){printf("该月有28天\n");if(day>28){printf("对不起!您输入的日期超出该月范围\n"); continue;}else if(day==28){month=month+1;day=1;}else day=day+1;}}else if(month==4||month==6||month==9||month==11){printf("该月有30天\n");if(day>30){printf("对不起!您输入的日期超出该月范围\n"); continue;}else if(day==30){month=month+1;day=1;}else day=day+1;}else{printf("该月有31天\n");if(day>31){printf("对不起~超出该月范围\n");continue;}else if(day==31){if(month==12&&day==31){year=year+1;month=1;day=1;}else{month=month+1;day=1;}}else day=day+1;}printf("NEXT日期:%ld年%d月%d日\n",year,month,day); }}3.4测试用例和结果(反映在图中)决策表测试用例 month day year 预期输出Test1~3 6 16 2001 2001/6/17Test4 6 30 2001 2001/7/1Test5 6 31 2001 对不起~超出该月范围Test6~9 1 17 2010 2010/1/18Test10 1 31 2013 2013/2/1Test 11~14 12 31 2010 2010/1/1Test15 2 28 2004 2004/2/29Test16 2 29 2004 2004/3/1Test17 2 28 2001 2001/3/1Test18 2 30 2001 对不起~超出该月范围界面效果:实验二白盒测试用例设计一(实验内容:求解一元二次方程程序控制流测试二(实验要求:给出控制流测试用例和测试结果三(实验步骤及结果:3.1实验代码(c)#include<stdio.h>#include<stdlib.h>#include<math.h>void main(){float a,b,c,x,y;float mid,x1,x2;y=a*x*x+b*x+c;printf("*************************************\n"); printf("二元一次方程的求解问题\n");printf("**************************************\n"); while(1){printf("请输入y方程中参数a,b,c: \n");scanf("%f,%f,%f",&a,&b,&c);if(a!=0){mid=b*b-4*a*c;if(mid>0){x1=(-b+sqrt(mid))/(2*a);x1=(-b-sqrt(mid))/(2*a);printf("该方程有两个解:x1=%f,x2=%f\n",x1,x2);//printf("y=(%f*%f*%f)+(%f*%f)+(%f)\n",a,x1,x1,b,x1,c);//printf("y=(%f*%f*%f)+(%f*%f)+(%f)\n",a,x2,x2,b,x1,c);}if(mid==0){x1=-b/(2*a);x2=x1;printf("该方程两个解相同:x1=x2=%f\n",x2);printf("y=(%f*%f*%f)+(%f*%f)+(%f)\n",a,x1,x1,b,x1,c);}if(mid<0){printf("该方程没有解\n");}}else printf("该方程不是二元方程,可能是一元一次方程\n");}}3.2测试用例和结果(反映在图中)测试用例 x,y,z a!=0 mid>0 mid==0 输出结果1 2,5,3 真真假该方程有两个解2 1,2,1 真假真该方程有两个相同解3 4,2,1 真假假该方程没有解4 0,2,1 假该方程不是二元方程,可能是一元一次方程图形结果:实验三基于缺陷模式的软件测试一(实验内容:C++语言、Java语言缺陷模式测试 (2学时) 二(实验要求:给出测试用例和测试结果三(实验步骤及结果:3.1实验代码(java)package hl.fengye.tt;public class base{//没必要的方法调用,System.exit()是没有必要的,应该抛出异常public String square(String x){try{int y=Integer.parseInt(x.toLowerCase());return y*y+"";}catch(NumberFormatException e){e.printStackTrace();System.exit(1);return "";}}//显示垃圾回收(缺陷)public String multiply(String x,int n){if(n<=0) return "";StringBuffer buf=new StringBuffer();while(n-->0){buf.append(x);}return buf.toString();}public String multiplyGc(String x,int n){ System.gc();//显示运行结果return multiply(x,n);}//字符串的低效操作(连接)public void connection(){String filed="东北大学秦皇岛分校 4080420 黄磊"; //this is badString s="";//System.out.print(s);//Startfor(int i=0;i<filed.length();++i){s=s+filed.charAt(i);//追加}System.out.print(s+'\n');//Stop1}public void connection2(){String filed="东北大学秦皇岛分校 4080420 黄磊";//this is betterString s="";StringBuffer buf=new StringBuffer();for(int i=0;i<filed.length();++i){buf.append(filed.charAt(i));}String ss=buf.toString();System.out.print(ss+'\n');//Stop2}public static void main(String[] args) {String h;base pp=new base();h=pp.square("100");System.out.print(h+"\n");String s="hello word!";h=pp.multiply(s, 2);//System.out.print(h+"\n");h=pp.multiplyGc(s,2);System.out.print(h+"\n");//以纳秒为单位计算的:long startTime = System.nanoTime();//获取当前时间pp.connection();long endTime = System.nanoTime();System.out.println("程序运行时间:"+(endTime-startTime)+"ms");long startTime2 = System.nanoTime();//获取当前时间pp.connection2();long endTime2 = System.nanoTime();System.out.println("程序运行时间:"+(endTime2-startTime2)+"ms"); }}3.2测试用例和结果(反映在图中)显示垃圾回收部分:测试用例输入String s ,int n 输出结果1 hello word !,2 hello word! hello word!2 ni hao ,1 ni hao3 love you ,0 (null)图形显示:低效字符串操作部分:测试用例输入String s 输出时间bad(ms) good(ms)1 hl 441694 271302 hello word 477785 378673 东北大学秦皇岛分校 4080420 黄磊 456245 392444 (空格) 313135 51604部分图形展示:实验四系统测试一(实验内容:数据库应用系统性能测试二(实验要求:给出响应时间、吞吐量测试用例和结果三(实验步骤及结果:3.1实验代码(java)import java.sql.Connection;import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;public class huanglei {/*** @param args* @throws Exception*/public void execute() throws Exception{Class.forName("com.mysql.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");con.setAutoCommit(false);Statement st = con.createStatement();//st.execute("create table city (name varchar(20) not null)");for(int i = 100;i>0;i--){String str = "insert into city values('city"+i+"','huangeli','hebei')";System.out.println(str);st.addBatch(str);}//rs='select * from city';st.executeBatch();mit();}public static void main(String[] args) {// TODO Auto-generated method stubtry {new Luncher().execute();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}3.2测试用例和结果(反映在图中)测试用例线程数循环次数响应时间(seconds)吞吐结果1 100 10 1 592.002/minute2 50 5 1 293.232/minute1 100 102 586.61/minute图形展示:实验总结:通过这些课时的实验,了解了一些软件测试的基本含义,学会了一些基本测试步骤的设计和用例的构造。

软件测试-NextDate函数

软件测试-NextDate函数

2
15 9 9
30
9 35 9
Page 11
2007
2007 2007 2100
不可能的输入日期
变量month无效 变量day无效 变量year无效 制作者:
边界值分析法
边界值分析法设计测试用例
在NextDate函数中,规定了变量month、day、year的相应 取值范围。在上面等价类法设计测试用例中已经提过,具 体如下: M1={month:1≤month≤12} D1={day:1≤day≤31} Y1={year:1912≤year≤2050}
决策表共有22条规则: 第1~5条规则解决有30天的月份; 第6~10条规则解决有31天的月份(除12月份以外); 第11~15条规则解决12月份; 第16~22条规则解决2月份和闰年的问题。 不可能规则也在决策表中列出,比如第5条规则中在有30天的 月份中也考虑了31日。
制作者:
Page 16
决策表法
NextDate函数的用例设计方法
主讲:黄老师
授课班级:软件设计班
制作者:
NextDate函数的用例设计方法
黑盒测试
等价类划分法
边界值分析法
因果图法 决策表法
制作者:
Page 2
等价类划分法——以输入域划分等价类
NextDate 函数包含三个变量:month(月份)、day(日期) 和 year(年),函数的输出为输入日期后一天的日期。 例如, 输入为 2007年9月 9日,则函数的输出为 2007年9月10日 。 要求输入变量 month 、 day 和 year 均为整数值,并且满足 下列条件: (1)1≤month≤12 (2)1≤day≤31 (3)1912≤year≤2050 此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂 性的来源有两个:一个是输入域的复杂性,另一个是指闰年 的规则。例如变量year和变量month取不同的值,对应的变 量day会有不同的取值范围,day值的范围可能是1~30或1~ 31,也可能是1~28或1~29。

实验3、黑盒测试:决策表测试方法

实验3、黑盒测试:决策表测试方法

20 15 —20 16 学年第 2 学期软件测试技术课程实验报告学院:计算机科学技术专业:软件工程班级:软件二班姓名:吴德宁学号:04任课教师:刘玉宝实验日期:2016年 5 月17 日实验题目实验3、黑盒测试:决策表测试方法实验目的1、掌握决策表的概念2、掌握决策表测试用例设计法。

实验内容1、对NextDate问题运用决策表法设计测试用例,并执行测试,撰写实验报告。

NextDate (int month, int day, int year)函数规定:输入三个整数:month、day 和year,函数的输出为输入日期后一天的日期。

例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050。

实验步骤:1)构造决策表●M1={月份:30天/月},M2={月份: 31天/月,12月除外},M3={月份: 12月},M4={月份: 2月}●D1={日期:1<=日<=27},D2={日期:日=28},D3={日期:日=29} ,D4={日期:日=30},D5={日期:日=31}●Y1={年:闰年},Y2={年:平年}注:二月:平年28天,闰年29天条件桩:●C1:月份在{M1,M2,M3,M4}中之一●C2:日期在{D1,D2,D3,D4 ,D5}中之一●C3:年在{Y1,Y2}中之一动作桩:●A1:不可能●A2:日期增1●A3:日期复位(置1)●A4:月份增1●A5:月份复位(置1)●A6:年增11 2 3 4 5 6 7 8 9 10C1:月M1M1M1M1M1 M2M2 M2M2 M2。

NextDate测试报告案例

NextDate测试报告案例
2001.1.16
2001.2.16
2001.11.16
2001.12.16
Mouth超出边界
14
15
16
17
18
19
20
21
2001
2001
2001
2001
2001
2001
2001
2001
6
6
6
6
6
6
6
6
-1
0
1
2
29
30
31
32
Day超出边界
Day超出边界
2001.6.2
2001.6.3
2001.6.30
No such a year has -1 months.
Press any key to continue
与预期结果一致
8
Please input date (year month day):2001 0 15
No such a year has months.
Press any key to continue
Press any key to continue
与预期结果一致
14
Please input date (year month day):2001 6 -1
The month 2001.6 have no -1 days.
Press any key to continue
与预期结果一致
15
Please input date (year month day):2001 6 0
Press any key to continue
与预期结果一致
6
Please input date (year month day):2051 6 15

实验一 Nextdata实验黑盒测试

实验一 Nextdata实验黑盒测试

辽宁工程技术大学上机实验报告实验分析续效等价类。

(2)根据所列出的等价类表,设计能覆盖所有等价类的测试用例,以及输入和预期的输出。

划分的等价类表如表1-1所示。

表1-1 Nextdata函数程序的等价类表输入条件有效等类编号无效等价类编号年份1912~2050 1 年份<1912 11年份>2050 12 月份1、3、5、7、8、10 2 月份<1 134、6、9、11 32 4 月份>12 1412 5日期1~27 6 日期<1 1528 729 8日期>31 1630 931 10表1-2 Nextdata函数程序的等价类测试用例表测试用例年份月份日期预期结果1 19123 27 明天是1912年3月28日2 1899 4 28 年份超过界限,请重新运行3 2051 2 29 年份超过界限,请重新运行4 1912 4 28 明天是1912年4月28日5 1912 2 29 明天是1912年3月1日6 1912 12 30 明天是1912年12月31日7 1912 12 31 明天是1913年1月1日8 1912 -1 31 月份超过界限,请重新运行9 1912 13 30 月份超过界限,请重新运行10 1912 4 -1 日期超过界限,请重新运行11 1912 2 32 日期超过界限,请重新运行等价类测试测试用例运行结果截图:测试用例1图1-1测试用例2图1-2实验分析续测试用例3图1-3 测试用例4图1-4 测试用例5图1-5 测试用例6图1-6 测试用例7图1-7 测试用例8图1-8 测试用例9图1-9实验分析续测试用例10图1-10测试用例11图1-11NextDate函数程序的边界值测试2.边界值测试在Nextdata函数中,规定了变量“年份”、“月份”和“日期”,其相应的取值范围:1912<=年份<=2050,1912<=月份<=2050,1912<=日期<=2050。

5、nextday()决策表_快递决策表

5、nextday()决策表_快递决策表
1
2
3
4
5
6
7
8
条件
是否为本省
Y
Y
Y
Y
N
N
N
N
是否为快件
Y
Y
N
N
Y
Y
N
N
W<=25
Y
N
Y
N
Y
N
Y
N
动作
8W


4W

12W

4W+(W-25)*2

8W+(W-25)*2


12W+(W-25)*2

2.利用决策表为NextDate函数设计测试用例
Y1={年:是闰年};Y2={年:不是闰年};
M1={月:每月有30天};M2={月:每月有31天,除12月以外};M3={月:此月是12月};M4={月:此月是2月}
12
31
2049
15
2050-1-1
Test8
2
1
2050
16
2050-2-2
Test9
2

Test10
2
28
2050
18
2050-3-1
Test11
2
29
2048
19
2048-3-1
Test12
2
29
2050
20
平年2月没有29日
Test13
2
31
2050
21~22
若收货地点在外省重量小于或等于25公斤快件每公斤12元慢件每公斤8元
1.货运收费标准如下:若收货地点在本省以内,快件每公斤8元,慢件每公斤4元。若收货地点在外省、重量小于或等于25公斤,快件每公斤12元,慢件每公斤8元;若重量大于25公斤,超重部分每公斤加收2元(重量用W表示)。试画出决策表并优化之。

软件测试NextDate函数决策表测试法实验报告

软件测试NextDate函数决策表测试法实验报告

一、实验目的:掌握黑盒测试中的决策表测试法,并对被测程序设计测试用例。

二、实验环境操作系统:Windows XP + SP2 /win7三、实验内容1、编写一个NextDate函数。

2、掌握黑盒测试中的决策表测试法的基本步骤。

3、使用决策表法设计测试用例,对编写的函数实施测试,总结分析测试结果。

四、实验步骤1、编写一个NextDate函数。

(C语言、C++)2、根据黑盒测试的决策表测试法设计测试用例。

3、根据测试用例实施测试,并记录测试结果。

五、实验代码#include <iostream>using namespace std;int a,b,c,y,m,d;//判断是否为闰年bool Feb(int y){if((2060-y)%4==0)return 1;elsereturn 0;}//年份的累加int NextYear(int y){a=y+1;if(a>2060){cout<<"下一个日期已经超出了范围."<<"/n";return 1;}elsereturn a;}//月份的累加int NextMonth(int m){b=m+1;if(b==13){b=1;NextYear(y);}return b;}//天数的累加int NextDay(int d){c=d+1;//大月满32天月份加1if(c==32){if(m==1|m==3|m==5|m==7|m==8|m==10|m==12){c=1;NextMonth(m);}}//小月满31天月份加1if(c==31){if(m==4|m==6|m==9|m==11){c=1;NextMonth(m);}}//若为闰年,2月满30天,月份加1if(c==30){if(Feb(y)&&m==2){c=1;b=3;}}//若不是闰年,2月满29天,月份加1if(c==29){if(!Feb(y)&&m==2){c=1;b=3;}}return c;}//NextDate函数int NextDate ( int y, int m, int d){if (y<1900|y>2060|m<1|m>12|d<1|d>31){cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}if(m==4|m==6|m==9|m==11&&d==31) {cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}if(Feb(y)&&m==2&&d>29) {cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}if(!Feb(y)&&m==2&&d>28){cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}else{NextDay(d);cout<<"Next date is"<<a<<"."<<b<<"."<<c<<"\n"<<"\n"; return 0;}}//main函数int main(){while(1){cout << "请输入正确格式的日期."<<"\n";cout << "年份范围是1960-2060"<<"\n";cout<<"年"<<"\n";cin >>y;cout<<"月"<<"\n";cin>>m;cout<<"日"<<"\n";cin>>d;a=y;b=m;c=d;NextDate ( y, m, d);}return 0;}六、测试用例表NxetDate函数求解给定某个日期的下一个日期的动作桩如下:变量day加1操作;变量day复位操作;变量month加1操作;变量month复位操作;变量year加1操作NxetDate函数的求解关键是日和月的问题,所以可以在下面的条件桩的基础上建立决策表M1={month:month有30天};M2={month:month有31天,12月除外};M3={month:month是12月};M4={month:month是2月};D1={day:1=<day<=27};D2={day:day=28};D3={day:day=29};D4={day:day=30};D5={day:day=31};Y1={year:year是闰年};Y2={year:year不是闰年}NxetDate函数决策表NxetDate函数的测试用例组测试用例month day year 预期输出Test Case 1~3 9 16 2001 2001-9-17 Test Case 4 9 30 2001 2001-10-01 Test Case 5 9 31 2001 不可能的输入日期Test Case 6~9 1 16 2004 2004-1-17 Test Case 10 1 31 2001 2001-2-01 Test Case 11~14 12 16 2004 2004-12-16 Test Case 15 12 31 2001 2002-1-01 Test Case 16 16 2001 2001-1-17 Test Case 17 2 28 2004 2004-2-29 Test Case 18 2 28 2001 2001-3-01 Test Case 19 2 29 2004 2004-3-1 Test Case 20 2 29 2001 不可能的输入日期Test Case 21~22 2 30 2004 不可能的输入日期七、测试用例执行结果1、Test Case 1~33、Test Case 54、Test Case 6~95、Test Case 106、Test Case 11~148、Test Case 169、Test Case 1710、Test Case 1811、Test Case 1913、Test Case 21~22八、实验总结1、通过本次实验,学会编写一个NextDate函数。

nextday 软件测试

nextday 软件测试
欢迎下载nextdate测试用例输入条件有效等价类无效等价类日期范围日期3010日期3111非数字字符月份范围12月份4691113月份135781014月份215月份1216月份117月份1218非数字字符年范围191900年2050的闰年201900年2050的非闰年21年190022年205023非数字字符nextdate测试用例
2 欢。迎下载
精品文档
break; } } case 4: case 6: case 9: case 11: { if(day>0&&day<31) {
tof=1; break; } else { tof=0; break; } } case 2: { if((IsLeapYear()&&day>0&&day<30)||(!IsLeapYear()&&day>0&&day<29)) { tof=1; break; } else { tof=0; break; } } default: { tof=0;
实验名称
报告人 实验报告
测试 nextdate 指导教师
#include<iostream.h> #include "stdlib.h" Date::Date(int y,int m,int d) { year=y;
1 欢。迎下载
精品文档
month=m; day=d; } Date::Date(Date &a) { year=a.year; month=a.month; day=a.day; } void Date::setDate(int y,int m,int d) {

- NextDate函数讲解

- NextDate函数讲解
NextDate函数的用例设计方法
主讲:黄老师
授课班级:软件设计班
制作者:
NextDate函数的用例设计方法
黑盒测试
等价类划分法
边界值分析法
因果图法 决策表法
制作者:
制作者:
Page 2
等价类划分法——以输入域划分等价类
NextDate 函数包含三个变量:month(月份)、day(日期) 和 year(年),函数的输出为输入日期后一天的日期。 例如, 输入为 2007年9月 9日,则函数的输出为 2007年9月10日 。 要求输入变量 month 、 day 和 year 均为整数值,并且满足 下列条件: (1)1≤month≤12 (2)1≤day≤31 (3)1912≤year≤2050 此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂 性的来源有两个:一个是输入域的复杂性,另一个是指闰年 的规则。例如变量year和变量month取不同的值,对应的变 量day会有不同的取值范围,day值的范围可能是1~30或1~ 31,也可能是1~28或1~29。
制作者:
Page 16
决策表法
规则 选项 条件: C1: month在 C2: day在 C3: year在 动作: A1: 不可能 A2: day加1 A3: day复位 A4: month加1 A5: month复位 A6:year加1 √ √ √ √ √ √ √ √ √ √ √ √ √ M1 D1 - M1 D2 - M1 D3 - M1 D4 - M1 D5 - M2 D1 - M2 D2 - M2 D3 - M2 D4 - M2 D5 - M3 D1 - 1 2 3 4 5 6 7 8 9 10 11
制作者: 制作者:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NextDate函数测试用例
选择NextDate函数,是因为它可以说明输入定义域中的依赖性问题,这使得这个例子成为基于决策表测试的一个完美例子,因为决策表可以突出这种依赖关系。

从前面对等价类测试的分析我们知道,等价类分析假设所有的变量都是独立的。

如果变量确实是独立的,则使用类的笛卡尔积是有意义的。

如果变量之间在输入定义域中存在逻辑依赖关系,则这些依赖关系在笛卡尔积中就会丢失(说抑制可能更确切)。

决策表格式通过使用“不可能动作”概念表示条件的不可能组合,使我们能够强调这种依赖关系。

下面将对NextDate函数的决策表描述
做三次尝试。

第一次尝试
标识合适的条件和动作,假设首先从分析等价类集合开始。

M1= {月份:每月有30天};M2 = {月份:每月有31天};M3二{月份:此月是2月}
D1 = {日期:1<0期W 28}; D2 = {日期:日期=29}; D3 = {日期=30}; D4 = {日期=31}
Y1 = {年:年是闰年}; Y2 = {年:年不是闰年}
如果我们希望突出不可能的组合,则可以建立具有以下条件和动作的有限项决策表。

(请注意,年变量对应的等价类收缩为下表的一个条件。


有2处条规则的第一袂尝试
这个决策表会有256条规则,其中很多是不可能的。

如果要显示为什
么这些规则是不可能的,可将动作修改为:
al:月份中的天数太多;a2:不能出现在非闰年中;a3:计算NextDate.
第二次尝试
如果我们将注意力集中到NextDate函数的闰年问题上,则可以修改已有的等价类集合。

为了说明另一种决策表表示方法,这一次采用扩展项决策表开发,并更仔细地研究动作桩。

在构建扩展项决策表时,必须保证等价类构成输入定义域的真划分。

如果规则项之间存在“重叠”,则会存在冗余情况,使得多个规则都能够满足。

这里,Y2是
一组1812〜2012之间的年份,并除以4, 2000除外。

M1= {月份:每月有30天}; M2 = {月份:每月有31天}; M3二{月
份:此月是2月}
D1 = {日期:1<0期W 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<0期W 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月。

不可能规则也在决策表中列出,尽管存在一些高效测试人员可能会有疑问的冗余。

10
条规则中的8条只是对日期增1。

针对这个子功能是否真的需要8条
单独的测试用例,可能不需要,但是请注意我们可以通过决策表得到的启发。

最后7条规则关注的是2月和闰年。

上表所示的决策表是NextDate函数源代码的基础。

这个例子从另一个方面说明测试如何
能够很好地改进程序设计。

所有决策表分析都应
该在NextDate函数的详细设计期间完成。

我们可以使用决策表代数进一步化简这22个测试用例。

如果决策表
中两个规则的动作集合相同,则一定至少有一个条件能够把两条规则用不关心条目合并。

这正体现出决策表等价于用于标识等价类的“相同处理”方针。

在某种意义上,我们就是在标识规则的等价类。

例如,规则1、2和3涉及有30天的月份日期类D1、D2和D3o类似地,有31天的月份的日期类D1、D2 D3和D4也可以合并,2月的D4和D5 也可以合并。

所得到的结果如下表所示:
相应的测试用例如下表所示:
NedDate函数朗決策表测试用例
总结
与其他测试技术一样,基于决策表的测试对于某些应用程序(例如
NextDate函数)很有效,但是对另外一些应用程序就不值得费这么大的事。

毫不奇怪,基于决策表所适用的情况都是要发生大量决策(例
如三角形问题),以及在输入变量之间存在重要的逻辑关系的情况(例
如NextDate 函数)。

相关文档
最新文档