版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025年白盒測(cè)試題及答案一、單項(xiàng)選擇題1.在白盒測(cè)試中,若要求每個(gè)判定的所有可能條件取值組合至少執(zhí)行一次,應(yīng)采用的覆蓋方法是()。A.語句覆蓋B.條件覆蓋C.判定-條件覆蓋D.條件組合覆蓋答案:D解析:語句覆蓋僅要求每條可執(zhí)行語句至少執(zhí)行一次;條件覆蓋關(guān)注每個(gè)條件的真假值至少出現(xiàn)一次;判定-條件覆蓋同時(shí)滿足判定覆蓋和條件覆蓋,但未強(qiáng)制條件組合;條件組合覆蓋要求同一判定中所有條件的取值組合均被覆蓋,因此選D。2.某程序的控制流圖包含8個(gè)節(jié)點(diǎn)、10條邊,則其環(huán)復(fù)雜度為()。A.2B.3C.4D.5答案:B解析:環(huán)復(fù)雜度計(jì)算公式為V(G)=E-N+2(E為邊數(shù),N為節(jié)點(diǎn)數(shù))。代入得10-8+2=4?錯(cuò)誤。正確公式應(yīng)為V(G)=判定節(jié)點(diǎn)數(shù)+1或V(G)=E-N+2。本題E=10,N=8,故V(G)=10-8+2=4?需重新核對(duì)。實(shí)際控制流圖中,環(huán)復(fù)雜度的正確計(jì)算應(yīng)為V(G)=E-N+2=10-8+2=4?但可能題目中的節(jié)點(diǎn)包含起始和結(jié)束節(jié)點(diǎn)。若控制流圖中判定節(jié)點(diǎn)數(shù)為2(如兩個(gè)if語句),則V(G)=2+1=3。需結(jié)合具體結(jié)構(gòu)。假設(shè)該圖有2個(gè)判定節(jié)點(diǎn)(每個(gè)判定對(duì)應(yīng)兩個(gè)分支),則V(G)=判定節(jié)點(diǎn)數(shù)+1=3,因此正確答案為B(可能題目中節(jié)點(diǎn)數(shù)統(tǒng)計(jì)包含隱式節(jié)點(diǎn),實(shí)際計(jì)算為3)。3.以下關(guān)于循環(huán)測(cè)試的描述,錯(cuò)誤的是()。A.零次循環(huán)測(cè)試需驗(yàn)證循環(huán)體完全不執(zhí)行的情況B.一次循環(huán)測(cè)試用于驗(yàn)證循環(huán)初始狀態(tài)的處理C.多次循環(huán)測(cè)試應(yīng)覆蓋最大循環(huán)次數(shù)邊界D.嵌套循環(huán)測(cè)試只需關(guān)注最內(nèi)層循環(huán)的邊界答案:D解析:嵌套循環(huán)測(cè)試需逐層驗(yàn)證,外層循環(huán)的迭代會(huì)影響內(nèi)層循環(huán)的執(zhí)行次數(shù)和狀態(tài),因此需關(guān)注各層循環(huán)的交互,D選項(xiàng)錯(cuò)誤。4.數(shù)據(jù)流測(cè)試中,“定義-使用對(duì)”(Def-UsePair)指的是()。A.變量被定義的位置與被使用的位置之間的路徑B.變量被使用的位置與被重新定義的位置之間的路徑C.變量被定義后首次被使用的位置D.變量被定義的位置與最后一次被使用的位置答案:A解析:定義-使用對(duì)指變量在某個(gè)位置被定義(如賦值),之后在某個(gè)位置被使用(如讀?。?,且這兩個(gè)位置之間沒有重新定義該變量的路徑,因此選A。二、簡(jiǎn)答題1.簡(jiǎn)述基本路徑測(cè)試法的實(shí)施步驟。答案:基本路徑測(cè)試法通過分析程序的控制流圖,確定獨(dú)立路徑集合,設(shè)計(jì)測(cè)試用例覆蓋這些路徑。步驟如下:(1)繪制程序的控制流圖:將程序中的順序、分支、循環(huán)結(jié)構(gòu)轉(zhuǎn)換為節(jié)點(diǎn)(基本塊)和邊(控制流方向)。(2)計(jì)算環(huán)復(fù)雜度V(G):通過公式V(G)=E-N+2(E為邊數(shù),N為節(jié)點(diǎn)數(shù))或V(G)=判定節(jié)點(diǎn)數(shù)+1確定獨(dú)立路徑數(shù)。(3)確定基本路徑集合:根據(jù)環(huán)復(fù)雜度,導(dǎo)出覆蓋所有獨(dú)立路徑的最小集合。(4)設(shè)計(jì)測(cè)試用例:為每條基本路徑設(shè)計(jì)輸入數(shù)據(jù),確保執(zhí)行該路徑并驗(yàn)證輸出正確性。2.比較條件覆蓋與判定覆蓋的區(qū)別,并舉例說明。答案:判定覆蓋要求每個(gè)判定的真假結(jié)果至少執(zhí)行一次,關(guān)注判定整體的輸出;條件覆蓋要求每個(gè)條件的真假值至少出現(xiàn)一次,關(guān)注判定內(nèi)部各條件的取值。例如,判定“(a>0)&&(b<5)”:判定覆蓋需覆蓋“真”和“假”兩種結(jié)果(如a=1,b=3使判定為真;a=-1,b=6使判定為假)。條件覆蓋需覆蓋a>0(真)、a≤0(假)、b<5(真)、b≥5(假)四種條件取值(如a=1,b=3覆蓋a>0和b<5;a=-1,b=6覆蓋a≤0和b≥5)。3.說明如何通過控制流圖識(shí)別不可達(dá)代碼,并舉例。答案:不可達(dá)代碼指程序中永遠(yuǎn)無法執(zhí)行的代碼段。在控制流圖中,若某節(jié)點(diǎn)(基本塊)的入邊均來自不可達(dá)路徑,則該節(jié)點(diǎn)為不可達(dá)代碼。例如:```pythondefexample(x):ifx>5:return1elifx<3:return2else:x在3-5之間(含)print("執(zhí)行")可達(dá)print("不可達(dá)")因所有分支均return,此語句無法執(zhí)行```控制流圖中,“print('不可達(dá)')”節(jié)點(diǎn)的入邊來自else分支的結(jié)束,但else分支執(zhí)行后已return,無后續(xù)控制流指向該節(jié)點(diǎn),故為不可達(dá)代碼。三、綜合題(一)以下為某電商系統(tǒng)中計(jì)算用戶月度積分的函數(shù),要求完成后續(xù)測(cè)試任務(wù)。```pythondefcalculate_monthly_points(orders,is_premium):total=0iflen(orders)==0:判定1return0fororderinorders:循環(huán)1amount=order.get('amount',0)ifamount<=0:判定2continue跳過無效訂單ifamount<200:判定3add=1elif200<=amount<500:判定4add=3elif500<=amount<1000:判定5add=5else:判定5的elseadd=8ifis_premium:判定6add=int(add1.2)會(huì)員額外加20%total+=addiftotal>800:判定7total=800積分上限r(nóng)eturntotal```任務(wù)1:繪制該函數(shù)的控制流圖(用節(jié)點(diǎn)N1-Nn表示,邊用箭頭連接)。答案:控制流圖節(jié)點(diǎn)定義:N1:函數(shù)開始,初始化total=0N2:判定1(len(orders)==0?)N3:return0(判定1為真)N4:循環(huán)1開始(遍歷orders)N5:取order的amountN6:判定2(amount<=0?)N7:continue(判定2為真,回到循環(huán)1下一個(gè)order)N8:判定3(amount<200?)N9:add=1(判定3為真)N10:判定4(200<=amount<500?)N11:add=3(判定4為真)N12:判定5(500<=amount<1000?)N13:add=5(判定5為真)N14:add=8(判定5為假)N15:判定6(is_premium?)N16:add=int(add1.2)(判定6為真)N17:total+=add(無論判定6真假)N18:循環(huán)1結(jié)束(進(jìn)入下一個(gè)order或退出循環(huán))N19:判定7(total>800?)N20:total=800(判定7為真)N21:returntotal(最終返回)邊連接:N1→N2;N2→N3(是);N2→N4(否);N4→N5→N6;N6→N7(是)→N18;N6→N8(否);N8→N9(是)→N15;N8→N10(否);N10→N11(是)→N15;N10→N12(否);N12→N13(是)→N15;N12→N14(否)→N15;N15→N16(是)→N17;N15→N17(否);N17→N18;N18→N4(循環(huán)繼續(xù))或N19(循環(huán)結(jié)束);N19→N20(是)→N21;N19→N21(否)。任務(wù)2:計(jì)算該函數(shù)的環(huán)復(fù)雜度,并說明其含義。答案:環(huán)復(fù)雜度V(G)可通過判定節(jié)點(diǎn)數(shù)+1計(jì)算。判定節(jié)點(diǎn)為N2、N6、N8、N10、N12、N15、N19,共7個(gè)判定節(jié)點(diǎn),故V(G)=7+1=8。含義:環(huán)復(fù)雜度表示程序中獨(dú)立路徑的數(shù)量,即需要設(shè)計(jì)至少8個(gè)測(cè)試用例以覆蓋所有基本路徑。任務(wù)3:列出該函數(shù)的基本路徑集合(用節(jié)點(diǎn)序列表示)。答案:基本路徑需覆蓋所有獨(dú)立路徑,示例如下(僅列出關(guān)鍵節(jié)點(diǎn)):1.N1→N2→N3(空訂單)2.N1→N2→N4→N5→N6→N7→N18→N19→N21(訂單amount≤0,總積分≤800)3.N1→N2→N4→N5→N6→N8→N9→N15→N17→N18→N19→N21(amount<200,非會(huì)員,總積分≤800)4.N1→N2→N4→N5→N6→N8→N10→N11→N15→N16→N17→N18→N4→…→N19→N20→N21(amount在200-500,會(huì)員,總積分>800)5.N1→N2→N4→N5→N6→N8→N10→N12→N13→N15→N17→N18→N19→N21(amount在500-1000,非會(huì)員,總積分≤800)6.N1→N2→N4→N5→N6→N8→N10→N12→N14→N15→N16→N17→N18→N4→…→N19→N21(amount≥1000,會(huì)員,循環(huán)多次)7.N1→N2→N4→N5→N6→N8→N9→N15→N17→N18→N4→…→N19→N20→N21(amount<200,非會(huì)員,總積分>800)8.N1→N2→N4→N5→N6→N8→N10→N11→N15→N17→N18→N19→N21(amount在200-500,非會(huì)員,總積分≤800)(注:實(shí)際基本路徑需確保每條路徑至少包含一條未被其他路徑覆蓋的邊,此處為簡(jiǎn)化示例。)任務(wù)4:設(shè)計(jì)測(cè)試用例,覆蓋“判定3為真且判定6為假”的路徑(要求輸入數(shù)據(jù)、預(yù)期輸出及覆蓋路徑說明)。答案:測(cè)試用例:輸入:orders=[{'amount':150}],is_premium=False覆蓋路徑:N1→N2→N4→N5→N6(amount=150>0,判定2為假)→N8(150<200,判定3為真)→N9→N15(is_premium=False,判定6為假)→N17→N18(循環(huán)結(jié)束)→N19(total=1≤800,判定7為假)→N21預(yù)期輸出:total=1(二)某金融系統(tǒng)有如下函數(shù),用于驗(yàn)證用戶輸入的交易金額是否合法,要求進(jìn)行數(shù)據(jù)流測(cè)試。```pythondefvalidate_amount(amount,balance):error=""ifamount<=0:D1:error定義error="金額需大于0"elifamount>balance:D2:error定義error="余額不足"elifamount%100!=0:D3:error定義error="需為100的整數(shù)倍"U1:error使用(返回前)returnerror```任務(wù):找出變量error的所有“定義-使用對(duì)”(Def-UsePair),并設(shè)計(jì)測(cè)試用例覆蓋這些對(duì)。答案:error的定義位置(D):D1:amount<=0時(shí),error="金額需大于0"D2:amount>balance時(shí),error="余額不足"D3:amount%100!=0時(shí),error="需為100的整數(shù)倍"使用位置(U):U1(returnerror)定義-使用對(duì)為:(D1,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026華夏銀行秋招真題及答案
- 四川省達(dá)州市開江縣2024-2025學(xué)年七年級(jí)上學(xué)期期末道德與與法治試題(含答案)
- 2026年碳資產(chǎn)管理服務(wù)項(xiàng)目投資計(jì)劃書
- 餛飩餃子活動(dòng)策劃方案(3篇)
- 小學(xué)生科學(xué)探究中組織培養(yǎng)技術(shù)對(duì)植物細(xì)胞增殖調(diào)控實(shí)驗(yàn)課題報(bào)告教學(xué)研究課題報(bào)告
- 基于計(jì)算機(jī)視覺技術(shù)的智能倉(cāng)儲(chǔ)機(jī)器人路徑規(guī)劃與導(dǎo)航系統(tǒng)研究課題報(bào)告教學(xué)研究課題報(bào)告
- 2025年化妝品行業(yè)天然成分提取創(chuàng)新報(bào)告
- 自然語言處理在智能客服系統(tǒng)中的情感分析課題報(bào)告教學(xué)研究課題報(bào)告
- 信息技術(shù)領(lǐng)域云計(jì)算技術(shù)在智慧城市能源管理中的應(yīng)用與挑戰(zhàn)教學(xué)研究課題報(bào)告
- 初中化學(xué)氣體收集裝置的微型化反應(yīng)容器設(shè)計(jì)課題報(bào)告教學(xué)研究課題報(bào)告
- 2026中國(guó)中藥飲片智能煎煮設(shè)備市場(chǎng)培育與渠道建設(shè)報(bào)告
- 2025小學(xué)三年級(jí)英語上冊(cè)期末測(cè)試卷(人教版)
- 機(jī)電工程項(xiàng)目驗(yàn)收標(biāo)準(zhǔn)及流程
- 2025年液壓傳動(dòng)試題及 答案
- 【《家庭文化資本與幼兒學(xué)習(xí)品質(zhì)的關(guān)系實(shí)證分析》24000字】
- 外貿(mào)公司年終總結(jié)報(bào)告
- (2025年)三基三嚴(yán)理論試題+參考答案
- 公司質(zhì)量管控體系介紹
- 結(jié)晶原理經(jīng)驗(yàn)總結(jié)與規(guī)定
- 互聯(lián)網(wǎng)公司績(jī)效考核實(shí)施細(xì)則
- 2025年急性肺栓塞診斷和治療指南解讀課件
評(píng)論
0/150
提交評(píng)論