软件测试之功能性测试方法—决策表法

程序说明:

前一日函数 Pre Date 是 NextDate的逆函数,即给定一 个月份、日期、年,会返回前一天的日期。
年的取值在1812年到2017年。
日的取值 在 1日到 31 日之间。
月的取值 在 1到 12 月之间
**

分析步骤:

**
一、决策表分析过程
1、条件桩、动作桩
?输入:
–Year
–Month
–Day
?为获得前一个日期,PreDate函数需执行的操作只有如下8种:
–day变量值减1
–day变量值复位为31
–day变量值复位为30
–day变量值复位为29
–day变量值复位为28
–month变量值减1
–month变量值复位为12
–year变量值减1
2、考虑规则个数
?M1: {month:month有30天4月,6月,9月,11月,上月都是31天};
?M2: {month:month有31天,1月、3月、8月除外,5月,7月,10月,12月,上月都是30天};
?M3: {month:month是1月};
?M4: {month:month是2月};
?M5:{month:month是3月};
?M6:{month:month是8月};
?D1: {day:day=1};
?D2: {day:2≤day≤28};
?D3: {day:day=29};
?D4: {day:day=30};
?D5: {day:day=31};
?Y1: {year:year是闰年};
?Y2: {year:year不是闰年};
3、填入条件项和动作项
说明:符号“-”表示执行的动作与该条件的取值无关。

软件测试之功能性测试方法---决策表法
软件测试之功能性测试方法---决策表法
二、根据简化后的决策表,可设计测试用例如下表所示:

输出截图!

三、实验总结
1、通过实践进行决策表测试的一般步骤:
第一步根据题意确定条件桩、动作桩;
第二步考虑规则个数,有n个条件的决策表有2n个规则(每个条件取真、假值);
第三步列出所有的条件桩和动作桩,向决策表填入条件项和动作项,得到初始决策表;
第四步化简决策表,若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并;
第五步设计测试用例。
2、求前一天日期不但要考虑到本月的天数还要考虑到上一个月的天数,因为要判断输入是否合法,所以我们把规则分析成D1: {day:day=1};D2: {day:2≤day≤28};D3: {day:day=29}; D4: {day:day=30}; D5: {day:day=31},而不是D1: {day:day=1};D2: {day:2≤day≤31}。另外尤其要区分平年与闰年。
3、通过决策表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏:利用决策表能够设计出完整的测试用例集合。运用决策表设计测试用例可以将条件理解为输入,将动作理解为输出。对于月份考虑规则的个数的时候,并非所有的31天的月份都在一起,在M2中的月份不但都是31天的月份,而且上个月都是30天,所以8月与M2不属于同一个规则。对于规则的划分首先根据题意来,然后再考虑所有情况,看到底如何设计以覆盖所有的输入输出情况,这里跟书本上求后一天案例是不同的。

四、源码

来源:qq_37589257

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月11日
下一篇 2019年5月11日

相关推荐