軟體測試技術試題及答案A卷
單項選擇題(每小題2 分,滿分30分)1.軟體測試的目的:( )
A. 避免軟體開發中出現的錯誤
B. 發現軟體開發中出現的錯誤
C. 儘可能發現並排除軟體中潛藏的錯誤,提高軟體的可靠性
D. 修改軟體中出現的錯誤
2、軟體測試是採用( )執行軟體的活動。
A.測試用例 B.輸入數據 C.測試環境 D.輸入條件
3、導致軟體缺陷的最大原因是:( )
A.軟體需求說明書 B.設計方案 C.編碼 D.維護
4、在下列描述中,關於一個軟體缺陷狀態完整變化的錯誤描述是( )
A、打開——修復——關閉 B、打開——關閉
C、打開——保留 D、激活——修復——重新打開
5、在下列描述中,關於測試與調試的說法錯誤的是( )
A、測試是顯示錯誤的行為;而調試是推理的過程;
B、測試顯示開發人員的錯誤。調試是開發人員為自己辯護;
C、測試能預期和可控。調試需要想像、經驗和思考;
D、測試必須在詳細設計已經完成的情況下才能開始;沒有詳細設計的信息調試不可能進行。
6、某次程序調試沒有出現預計的結果,下列( )不可能是導致出錯的原因。 A.變量沒有初始化 B.編寫的語句書寫格式不規範 C.循環控制出錯 D.代碼輸入有誤
7、軟體缺陷修復的代價最高的階段為( )
A、發布階段 B、需求階段 C、設計階段 D、編碼階段
8、不屬於邏輯覆蓋方法的是( )。
A.組合覆蓋 B.判定覆蓋 C.條件覆蓋 D.接口覆蓋
9、( )是選擇若干個測試用例,運行被測程序,使得程序中的每個可執行語句至少執行一次。
A、條件覆蓋 B、組合覆蓋 C、判定覆蓋 D、語句覆蓋
10、( )是設計足夠多的測試用例,使得程序中每個判定包含的每個條件的所有情況(真/假)至少出現一次,並且每個判定本身的判定結果(真/假)也至少出現一次。
A、判定-條件覆蓋 B、組合覆蓋 C、判定覆蓋 D、條件覆蓋
11.軟體測試是軟體質量保證的重要手段,下述哪種測試是軟體測試的最基礎環節?( )
A.功能測試 B.單元測試 C.結構測試 D.驗收測試
12、單元測試的主要任務不包括( )。
A.出錯處理 B.全局數據結構 C.獨立路徑 D.模塊接口
13、自底向上增量式集成測試中,下面( )描述是正確的。
A.測試由樁模塊控制 B.最上面的模塊最先測試
C.父單元用測試過的子單 元測試 D.包含樹的深度優先或廣度優先遍歷過程
14、單元測試中用來模擬實現被測模塊需調用的其他功能模塊的是( )。
A.驅動模塊 B.樁模塊 C.主控模塊 D.真實的被調用模塊
15、集成測試計劃應該在( )階段末提交。
A、需求分析 B、概要設計 C、詳細設計 D、單元測試完成
二、判斷題(每題2分,滿分20分)
1、一個程序中所含有的路徑數與程序的複雜程度有著直接的關係。( )
2、結構性測試是根據軟體的規格說明來設計測試用例。( )
3、錯誤推測法是根據輸出對輸入的依賴關係來設計測試用例的。( )
4、軟體缺陷屬性包括缺陷標識、缺陷類型、缺陷嚴重程度、缺陷產生可能性、缺陷優先級、缺陷狀態、缺陷起源、缺陷來源、缺陷原因。( )
5、對於一個含有n個變量的程序,採用邊界值健壯性測試方法來測試程序會產生6n+1個測試用例。)
6、數據流測試是主要用作路徑測試的真實性檢查。兩種形式分別為定義/使用測試、基於程序片的測試。 )
7、軟體只要經過嚴格嚴謹的內部測試之後,可以做到沒有缺陷。( )
8、測試用例應由測試輸入數據和對應的實際輸出結果這兩部分組成。( )
9、測試是可以窮盡的。( )
10、測試自動化是萬能的。( )
三、簡答題:(1、2小題每題5分,3、4小題每題10分滿分30分。)
1、優秀的軟體測試工程師應具備哪些素質?
2、有二元函數f(x,y),其中x∈[1,12],y∈[1,31];請寫出該函數採用基本邊界值分析法設計的測試用例。
3、黑盒測試與白盒測試各有哪些優缺點,應該如何結合
4、有一段程序如下,請設計測試用例以滿足語句覆蓋要求。
void DoWork (int x,int y,int z)
{
int k=0,j=0;
if ( (x>3)&&(z<10) )
{ k=x*y-1;
j=sqrt(k);
} //語句塊1
if ( (x==4)||(y>5) )
{ j=x*y+10; } //語句塊2
j=j%3; //語句塊3
}
四、綜合題( 滿分20分。)
1、使用基本路徑測試方法,為以下程序段設計測試用例。
(1)畫出程序的控制流圖,編號已經給出。
(2)計算程序的循環複雜度,導出程序基本路徑集中的獨立路徑條數。
(3)導出基本路徑集,確定程序的獨立路徑。
(4)根據(3)中的獨立路徑,設計測試用例(確保基本路徑集中的每一條路徑的執行)的輸入數據和預期輸出。
void Do (int X, int A, int B)
{
1 if ( (A>1)&&(B=0) )
2 X = X/A;
3 if ( (A=2)||(X>1) )
4 X = X+1;
5 }
由於控制流圖假設的是單條件,因此對於複合條件,可將其分解為多個單個條件,並映射成控制流圖。
1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }
軟體測試技術試題A答案
單選題(15×2=30分)
判斷題(2×10=20分)
簡答題( 30分)1.答:具有探索精神、具有良好的計算機編程基礎、故障排除能手、堅持不懈的精神、具有創新精神和超前意識、追求完美、判斷準確、具有整體觀念,對細節敏感、團隊合作精神,溝通能力。
具有良好的計算機編程基礎,有一定的軟體開發經驗;有逆向思維的能力善於同軟體開發人員溝通;善於同領導溝通掌握一些自動化測試工具;善於學習的能力提高自己的表達能力 ; 了解業務知識具有探索精神;故障排除能手堅持不懈的精神;具有創新精神和超前意識追求完美;判斷準確;具有整體觀念,對細節敏感;團隊合作精神2.答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>,
<6,1>, <6,2>, <6,30>, <6,31> }
3.答:功能性測試具有兩大優點:功能性測試與軟體如何實現無關;測試用例開發可以與實現並行進行,因此可以壓縮總的項目開發時間。缺點:測試用例之間可能存在嚴重的冗餘,還會有位測試的軟體漏洞。結構性測試局限於已經完成的代碼行為當中,離代碼太近。因此可以結構性測試指標去解決冗餘和漏洞問題。如果發現同一條程序路徑被多個功能性測試用例遍歷,就可以懷疑這種冗餘不會發生新的缺陷,如果沒有達到一定的DD—路徑覆蓋,則可知在功能性測試用力中存在漏洞。因此路徑測試可以提供作為功能性測試交叉檢查的一組指標。
4.答:要實現DoWork函數的語句覆蓋,只需設計一個測試用例就可以覆蓋程序中的所有可執行語句。
測試用例輸入為:{ x=4、y=5、z=5 }綜合題( 20分)1、畫出控制流圖: 如右圖所示
計算環形複雜度 :10(條邊)- 7(個節點)+ 2 = 5
導出獨立路徑(用語句編號表示)路徑1:1→2→3→4→5→6→7
路徑2:1→4→5→6→7
路徑3:1→2→4→6→7
路徑4:1→2→4→5→7
路徑5:1→2→3→4→5→7
測試用例