《2011級軟件工程3-4班《軟件測試技術(shù)》A卷》由會員分享,可在線閱讀,更多相關(guān)《2011級軟件工程3-4班《軟件測試技術(shù)》A卷(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、C)測試環(huán)境
D)測試配置
6、對于一個含有n個變量的程序,采用標(biāo)準(zhǔn)的邊界值分析法測試程序會產(chǎn)生(
西華師范大學(xué)學(xué)生試卷
題號
一
一
二
四
五
六
七
八
九
十
總分
閱卷教師
得分
年 月 日 2013-2014 學(xué)年第2學(xué)期
計算機學(xué)院軟件工程專業(yè)2011級3-4班《軟件測試技術(shù)》試題 A卷
閉卷考試 時間120分鐘
注意事項:1.滿分:100分。保持卷面整潔,否則扣卷面 5分。
2.交卷時請將試題卷與答題卷一起交,否則扣分。
3. 學(xué)生必須將姓名、班級、學(xué)號完整填寫在規(guī)定的密封欄目內(nèi),
2、否則視為廢卷。
4.學(xué)生必須簽到,否則出現(xiàn)遺漏由學(xué)生本人負責(zé)。
測試用例。
A) 6n+1
得分
閱卷人
、多項選擇題(每空
B) 5n C) 4n+1 D) 7n
2分,共16分)
得分
閱卷人
一、單項選擇題(每空1分,共11分)
1、動態(tài)測試是采用( )執(zhí)行軟件的活動。
A)輸入數(shù)據(jù) B)測試用例 C)輸入條件 D)測試環(huán)境
2、當(dāng)函數(shù)測試存在失敗斷言時,在白盒覆蓋率信息窗口中, VU會顯示一個( )的條塊來
提示,沒有失敗斷言時,會顯示一個()的條塊來提示;在邏輯結(jié)構(gòu)圖窗口中,未覆蓋 的路徑用()畫出,已覆蓋的路徑用()畫出,未覆蓋
3、的分支是()的條塊。
A)深綠色 B)深紅色 C)淺藍色 D)粉紅色 E)淺綠色
3、VU導(dǎo)出的測試報告文件格式為:( );表格化測試用例數(shù)據(jù)導(dǎo)出的文件格式為:
( )。
A) *.pdf B) *.xls C) *.doc D) *.csv E) *.txt F) *.htm
4、在軟件生命周期的任何一個階段,只要軟件發(fā)生了改變,就可能給該軟件帶來新的問題。
軟件的改變可能是源于發(fā)現(xiàn)錯誤并做了修改, 可能是因為在集成或維護階段加入了新的模
塊。為了驗證軟件修改后的正確性就需要進行( )。
A)白盒測試 B)黑盒測試 C)單元測試
D)性能測試 E)回歸測試 F)驗收測試
4、5、測試用例是為達到最佳的測試效果或高效地揭露隱藏的錯誤而精心設(shè)計的少量測試數(shù)據(jù), 其包括( )。
B)測試目標(biāo)、測試工具
1、對于以下的C函數(shù),如果其需求規(guī)格說明為返回兩個整形數(shù)相加的結(jié)果,則 ( )測試
方法能發(fā)現(xiàn)此函數(shù)的錯誤。
int add(int a,int b)
{return a-b;}
A)自動靜態(tài) B)自動動態(tài) C)人工靜態(tài) D)人工動態(tài)
2、執(zhí)行函數(shù)測試后,源代碼窗口能夠標(biāo)識出未覆蓋的( ),邏輯結(jié)構(gòu)圖窗口能夠標(biāo)識
出未覆蓋的( )。
A)路徑 B)條件 C) MC/DC D)語句 E) C/DC F)分支
3、VU支持自動的邊界測試,用于邊界測試的邊界
5、值是由菜單項“數(shù)據(jù)”一〉定義邊界值”來維
護的,
VU提供的
int類型的默認(rèn)邊界值有(
),bool類型的默認(rèn)邊界值有
A)輸入數(shù)據(jù)和預(yù)期輸出
( ),double類型的默認(rèn)邊界值有(
A) 0
E) -99999.9
I) true
M) -1
B) 99999.9
F) 1.0
J) 0x8000000
N) -1.0
C) 0x7FFFFFFFF
G) 9999.99
K) -9999.99
O) 0x7FFFFFFF
)
D) 0.0
H) 1
L) false
P) 0x80000000
4、在利用VU進行單元測試的過程中,針對同一個
6、測試用例集合,以下(
白盒覆蓋情況是可能會出現(xiàn)的
A)語句覆蓋:
100%
分支覆蓋:
100%
路徑覆蓋:
100%
B)語句覆蓋:
32%
分支覆蓋:
100%
路徑覆蓋:
98%
C語句覆蓋:
100%
分支覆蓋:
18%
路徑覆蓋:
100%
D)語句覆蓋:
30%
分支覆蓋:
50%
路徑覆蓋:
47%
E)語句覆蓋:
100%
分支覆蓋:
95%
路徑覆蓋:
15%
5、在利用VU單元測試(
的情況
)類的
)的過程中,可能會出現(xiàn)”語句:95%,分支:100%,路徑:15%”
7、
A) _12_Mcdc2( ) B) _11_Mcdc1( ) C) _01_Pow()
得分
閱卷人
三、判斷題(每小題2分,共12分)
注:在正確的判斷后打勾;在錯誤的判斷后打叉,并在下方寫出其錯誤原因。
1、只要達到100%的白盒覆蓋率,就可以保證被測程序沒有缺陷。 ( )
錯誤原因:
2、測試用例的數(shù)目越多,測試的效果越好。( )
錯誤原因
8、:
3、黑盒測試法包括等價類劃分、邊界值分析、決策表和語句覆蓋準(zhǔn)則等。 ( )
錯誤原因:
4、包含有空指針的測試用例能夠?qū)崿F(xiàn)用例數(shù)據(jù)的表格化。 ( )
錯誤原因:
5、VU在單元測試時,設(shè)計的每個測試用例都必須設(shè)置其預(yù)期輸出。 ( )
錯誤原因:
6、在測試用例集中,測試用例的數(shù)量等于斷言的數(shù)量。 ( )
錯誤原因:
得分
閱卷人
四、簡述題(1、2、3題各3分,4、5題各6分,共21分)
1、簡述在VU的單元測試中,提高路徑覆蓋率的 3種方法。(3分)
2、簡述在VU的源代碼窗口中,當(dāng)前測試用例未覆蓋的語句, VU如何標(biāo)識?測試用例集未
覆蓋的語句,
9、VU如何標(biāo)識?測試用例集未覆蓋的條件和 MC/DC , VU如何標(biāo)識?(3分)
3、簡述C/DC和MC/DC的定義。(3分)
4、分別設(shè)計出最少數(shù)量的測試用例,構(gòu)成兩套測試用例集,使 CMyClass2的成員函數(shù)
_11_Mcdc1(BOOL,BOOL,BOOL)被 100% C/DC 和 MC/DC ,使_12_Mcdc2(BOOL,BOOL, BOOL,BOOL,BOOL, BOOL,BOOL,BOOL,BOOL,BOOL,BOOL) 被 100% C/DC,并為每個測 試用例列出它在函數(shù)執(zhí)行時所覆蓋的條件和判定。 (6分)
int CMyClass2::_11_Mcdc1(BOO
10、L A,BOOL B,BOOL C)
{ if(A && (B || C))
return 1;
return 0;
}
int CMyClass2::_12_Mcdc2(BOOL A,BOOL B,BOOL C,BOOL D,BOOL E, BOOL F,BOOL G,BOOL H,BOOL I,BOOL J,BOOL K)
{ if(A && ( (B || C) && (D && E) ) && ( (F || G) && (H || I || J) || K )) return 1;
return 0;
}
5、試陳述在集成測試過程中,有哪些集成測試策略?描述其集成測
11、試過程; 什么是驅(qū)動模塊?
什么是樁模塊? ( 6分)
得分 閱卷人
五、程序測試題(1題15分,2題25分,共40分)
1、單元測試 CMyclass2的成員函數(shù)_07_DeleteComment(char*,char*),補齊給定的測試用例 集的預(yù)期輸出和實際輸出,統(tǒng)計失敗斷言的數(shù)量,如果失敗斷言數(shù)大于0,則說明軟件存 在缺陷,找到缺陷的具體位置,并修復(fù)它。(15分)
/*函數(shù)說明:
名稱:CMyClass2::_07_DeleteComment
功能:刪除C++代碼中的注釋
參數(shù):pSrc,源代碼
pDes,保存刪除注釋后的代碼
返回:無 */
void CMyCl
12、ass2::_07_DeleteComment(char *pSrc, char *pDes)
{ 一 一
int len = Strlen(pSrc);
if(len = = 0)
return;
bool cmmSin = false; //由//開始\n結(jié)束的單行注釋
bool cmmMul = false; //由/*開始*/結(jié)束的多行注釋
char ch = *pSrc++;
char next = 0;
while(ch)
班
…
…
???
? ? ?
???
???
???
業(yè) 專
級
???
???
???
???
???
13、???
???
???
???
???
???
???
???
???
??? 線
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
??? 答
…
???
院 學(xué)
???
???
???
???
???
???
???
???
??? 訂
…
???
???
???
???
? ? ?
???
???
???
???
???
???
???
???
??? 題
???
???
???
???
14、
???
???
???
???
???
??? 裝
…
???
???
? ? ?
???
???
???
???
???
??? 線
???
???
???
? ? ?
號 學(xué)
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
???
名姓
???
???
???
???
???
???
???
???
???
???
???
???
(
if(!cmmSin && !cmmMul) // 非
15、注釋
(
if(ch = = /) 〃注釋開始的第一個字符
Name
Case4
Case5
Case6
Case7
Case8
pSrc
"int a;/"
"int a = c/d;"
"int a;/*a=b*c*八n"
""
"int a;"
pDes
實際輸出
(
next = *pSrc;
if(next = = \0) //結(jié)束
Name
Case1
Case2
Case3
pSrc
"int a;//comment\n"
"int a;/*comment*八n
16、”
"int /*comment*/a;//comment\n"
pDes
實際輸出
break;
else if(next = = *) cmmMul = true;
else if(next = = /) cmmSin = true;
if(cmmMul || cmmSin) (
pSrc++; //忽略/后的一個字符
ch = *pSrc++; continue;
}
}
*pDes++ = ch;
ch = *pSrc++;
}
else if(cmmSin) 〃單行注釋
(
if(ch = = \n) //
17、單行注釋結(jié)束
(
cmmSin = false;
*pDes++ = ch; /八n是不能丟的
}
ch = *pSrc++;
}
else if(cmmMul) 〃 多行注釋
(
if(ch = = *) //開始多行注釋
(
next = *pSrc;
if(next = = /) (
cmmMul = false;
*pSrc++; //忽略后面的/
}
}
ch = *pSrc++;
}
}
}
Case9 :輸入(char* pSrc = 0 ;char* pDes = 0;)(注:Case9 不能表格化)
2、單元測試left( ) C函
18、數(shù),設(shè)計出測試用例集(包括能表格化的普通測試用例和不能表格化 的特殊測試用例),使語句覆蓋率達到100%,統(tǒng)計出失敗斷言的數(shù)量,列出包含失敗斷 言的測試用例的實際輸出,找出軟件缺陷的位置,并修復(fù)它,使失敗斷言數(shù)為 0o (25分)
/*
體驗可視編程:取得字符串的左邊部分
參數(shù):des,保存結(jié)果字符申
size,用于保存結(jié)果字符串的緩沖區(qū)長度
src,源字符串
count,取得的字符數(shù)
返回:返回結(jié)果字符串指針
*/
char* left(char* des, int size, char* src, int count) { int src_length;
char *p
19、,*q;
int char_num,i;
if(count + 1 <= size)
{src_length = 0;
char_num = count;
p = des;
q = src;
while(*q != \0)
{src_length++;
q++;
)
q = des;
if(char_num >= src_length) char_num = src_length;
for(i=1;i <= char_num;i++) { *p = *q;
p++;
q++;
)
*p = \0;
) return des;
)
、單項選擇題(每空1分,共11分)
、多項選擇題(每空2分,共16分)
1.
2.
3.
3.
4.
5.
三、判斷題(每小題2分,共12分)
題號
判斷
如果錯誤,列出錯誤原因
1.
2.
3.
4.
5.
6.