2015年計算機三級軟體測試技術上機試題及答案
1、NextDate函式問題說明:輸入一個日期,求從輸入日期算起的第三天日期。例如,輸入為2008年8月8日,則該程式的輸出為2008年8月10日。NextDate函式包含三個整數變數month、day和year,並且滿足下列條件:1≤ month ≤12、1≤ day ≤31和2000≤ year ≤2100。分析各種輸入情況,列出為輸入變數month、day、year劃分的.有效等價類:
輸入等價類
輸入 | ID | 有效等價類 |
day | 1 | 1 ≤day≤26 |
2 | day=27 | |
3 | day=28 | |
4 | day=29 | |
5 | day=30 | |
6 | day=31 | |
month | 7 | month=4,6,9,11 |
8 | month=1,3,5,7,8,10 | |
9 | month=2 | |
10 | month=12 | |
year | 11 | 閏年 |
12 | 非閏年 |
程式設計實現:
(1) 對每一個有效等價類,至少設計一個測試用例。
輸入格式:輸入(yyyymmdd):
輸出格式:輸出(yyyy-mm-dd):
覆蓋等價類(ID型別):
閏年(Y/N):
例如:輸入(yyyymmdd) 20080105↙(回車)
輸出(yyyy-mm-dd): 2008-01-07
覆蓋等價類(ID型別):1,8,11
閏年(Y/N):N
(2)對每一個無效的month、day和year,分別輸入一個無效等價類。
例如:輸入(yyyymmdd) 20081305 ↙(回車)
輸出(yyyy-mm-dd): 無效月份
覆蓋等價類(ID型別):
閏年(Y/N):
2、閱讀下面的一段程式:
void Test1(int N,intI)
1 {
2int x=0;
3int y=0;
4while(N-->0)
5{
6if(I==0)
7 x=y+2;
8 else
9 if(I==1)
10 y=y+10;
11 else
12 x=y+20;
13}//while
14 }//Test1
根據所給定的程式,確定該程式的獨立路徑如下:
路徑1:4→14
路徑2:4→6→7→14
路徑3:4→6→9→10→4→14
路徑4:4→6→9→12→4→14
程式設計實現:
對每一個獨立路徑,設計一個測試用例,並插入一條顯示輸出語句(printf/cout),顯示測試路徑標號。
輸入格式:輸入(N,I):
輸出格式:輸出(x,y):x= y=
路徑ID:
例如:輸入(N,I): 1,2↙(回車)
輸出(x,y):x=20 y=0
路徑ID:測試路徑4