本文主要是介绍【软件测试】实验2 决策表测试实验报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【软件测试】实验2 决策表测试实验报告
1.实验目的
掌握决策表测试方法。
2.实验内容
前一日函数 Pre Date 是 NextDate的逆函数,即给定一 个月份、日期、年,会返回前一天的日期。
年的取值在1812年到2017年。
日的取值 在 1日到 31 日之间。
月的取值 在 1到 12 月之间
3.实验步骤
(1)用java或c/c++编写该程序;
(2)用决策表法对所写程序进行测试。
4.实验代码
package rjcs2;
import java.util.Scanner;public class PreDate {public static void main(String[] args){Scanner date = new Scanner(System.in);System.out.println("请输入年、月、日:");int year = date.nextInt();int month = date.nextInt();int day = date.nextInt();if(year<1812||year>2017||month<1||month>12||day<1||day>31)System.out.println("输入错误,请重新输入!");else if((month==4||month==6||month==9||month==11)&&day==31)System.out.println("输入错误,请重新输入!");else if((year%4!=0||(year%400!=0 && year%100==0))&&month==2&&day>28)System.out.println("输入错误,请重新输入!");else if (month==2&&day>29)System.out.println("输入错误,请重新输入!");else {if(day==1){if(month==1){year--;month=12;day=31;}else if(month==2||month==4||month==6||month==8||month==9||month==11){month--;day=31;}else if(month==5||month==7||month==10||month==12){month--;day=30;}else{if((year%4==0 && year%100>0)||(year%400==0 && year%100==0)){month--;day=29;}else{month--;day=28;}}}else{day--;}String m = String.format("%02d",month);String d = String.format("%02d",day);System.out.println("前一天日期为:"+year+"-"+m+"-"+d);}}
}
5.测试结果
(1)桩
条件桩:
c1:年份在
c2:月份在
c3:日子在
动作桩:
a1:不可能情况
a2:日子减一
a3:日子置为28
a4:日子置为29
a5:日子置为30
a6:日子置为31
a7:月份减一
a8:月份置为12
a9:年份减一
(2)规则
D1={day:day=1}
D2={day: 2≤day≤28}
D3={day:day=29}
D4={day:day=30}
D5={day:day=31}
M1={month:month=1}
M2={month:month=2}
M3={month:month=3}
M4={month:month=8}
M5={month:month=4,6,9,11}(本月30天,上月31天)
M6={month:month=5,7,10,12}(本月31天,上月30天)
Y1={year:year不是闰年}
Y2={year:year是闰年}
(3)决策表
(4)简化决策表
(5)测试用例
这篇关于【软件测试】实验2 决策表测试实验报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!