1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 白盒测试——NextDate函数测试(基本路径覆盖法)

白盒测试——NextDate函数测试(基本路径覆盖法)

时间:2020-12-08 01:22:08

相关推荐

白盒测试——NextDate函数测试(基本路径覆盖法)

白盒测试:NextDate的基本路径覆盖法以及测试用例设计

程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤ year ≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为11月29日,则该程序的输出为11月30日。

一:测试用例设计。

被测代码:

/**Created by IntelliJ IDEA.User: StarfallDate: /11/16Time: 18:10*/public class GetNextDay {public static String getNextDay(int year, int month, int day){//闰年、平年每月的天数int[][] days={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};int index;if(1900 <= year && 2050>= year ) {if(year%4==0 && year%100!=0 || year%400==0)index = 1;//index=0:平年,index=1:闰年elseindex = 0;}else return "输入日期不正确";//判断输入日期是否正确if( month<1 || month>12 || day>days[index][month-1]|| day<1)return "输入日期不正确";//小于当前月份的天数if(day < days[index][month-1])day++;else{if(month==12){year++;month=1;}else{month++;}day=1;}return year + "-" + month + "-" + day;}}

1、画出当前程序流程图:

2、根据程序流程图画出控制流图:

3、计算环路复杂度:

1)根据区域计算:V(G)=12

2)根据边数和节点数计算:V(G)=E-N+2=29-19+2=12

3)根据判断节点数计算:V(G)=P+1=11+1=12

4、确定独立路径集合:

独立路径条数为V(G),即为12条:

路径1:1-2-3-7-19

路径2:1-2-7-19

路径3:1-2-3-4-5-8-10-7-19

路径4:1-2-3-4-6-8-10-7-19

路径5:1-2-3-4-6-9-10-7-19

路径6:1-2-3-4-5-6-8-10-7-19

路径7:1-2-3-4-6-8-10-11-7-19

路径8:1-2-3-4-6-8-10-11-12-7-19

路径9:1-2-3-4-6-8-10-11-12-13-7-19

路径10:1-2-3-4-6-8-10-11-12-13-14-15-19

路径11:1-2-3-4-6-8-10-11-12-13-14-16-17-19

路径12:1-2-3-4-6-8-10-11-12-13-14-16-18-19

二:用设计的测试用例测试程序。

1、根据基本路径,准备测试用例:

2、编写测试程序:

GetNextDayTest代码:

import org.junit.Assert;import org.junit.Test;/**Created by IntelliJ IDEA.User: StarfallDate: /11/16Time: 18:16*/public class GetNextDayTest {@Testpublic void GetNextDaytest01() {String GetNextDate = GetNextDay.getNextDay(2051,1,1);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest01:"+GetNextDate);}@Testpublic void GetNextDaytest02() {String GetNextDate = GetNextDay.getNextDay(1800,10,10);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest02:"+GetNextDate);}@Testpublic void GetNextDaytest03() {String GetNextDate = GetNextDay.getNextDay(,11,31);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest3:"+GetNextDate);}@Testpublic void GetNextDaytest04() {String GetNextDate = GetNextDay.getNextDay(2000,11,31);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest04:"+GetNextDate);}@Testpublic void GetNextDaytest05() {String GetNextDate = GetNextDay.getNextDay(1900,2,29);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest05:"+GetNextDate);}@Testpublic void GetNextDaytest06() {String GetNextDate = GetNextDay.getNextDay(,2,30);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest06:"+GetNextDate);}@Testpublic void GetNextDaytest07() {String GetNextDate = GetNextDay.getNextDay(,0,0);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest07:"+GetNextDate);}@Testpublic void GetNextDaytest08() {String GetNextDate = GetNextDay.getNextDay(,13,11);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest08:"+GetNextDate);}@Testpublic void GetNextDaytest09() {String GetNextDate = GetNextDay.getNextDay(,11,0);Assert.assertEquals("输入日期不正确", GetNextDate);System.out.println("GetNextDaytest09:"+GetNextDate);}@Testpublic void GetNextDaytest10() {String GetNextDate = GetNextDay.getNextDay(,11,10);Assert.assertEquals("-11-11", GetNextDate);System.out.println("GetNextDaytest10:"+GetNextDate);}@Testpublic void GetNextDaytest11() {String GetNextDate = GetNextDay.getNextDay(,12,31);Assert.assertEquals("-1-1", GetNextDate);System.out.println("GetNextDaytest11:"+GetNextDate);}@Testpublic void GetNextDaytest12() {String GetNextDate = GetNextDay.getNextDay(,10,31);Assert.assertEquals("-11-1", GetNextDate);System.out.println("GetNextDaytest12:"+GetNextDate);}}

三:记录测试结果。

1、运行测试:

2、运行覆盖测试:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。