1. 在軟體生命周期的哪一個階段,軟體缺陷修複費用最低 ( A )
(A)需求分析(編制産品說明書) (B)設計
(C) 編碼 (D)産品釋出
2. 單元測試中用來模拟被測子產品調用者的子產品是 ( C )
(A) 父子產品 (B)子子產品
(C)驅動子產品 (D)樁子產品
3. 為了提高測試的效率,應該 ( D )
(A)随機地選取測試資料;
(B)取一切可能的輸入資料作為測試資料;
(C)在完成編碼以後制定軟體的測試計劃;
(D)選擇發現錯誤可能性大的資料作為測試資料。
4. 側重于觀察資源耗盡情況下的軟體表現的系統測試被稱為 ( B )
(A)強度測試 (B)壓力測試
(C) 容量測試 (D)性能測試
5. 必須要求使用者參與的測試階段是 ( D )
(A)單元測試 (B)內建測試
(C) 确認測試 (D)驗收測試
6. 軟體測試員究竟做些什麼。 ( C )
(A)軟體測試員的目的是發現軟體缺陷
(B)軟體測試員的目的是發現軟體缺陷,盡可能早一些
(C)軟體測試員的目的是發現軟體缺陷,盡可能早一些,并確定其得以修複
(D)軟體測試員的目的是發現軟體缺陷,盡可能早一些,并将其得以修複
7. 下面四種說法中正确的是 ( C )
(A)因果圖法是建立在決策表法基礎上的一種白盒測試方法;
(B)等價類劃分法是邊界值分析法的基礎;
(C)健壯性等價類測試的測試用例要求在有效等價類中取值;
(D)在任何情況下做黑盒測試皆應首先考慮使用錯誤推斷法。
8. 不屬于單元測試内容的是 ( A )
(A)子產品接口測試 (B)局部資料結構測試
(C) 路徑測試 (D)使用者界面測試
9. 劃分軟體測試屬于白盒測試還是黑盒測試的依據是 ( C )
(A)是否執行程式代碼
(B)是否能看到軟體設計文檔
(C)是否能看到被測源程式
(D)運作結果是否确定
10. 下列項目中不屬于測試文檔的是 ( C )
(A)測試計劃 (B)測試用例
(C) 程式流程圖 (D)測試報告
11. 幾乎沒有産品計劃、進度安排和正規的開發過程的軟體開發模式是 ( B )
(A)大棒模式 (B)邊寫邊改模式
(C) 瀑布模式 (D)快速原型開發模式
12. 如果某測試用例集實作了某軟體的路徑覆寫,那麼它一定同時實作了該軟體的 ( A )
(A)判定覆寫 (B)條件覆寫
(C) 判定/條件覆寫 (D)組合覆寫
13. 下列說法不正确的是 ( D )
(A)測試不能證明軟體的正确性;
(B)測試員需要良好的溝通技巧;
(C)QA與testing屬于一個層次的概念;
(D)成功的測試是發現了錯誤的測試。
14. 對Web網站進行的測試中,屬于功能測試的是 ( B )
(A)連接配接速度測試 (B)連結測試
(C)平台測試
(D)安全性測試
15. 在進行單元測試時,常用的方法是 ( B )
(A)采用黑盒測試,輔之以白盒測試;
(B)采用白盒測試,輔之以黑盒測試;
(C)隻使用黑盒測試;
(D)隻使用白盒測試。
16. 使用白盒測試方法時,确定測試資料的依據是指定的覆寫标準和 ( B )
(A)程式的注釋
(B)程式的内部邏輯
(C)使用者使用說明書
(D)程式的需求說明
17.下列___不是軟體自動化測試的優點 ( D )
(A)速度快、效率高 (B)準确度和精确度高
(C)能提高測試的品質 (D)能充分測試軟體
18. 配置測試 ( C )
(A) 是指檢查軟體之間是否正确互動和共享資訊 (B) 是互動适應性、實用性和有效性的集中展現
(C) 是指使用各種硬體來測試軟體操作的過程 (D) 檢查缺陷是否有效改正
19. 下列各項中___不是一個測試計劃所應包含的内容 ( B )
(A)測試資源、進度安排 (B)測試預期輸出
(C)測試範圍 (D)測試政策
20.下列不屬于正式審查的方式是 ( D )
(A)同僚審查
(B) 公開陳述
(C) 檢驗
(D) 編碼标準和規範
二、判斷題:共10小題,每小題1分,滿分10分;請将答案以“√”、“×”形式填入題後括号中。
1. 好的測試員不懈追求完美。 ( × )
2. 軟體測試是有效的排除軟體缺陷的手段。 ( √ )
3. 程式員與測試工作無關。 ( × )
4. 程式員兼任測試員可以提高工作效率。 ( × )
5. 産品說明書(需求文檔)的變更應當受到控制。 ( √ )
6. 白盒測試的“條件覆寫”标準強于“判定覆寫”。 ( × )
7. 軟體開發全過程的測試工作都可以實作自動化。 ( × )
8. 找出的軟體缺陷越多,說明剩下的軟體缺陷越少。 ( × )
9. 采用自動化測試有可能延誤項目進度。 ( √ )
10.測試應從“大規模”開始,逐漸轉向“小規模”。 ( × )
三、填空題:共10小題20個空格,每個空格1分,滿分20分;請将答案填入指定的空白處。
1. 軟體缺陷産生的原因包括軟體說明書、設計、編寫代碼 以及其他原因。
2. 軟體開發模式包括大棒模式、邊寫邊改模式、流水模式、螺旋模式。
3. 黑盒測試用例設計方法包括等價類劃分法,邊界值法,以及因果圖法,錯誤推測法等。
4. 測試過程中,____測試計劃_______________描述用于描述測試的整體方案,________缺陷報告__描述依據測試案例找出的問題。
5. 傳統的等價類劃分測試的實作分兩步進行,一是___劃分等價類表____,二是_邊界值分析法______。
6. 在相容性測試中,______向前相容_________是指可以使用軟體的以前版本, ___向後相容_____是指可以使用軟體的未來版本。
7. 測試工作就是進行輸入、接受輸出、檢驗結果,不深入代碼細節,這樣的測試方法稱為__動态黑盒測試___,在不執行代碼的條件下有條理地仔細審查軟體設計、體系結構和代碼,進而找出軟體缺陷的測試方法稱為___靜态白盒測試_____________。
8. 不需要修複軟體缺陷的原因包括______沒有時間__、不能算真正的軟體缺陷、___風險太大__、不值得修複。
9. 白盒測試又稱為_結構測試或邏輯結構測試_,黑盒測試又稱為___功能測試或給予規格說明書的測試_。
10. 動态測試的兩個基本要素是___被測試程式___、_____測試資料___。
四、名詞解釋:共5小題,每小題3分,滿分15分
1. 軟體缺陷
1).軟體未達到産品說明書的功能
2).軟體出現了産品說明書指明不會出現的錯誤
3).軟體功能超出産品說明書指明範圍
4).軟體未達到産品說明書雖未指出但應達到的目标
5).軟體測試員認為難以了解、不易使用、運作速度緩慢、或者最終使用者認為不好
2. β測試
β測試是指軟體開發公司組織各方面的典型使用者在日常工作中實際使用β版本,并要求使用者報告異常情況,提出批評意見。
3.測試的配置管理
配置管理的目的是建立和維護在軟體生命周期中軟體産品的完整性和一緻性。一般來說,軟體測試配置管理包括4個最基本的活動:(1)配置辨別;(2)變更控制;(3)配置狀态報告; (4)配置審計。
4.測試用例
測試用例就是将軟體測試的行為活動,做一個科學化的組織歸納。
5.黑盒測試
黑盒測試也稱功能測試或資料驅動測試,前提是已知産品所具有的功能,通過測試來檢測每個功能是否都正常使用。
五、簡答題:共3小題,每小題5分,滿分15分。
1. 如何劃分等價類?
1).在輸入條件規定了取值範圍或值的個數的情況下,則可以确立一個有效等價類和兩個無效等價類。
2).在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件的情況下,則可以确立一個有效等價類和一個無效等價類。
3).在輸入條件是一個布爾量的情況下,可以确立一個有效等價類和一個無效等價類。
4).在規定了輸入資料的一組值(假定n個),并且程式要對每一個輸入值分别處理的情況下,可以确立n個有效等價類和一個無效等價類。
5).在規定了輸入資料必須遵守的規則的情況下,可以确立一個有效等價類(符合規則)和若幹個無效等價類(從不同角度違反規則)。
6).在确知已劃分的等價類中各元素在程式進行中的方式不同的情況下,則應再将該等價類進一步的劃分為更小的等價類。
2. 軟體驗收測試應完成哪些主要測試工作?
1)文檔資料的審查驗收
2)功能測試
3)性能測試
4)強化測試
5)性能降級執行方式測試
6)檢查系統的餘量要求
7)安裝測試
8)使用者操作測試
3. 簡述軟體開發-軟體測試的對用關系。
六、綜合題:共1小題,每小題20分,滿分20分。
1. 某城市的電話号碼由三部分組成。這三部分的名稱和内容分别是
地區碼:空白或三位數字;
前 綴:非’0’或’1’開頭的三位數;
後 綴:四位數字。
假定被調試的程式能接受一切符合上述規定的電話号碼,拒絕所有不符合規定的号碼,試用等價分類法來設計它的調試用例。
解:第一步:劃分等價類,包括4個有效等價類,11個無效等價類。
輸入條件 | 有效等價類 | 無效等價類 |
地區碼 | 空白(1),3位數字(2) | 有非數字字元(5),少于3位數字(6),多于三位數字(7) |
字首 | 從200到999之間的3位數字(3) | 有非數字字元(8),起始位為"0"(9),起始位為"1"(10),少于3位數字(11),多于3位數字(12) |
字尾 | 4位數字(4) | 有非數字字元(13),少于4位數字(14),多于4位數字(15) |
第二步:确定調試用例。
調試資料 | 範圍 | 期望結果 |
( ) 276-2345 | 等價類(1),(3),(4) | 有效 |
(635) 805-9321 | 等價類(2),(3),(4) | 有效 |
對11個無效等價類,要選擇11個調試用例,如下所示:
調試資料 | 範圍 | 期望結果 |
(20A) 123-4567 | 無效等價類(5) | 無效 |
(33 ) 234-5678 | 無效等價類(6) | 無效 |
(7777) 345-6789 | 無效等價類(7) | 無效 |
(777) 34A-6789 | 無效等價類(8) | 無效 |
(234) 045-6789 | 無效等價類(9) | 無效 |
(777) 145-6789 | 無效等價類(10) | 無效 |
(777) 34-6789 | 無效等價類(11) | 無效 |
(777) 2345-6789 | 無效等價類(12) | 無效 |
(777) 345-678A | 無效等價類(13) | 無效 |
(777) 345-678 | 無效等價類(14) | 無效 |
(777) 345-56789 | 無效等價類(15) | 無效 |
選取的調試資料可以不同,關鍵是與調試内容相符。
軟體測試技術(A卷)答案及評分标準
一、 單選題(20×1=20分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | A | C | D | B | D | C | C | A | C | C |
題号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | B | A | D | B | B | B | D | C | B | D |
二、 判斷題(10×1=10分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | × | √ | × | × | √ | × | × | × | √ | × |
三、 填空題(20×1=20分)
1.編寫說明書; 編寫代碼
2.大棒模式; 流水模式
3.等價類劃分; 邊界值分析法
4.測試計劃; 缺陷報告
5.劃分等價類表; 設計相應的測試用例
6.向前相容; 向後相容
7.動态黑盒測試; 靜态白盒測試
8.沒有時間; 風險太大
9.結構測試或邏輯驅動測試;
功能測試或資料驅動測試或基于規格說明書的測試
10.被測試程式; 測試資料(測試用例)
四、 名詞解釋(5×3=15分)
1.軟體缺陷:(符合下列規則的叫軟體缺陷):
1).軟體未達到産品說明書的功能
2).軟體出現了産品說明書指明不會出現的錯誤
3).軟體功能超出産品說明書指明範圍
4).軟體未達到産品說明書雖未指出但應達到的目标
5).軟體測試員認為難以了解、不易使用、運作速度緩慢、或者最終使用者認為不好
2.β測試是指軟體開發公司組織各方面的典型使用者在日常工作中實際使用β版本,并要求使用者報告異常情況,提出批評意見。
3.配置管理的目的是建立和維護在軟體生命周期中軟體産品的完整性和一緻性。一般來說,軟體測試配置管理包括4個最基本的活動:(1)配置辨別;(2)變更控制;(3)配置狀态報告; (4)配置審計。
4.測試用例就是将軟體測試的行為活動,做一個科學化的組織歸納。
5.黑盒測試也稱功能測試或資料驅動測試,前提是已知産品所具有的功能,通過測試來檢測每個功能是否都正常使用。
五、 簡答題(3×5=15分)
1.
1).在輸入條件規定了取值範圍或值的個數的情況下,則可以确立一個有效等價類和兩個無效等價類。
2).在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件的情況下,則可以确立一個有效等價類和一個無效等價類。
3).在輸入條件是一個布爾量的情況下,可以确立一個有效等價類和一個無效等價類。
4).在規定了輸入資料的一組值(假定n個),并且程式要對每一個輸入值分别處理的情況下,可以确立n個有效等價類和一個無效等價類。
5).在規定了輸入資料必須遵守的規則的情況下,可以确立一個有效等價類(符合規則)和若幹個無效等價類(從不同角度違反規則)。
6).在确知已劃分的等價類中各元素在程式進行中的方式不同的情況下,則應再将該等價類進一步的劃分為更小的等價類。
2. 軟體驗收測試應完成哪些主要測試工作?
1)文檔資料的審查驗收
2)功能測試
3)性能測試
4)強化測試
5)性能降級執行方式測試
6)檢查系統的餘量要求
7)安裝測試
8)使用者操作測試
3. 簡述軟體開發-軟體測試的對用關系
六、 綜合題(1×20=20分)
解:第一步:劃分等價類,包括4個有效等價類,11個無效等價類。
輸入條件 | 有效等價類 | 無效等價類 |
地區碼 | 空白(1),3位數字(2) | 有非數字字元(5),少于3位數字(6),多于三位數字(7) |
字首 | 從200到999之間的3位數字(3) | 有非數字字元(8),起始位為"0"(9),起始位為"1"(10),少于3位數字(11),多于3位數字(12) |
字尾 | 4位數字(4) | 有非數字字元(13),少于4位數字(14),多于4位數字(15) |
第二步:确定調試用例。
調試資料 | 範圍 | 期望結果 |
( ) 276-2345 | 等價類(1),(3),(4) | 有效 |
(635) 805-9321 | 等價類(2),(3),(4) | 有效 |
對11個無效等價類,要選擇11個調試用例,如下所示:
調試資料 | 範圍 | 期望結果 |
(20A) 123-4567 | 無效等價類(5) | 無效 |
(33 ) 234-5678 | 無效等價類(6) | 無效 |
(7777) 345-6789 | 無效等價類(7) | 無效 |
(777) 34A-6789 | 無效等價類(8) | 無效 |
(234) 045-6789 | 無效等價類(9) | 無效 |
(777) 145-6789 | 無效等價類(10) | 無效 |
(777) 34-6789 | 無效等價類(11) | 無效 |
(777) 2345-6789 | 無效等價類(12) | 無效 |
(777) 345-678A | 無效等價類(13) | 無效 |
(777) 345-678 | 無效等價類(14) | 無效 |
(777) 345-56789 | 無效等價類(15) | 無效 |
選取的調試資料可以不同,關鍵是與調試内容相符。
一、 單項選擇題;共20小題,每小題1 分,滿分20分;請将答案填入題後括号中。
1. 軟體測試的目的是 ( B )
(A)發現程式中的所有錯誤 (B)盡可能多地發現程式中的錯誤
(C)證明程式是正确的 (D)調試程式
2. 下列___不屬于測試原則的内容 ( D )
(A)軟體測試是有風險的行為 (B)完全測試程式是不可能的
(C)測試無法顯示潛伏的軟體缺陷 (D)找到的缺陷越多軟體的缺陷就越少
3. 導緻軟體缺陷的最大原因是 ( A )
(A)編制說明書 (B)設計
(C)編碼 (D)測試
4. 修複軟體缺陷費用最高的是____階段: ( D )
(A)編制說明書 (B)設計
(C) 編寫代碼 (D)釋出
5. 白盒測試是根據程式的__C__來設計測試用例,黑盒測試是根據軟體的規格說明來設計測試用例。
(A)功能 (B)性能
(C)内部邏輯 (D)内部資料
6. 條件覆寫的目的是 ( A )
(A)使每個判定的所有可能的條件取值組合至少執行一次
(B)使程式中的每個判定至少都獲得一次“真”值和“假”值。
(C)使程式中的每個判定中每個條件的可能值至少滿足一次。
(D)使程式中的每個可執行語句至少執行一次。
7. 一個程式中所含有的路徑數與____有着直接的關系。 ( A )
(A) 程式的複雜程度 (B) 程式語句行數
(C)程式子產品數 (D)程式指令執行時間
8. 動态黑盒子測試: ( B )
(A)直接測試底層功能、過程、子程式和庫 (B)可估算執行測試時代碼量和具體代碼
(C)從軟體獲得讀取變量和狀态資訊的通路權 (D)測試的是軟體在使用過程中的實際行為
9. 在自低向上測試中,要編寫稱為___B_的子產品來測驗正在測試的子產品。
(A) 測試存根 (B) 測試驅動子產品
(C)樁子產品 (D) 底層子產品
10. 下列___不是軟體自動化測試的優點 ( D )
(A)速度快、效率高 (B)準确度和精确度高
(C)能提高測試的品質 (D)能充分測試軟體
11. 配置測試 ( C )
(A) 是指檢查軟體之間是否正确互動和共享資訊 (B) 是互動适應性、實用性和有效性的集中展現
(C) 是指使用各種硬體來測試軟體操作的過程 (D) 檢查缺陷是否有效改正
12. 下列各項中___不是一個測試計劃所應包含的内容 ( B )
(A)測試資源、進度安排 (B)測試預期輸出
(C)測試範圍 (D)測試政策
13. 下列不屬于正式審查的方式是 ( D )
(A)同僚審查(B) 公開陳述(C) 檢驗(D) 編碼标準和規範
14. 在沒有産品說明書時使用____: ( A )
(A)探索測試(B) 功能測試(C) 動态測試(D) 靜态測試
15. 調試是 ( D )
(A)發現與預先定義的規格和标準不符合的問題
(B)發現軟體錯誤征兆的過程
(C)有計劃的、可重複的過程
(D)消除軟體錯誤的過程
16. 在軟體底層進行的測試稱為 ( C )
(A) 系統測試 (B) 內建測試 (C) 單元測試 (D) 功能測試
17. 在确定黑盒測試政策時,優先選用的方法是 ( B )
(A) 邊界值分析法 (B) 等價類劃分
(C)錯誤推斷法 (D)決策表方法
18. 下列___不屬于軟體缺陷 ( A )
(A) 測試人員主觀認為不合理的地方
(B) 軟體未達到産品說明書标明的功能
(C)軟體出現了産品說明書指明不會出現的錯誤
(D)軟體功能超出産品說明書指明範圍
19. 産品釋出後修複軟體缺陷比項目開發早期這樣做的費用要高_____ ( D )
(A)1~2倍 (B)10~20倍 (C)50倍 (D)100倍或更高
20. _____把黑盒子測試和白盒子測試的界限打亂了。 ( A )
(A) 灰盒子測試 (B)動态測試 (C)靜态測試 (D)失敗測試
二、填空題:共10小題20個空格,每個空格1分,滿分20分;請将答案填入指定的空白處。
11. 軟體缺陷産生的原因包括_____編寫說明書_____、設計、______編寫代碼_____以及其他原因。
12. 軟體開發模式包括________大棒模式___________、邊寫邊改模式、_____流水模式__、螺旋模式。
13. 黑盒測試用例設計方法包括___等價類劃分法___、____邊界值分析法___以及因果圖法,錯誤推測法等。
14. 測試過程中,___測試計劃_____用于描述測試的整體方案,__缺陷報告_描述依據測試案例找出的問題。
15. 傳統的等價類劃分測試的實作分兩步進行,一是劃分等價類表_,二是_設計相應的測試用例_。
16. 在相容性測試中,_ 向前相容_是指可以使用軟體的以前版本, _____向後相容是指可以使用軟體的未來版本。
17. 測試工作就是進行輸入、接受輸出、檢驗結果,不深入代碼細節,這樣的測試方法稱為__動态黑盒測試____,在不執行代碼的條件下有條理地仔細審查軟體設計、體系結構和代碼,進而找出軟體缺陷的測試方法稱為 靜态白盒測試_。
18. 不需要修複軟體缺陷的原因包括___沒有時間____、不能算真正的軟體缺陷、______風險太大__、不值得修複。
19. 白盒測試又稱為_____結構測試___,黑盒測試又稱為____功能測試__。
20. 動态測試的兩個基本要素是____被測試程式____、____測試資料___。
三、判斷題:共10小題,每小題1分,滿分10分;請将答案以“√”、“×”形式填入題後括号中。
1. 白盒測試的條件覆寫标準強于判定覆寫。 ( × )
2. 驗收測試是以最終使用者為主的測試。 ( √ )
3. 測試程式僅僅按預期方式運作就行了。 ( × )
4. 自底向上內建需要測試員編寫驅動程式。 ( √ )
5. 好的測試員不懈追求完美。 ( × )
6. 軟體測試工具可以代替軟體測試員。 ( × )
7. 最重要的使用者界面要素是軟體符合現行标準和規範。 ( √ )
8. 自動化測試可能延誤項目進度。 ( √ )
9. 軟體測試員可以對産品說明書進行白盒測試。 ( √ )
10. 靜态白盒測試可以找出遺漏之處和問題。 ( √ )
四、名詞解釋;共5小題,每小題3分,滿分15分
1.軟體缺陷2. 單元測試3.白盒測試4.回歸測試5.等價類
五、簡答題:共3小題,每小題5分,滿分15分。
1. 什麼是測試用例?為什麼要設計測試用例?
2. 簡述增量式內建測試的自頂向下和自底向上兩種測試方法。
3.分析單元測試和代碼調試的差別。
六、:綜合題:共1小題,每小題20分,滿分20分。
1.按要求給出下列程式的測試用例(要求寫出必要的說明):
(1) 語句覆寫
(2) 判定覆寫
(3) 條件覆寫
(4) 判定-條件覆寫
(5) 條件組合覆寫
軟體測試技術(B卷)答案及評分标準
七、 單選題(20×1=20分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | B | D | A | D | C | A | A | D | B | D |
題号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | C | B | D | A | D | C | B | A | D | A |
八、 填空題(20×1=20分)
1.編寫說明書; 編寫代碼
2.大棒模式; 流水模式
3.等價類劃分; 邊界值分析法
4.測試計劃; 缺陷報告
5.劃分等價類表; 設計相應的測試用例
6.向前相容; 向後相容
7.動态黑盒測試; 靜态白盒測試
8.沒有時間; 風險太大
9.結構測試或邏輯驅動測試;
功能測試或資料驅動測試或基于規格說明書的測試
10.被測試程式; 測試資料(測試用例)
九、 判斷題(10×1=10分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | × | √ | × | √ | × | × | √ | √ | √ | √ |
十、 名詞解釋(5×3=15分)
1.軟體缺陷:(符合下列規則的叫軟體缺陷):
1).軟體未達到産品說明書的功能
2).軟體出現了産品說明書指明不會出現的錯誤
3).軟體功能超出産品說明書指明範圍
4).軟體未達到産品說明書雖未指出但應達到的目标
5).軟體測試員認為難以了解、不易使用、運作速度緩慢、或者最終使用者認為不好
2.單元測試:單元測試是對軟體設計的最小單元——子產品進行正确性檢驗的測試工作,主要測試子產品在文法、格式和邏輯上的錯誤。
3.白盒測試
白盒測試也稱為結構測試或邏輯驅動測試,前提是知道産品内部工作過程,可通過測試來檢測産品内部動作是否按照規格說明書的規定正常進行,按照程式内部的機構測試程式,檢測程式中的每條通路是否都能夠按預定要求正确工作,而不管産品的功能,主要用于軟體驗證。
4.回歸測試
指軟體系統被修改或擴充(如系統功能增強或更新)後重新進行的測試,是為了保證對軟體所做的修改沒有引入新的錯誤而重複進行的測試。
5.等價類:指某個輸入域的子集合,在該子集合中,各個輸入資料對于揭露程式中的錯誤都是等效的。
十一、 簡答題(3×5=15分)
1. 所謂的測試用例就是将軟體測試的行為活動,做一個科學化的組織歸納。
使用測試用例的好處主要展現在以下幾個方面:
• 在開始實施測試之前設計好測試用例,可以避免盲目測試并提高測試效率。
• 測試用例的使用令軟體測試的實施重點突出、目的明确。
• 在軟體版本更新後隻需修正少部分的測試用例便可展開測試工作,降低工作強度、縮短項目周期。
• 功能子產品的通用化和複用化使軟體易于開發,而相對于功能子產品的測試用例的通用化和複用化則會使軟體測試易于開展,并随着測試用例的不斷精化其效率也不斷攀升
2. 自頂向下增量式測試的主要優點在于它可以自然地做到逐漸求精,一開始便能讓測試者看到系統的架構。它的主要缺點是需要提供被調用模拟子子產品,被調用模拟子子產品可能不能反映真實情況,是以測試有可能不充分。
自底向上測試的優點在于,由于驅動子產品模拟了所有調用參數,即使資料流并未構成有向的非環狀圖,生成測試資料也沒有困難。它的缺點在于,直到最後一個子產品被加入進去之後才能看到整個程式(系統)的架構。
3. 表面上這兩項技術很相似,因為它們都包括檢視代碼、運作程式和處理軟體缺陷的過程,但是它們的目标不同:單元測試是為了發現軟體缺陷,而代碼調試的目标是修複軟體缺陷。在分離和查找軟體缺陷原因時這兩個過程發生交叉。
十二、 綜合題(1×20=20分)
圖中共有4條路徑:P1(ace)、P2(abd)、P3(abe)、P4(acd)。
1.P1正好滿足語句覆寫的條件。可以設計如下的輸入資料:
A=2,B=0,x=4
2.測試用例如果能夠測試路徑P1(ace)和P2(abd),就可以滿足判定覆寫要求。可以設計如下兩組輸入資料:
A=2,B=0,x=4
A=1,B=1,x=1
3.條件:A>1,B=0,A=2,x>1。需要有足夠的測試用例使得上述四個條件都能有滿足和不滿足的情況。以下這兩組輸入資料能滿足這些要求:
A=2,B=0,x=4
A=1,B=1,x=1
4.判定/條件覆寫
A=2,B=0,x=4
A=1,B=1,x=1
5.可能的條件組合:
(1)A>1,B=0(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,x>1
(6)A=2,x≤1(7)A≠2,x>1(8)A≠2,x≤1
相應的輸入資料:
A=2,B=0,x=4 滿足(1)和(5)
A=2,B=1,x=1 滿足(2)和(6)
A=1,B=0,x=2 滿足(3)和(7)
A=1,B=1,x=1 滿足(4)和(8)
不定項選擇題(每題2 分,共20分)請将答案填入題後括号中。
1.軟體驗收測試的合格通過準則是:( ABCD )
A. 軟體需求分析說明書中定義的所有功能已全部實作,性能名額全部達到要求。
B. 所有測試項沒有殘餘一級、二級和三級錯誤。
C. 立項審批表、需求分析文檔、設計文檔和編碼實作一緻。
D. 驗收測試工件齊全。
2.軟體測試計劃評審會需要哪些人員參加?( ABCD )
A.項目經理 B.SQA 負責人 C.配置負責人 D.測試組
3.下列關于alpha 測試的描述中正确的是:( AD )
A.alpha 測試需要使用者代表參加
B.alpha 測試不需要使用者代表參加
C.alpha 測試是系統測試的一種
D.alpha 測試是驗收測試的一種
4.測試設計員的職責有:( BC )
A.制定測試計劃B.設計測試用例 C.設計測試過程、腳本 D.評估測試活動
5.下面哪些屬于動态分析( CD )
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、 回歸測試
二、填空題:共3小題10個空格,每個空格2分,滿分20分;請将答案填入指定的空白處。
21. 通過畫因果圖來寫測試用例的步驟為___________________、___________________、___________________、把因果圖轉換為狀态圖和___________________及共五個步驟。
22. 軟體測試主要分為___________________、___________________、___________________、___________________四類測試。
23. 軟體缺陷産生的原因包括___________________、設計、___________________以及其他原因。
三、判斷題:共10小題,每小題1分,滿分10分;請将答案以“√”、“×”形式填入題後括号中。
1.軟體測試的目的是盡可能多的找出軟體的缺陷。( )
2.Beta 測試是驗收測試的一種。( )
3.驗收測試是由最終使用者來實施的。( )
4.項目立項前測試人員不需要送出任何工件。( )
5.單元測試能發現約80%的軟體缺陷。( )
6.代碼評審是檢查源代碼是否達到子產品設計的要求。( )
7.自底向上內建需要測試員編寫驅動程式。( )
8.負載測試是驗證要檢驗的系統的能力最高能達到什麼程度。( )
9.測試人員要堅持原則,缺陷未修複完堅決不予通過。( )
10.代碼評審員一般由測試員擔任。( )
四、名詞解釋;共5小題,每小題3分,滿分15分
1.α測試2. β測試3.驅動子產品4. 樁子產品5. 靜态測試
五、簡答題:共3小題,每小題5分,滿分15分。
1. 階段評審與同行評審的差別。
2 . 什麼是軟體測試。
3 . 簡述內建測試的過程。
六、綜合題:共1小題,每小題20分,滿分20分。
在三角形計算中,要求三角型的三個邊長:A、B 和C。當三邊不可能構成三角形時提示錯誤,可構成三角形時計算三角形周長。若是等腰三角形列印“等腰三角形”,若是等邊三角形,則提示“等邊三角形”。給出程式僞代碼、控制流程圖、找出基本測試路徑。
軟體測試技術(C卷)答案及評分标準
十三、 單選題(10×2=20分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | ABCD | ABCD | AD | BC | CD | ABC | ABC | D | ABCD | D |
十四、 填空題(20×1=20分)
1. 分析程式規格說明的描述中,哪些是原因,哪些是結果 、分析程式規格說明的描述中語義的内容,并将其表示成連接配接各個原因與各個結果的因果圖、在因果圖上使用若幹個特殊的符号标明特定的限制條件、把判定表中每一清單示的情況寫成測試用例
2. 單元測試、內建測試、系統測試、驗收測試
3. 需求、編碼
十五、 判斷題(10×1=10分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | √ | √ | × | √ | √ | × | √ | × | × | × |
十六、 名詞解釋(5×3=15分)
1.α測試
有時也稱為室内測試,是由一個使用者在開發環境下進行的測試,也可以是開發機構内部的使用者在模拟實際操作環境下進行的測試。
2. β測試
是由軟體的多個使用者在一個或多個使用者的實際使用環境下進行的測試。
3.驅動子產品
驅動子產品就是用來代替主子產品,用它來調用子子產品
4. 樁子產品
內建測試前要為被測子產品編制一些模拟其下級子產品功能的“替身”子產品,以代替被測子產品的接口,接受或傳遞被測子產品的資料,這些專供測試用的“假”子產品稱為被測子產品的樁子產品。
5. 靜态測試
就是不執行程式的測試,包括代碼走查,編碼規則檢查,品質評審,設計評審等。
十七、 簡答題(3×5=15分)
1.差別階段評審的與同行評審
同行評審目的:發現小規模工作産品的錯誤,隻要是找錯誤;
階段評審目的:評審子產品 階段作品的正确性 可行性 及完整性
同行評審人數:3-7人 人員必須經過同行評審會議的教育訓練,由SQA指導
階段評審人數:5人左右 評審人必須是專家 具有系統評審資格
同行評審内容:内容小 一般文檔 < 40頁, 代碼 < 500行
階段評審内容: 内容多,主要看重點
同行評審時間:一小部分工作産品完成
階段評審時間: 通常是設定在關鍵路徑的時間點上。
2.什麼是軟體測試
最簡單的說:為了發現程式中的錯誤而執行程式的過程
3簡述內建測試的過程
系統內建測試主要包括以下過程:
1. 建構的确認過程。
2. 更新檔的确認過程。
3. 系統內建測試測試組送出過程。
4. 測試用例設計過程。
5. 測試代碼編寫過程。
6. Bug的報告過程。
7. 每周/每兩周的建構過程。
8. 點對點的測試過程。
9. 組内教育訓練過程。
十八、 綜合題(1×20=20分)
1. Program triangle2
2. Dim a,b,c As Integer
3. Dim IsATriangle As Boolean
4. Output(“Enter 3 integers which are sides of a triangle”)
5. Input(a,b,c)
6. Output(“Side A is ”,a)
7. Output(“Side B is ”,b)
8. Output(“Side C is ”,c)
9. If (a<b+c) AND(b<a+c)AND(c<a+b)
10. Then IsATriangle =True
11. Else IsATriangle =False
12. EndIf
13. If IsATrangle
14. Then if(a=b)AND (b=c)
15. Then Output(“Equilateral”)
16. Else If(a<>b)AND(a<>c)AND(b<>c)
17. Then Output(“Scalence”)
18. Else Output(“Isosecles”)
19. EndIf
20. EndIf
21.Else Output(“NOT a Triangle”)
22.EndIf
23.End triangle2
圈複雜度是 5。
基本路徑 (略)。
選擇題(每題2 分,共20分)請将答案填入題後括号中。
1.從供選擇的答案中選出應填入下列( )中的字句。
軟體測試的目的是( A )。為了提高測試的效率,應該( B )。使用白盒測試方法時,确定測試資料應根據( C )和指定的覆寫标準。與設計測試資料無關的文檔是( D )。
軟體的內建測試工作最好由( E )承擔,以提高內建測試的效果。
供選擇的答案:
A. ① 評價軟體的品質 ② 發現軟體的錯誤
③ 找出軟體中的所有錯誤 ④ 證明軟體是正确的
B. ① 随機地選取測試資料
② 取一切可能的輸入資料作為測試資料
③ 在完成編碼以後制定軟體的測試計劃
④ 選擇發現錯誤的可能性大的資料作為測試資料
C. ① 程式的内部邏輯 ② 程式的複雜程度
③ 使用說明書 ④ 程式的功能
D. ① 該軟體的設計人員 ② 程式的複雜程度
③ 源程式 ④ 項目開發計劃
E. ① 該軟體的設計人員 ② 該軟體開發組的負責人
③ 該軟體的程式設計人員 ④ 不屬于該軟體開發組的軟體設計人員
2.請從供選擇的答案中選出應填入下列( )中的字句。
程式的三種基本控制結構是( A )。它們的共同點是( B )。結構化程式設計的一種基本方法是( C )。軟體測試的目的是( D )。軟體調試的目的是( E )。
供選擇的答案:
A. ① 過程,子程式,分程式 ② 順序,條件,循環
③ 遞歸,堆棧,隊列 ④ 調用,傳回,轉移
B. ① 不能嵌套使用 ② 隻能用來寫簡單的程式
③ 已經用硬體實作 ④ 隻有一個入口和一個出口
C. ① 篩選法 ② 遞歸法 ③ 歸納法 ④ 逐漸求精法
D. ① 證明程式中沒有錯誤 ② 發現程式中的錯誤
③ 測量程式的動态特性 ④ 檢查程式中的文法錯誤
E. ① 找出錯誤所在并改正之 ② 排除存在錯誤的可能性
③ 對錯誤性質進行分類 ④ 統計出錯的次數
3.從下列關于軟體測試的叙述中,選出5條正确的叙述。
(1) 用黑盒法測試時,測試用例是根據程式内部邏輯設計的。
(2) 盡量用公共過程或子程式去代替重複的代碼段。
(3) 測試是為了驗證該軟體已正确地實作了使用者的要求。
(4) 對于連鎖型分支結構,若有n個判定語句,則有2n條路徑。
(5) 盡量采用複合的條件測試,以避免嵌套的分支結構。
(6) GOTO語句概念簡單,使用友善,在某些情況下,保留GOTO語句反能使寫出的程式更加簡潔。
(7) 發現錯誤多的程式子產品,殘留在子產品中的錯誤也多。
(8) 黑盒測試方法中最有效的是因果圖法。
(9) 在做程式的單元測試時,樁(存根)子產品比驅動子產品容易編寫。
(10) 程式效率的提高主要應通過選擇高效的算法來實作。
4.從供選擇的答案中選出同下列關于軟體測試的各條叙述關系最密切的字句。
A.對可靠性要求很高的軟體,例如作業系統,由第三者對源代碼進行逐行檢查。
B.已有的軟體被改版時,由于受到變更的影響,改版前正常的功能可能發生異常,性能也可能下降。是以,對變更的軟體進行測試是必要的。
C.在意識到被測試子產品的内部結構或算法的情況下進行測試。
D.為了确認使用者的需求,先做出系統的主要部分,送出給使用者試用。
E.在測試具有層次結構的大型軟體時,有一種方法是從上層子產品開始,由上到下進行測試。此時,有必要用一些子產品替代尚未測試過的下層子產品。
供選擇的答案:
A~E: ① 仿真器 ② 代碼審查 ③ 模拟器 ④ 樁 ⑤ 驅動器
⑥ 域測試 ⑦ 黑盒測試 ⑧ 原型 ⑨ 白盒測試 ⑩ 退化測試
二、填空題:共4小題10個空格,每個空格2分,滿分20分;請将答案填入指定的空白處。
24. 對面向過程的系統采用的內建政策有___________________、___________________兩種。
25. 軟體測試主要分為_____、__________、___________________、___________________四類測試。
26. 黑盒測試用例設計方法包括______、_____________以及___________________,錯誤推測法等。
27. 測試工作就是進行輸入、接受輸出、檢驗結果,不深入代碼細節,這樣的測試方法稱為_______,
三、判斷題:共10小題,每小題1分,滿分10分;請将答案以“√”、“×”形式填入題後括号中。
1. 好的測試員不懈追求完美。( )
2. 測試程式僅僅按預期方式運作就行了。( )
3. 不存在品質很高但可靠性很差的産品。( )
4. 在沒有産品說明書和需求文檔的條件下可以進行動态黑盒測試。( )
5. 靜态白盒測試可以找出遺漏之處和問題。( )
6. 測試錯誤提示資訊不屬于文檔測試範圍。( )
7. 單元測試能發現約80%的軟體缺陷。( )
8. 代碼評審是檢查源代碼是否達到子產品設計的要求。( )
9. 自頂向下內建需要測試員編寫驅動程式。( )
10. 總是首先設計黑盒測試用例。( )
四、名詞解釋;共5小題,每小題3分,滿分15分
1.驗收測試2.失敗測試3.驅動子產品4. 樁子產品5. 白盒測試
五、簡答題:共3小題,每小題5分,滿分15分。
1. 怎樣做好文檔測試?
2. 什麼是軟體測試?軟體測試與調試有什麼差別?
3. 軟體測試包括哪些類型的測試?這些測試之間的差別是什麼?
六、:綜合題:共1小題,每小題20分,滿分20分。
針對以下問題:某一種8位計算機,其十六進制常數的定義是以0x或0X開頭的十六進制整數,其取值範圍為-7f~7f(不區分大小寫字母),如0x13、0x6A、-0x3c。請采用等價類劃分的方法設計測試用例。
軟體測試技術(D卷)答案及評分标準
十九、 單選題(20×1=20分)
題号 | 1A | 1B | 1C | 1D | 1E | 2A | 2B | 2C | 2D | 2E |
答案 | ② | ④ | ① | ④ | ④ | ② | ④ | ④ | ② | ① |
題号 | 3 | 3 | 3 | 3 | 3 | 4A | 4B | 4C | 4D | 4E |
答案 | (4) | (5) | (6) | (7) | (10) | ② | ⑩ | ⑨ | ⑧ | ④ |
二十、 填空題(20×1=20分)
1. 自頂向下內建、自底向上內建
2. 單元測試、內建測試、系統測試、驗收測試
3. 等價類劃分、邊界值分析、因果圖
4. 黑盒測試
二十一、 判斷題(10×1=10分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | × | × | √ | √ | √ | × | √ | √ | × | √ |
二十二、 名詞解釋(5×3=15分)
1.驗收測試
是軟體産品完成了功能測試和系統測試之後,在産品釋出之前所進行的軟體測試活動。
2.失敗測試
純粹為了破壞軟體而設計和執行的測試案例,被稱為失敗測試。
3.驅動子產品
驅動子產品就是用來代替主子產品,用它來調用子子產品
4. 樁子產品
內建測試前要為被測子產品編制一些模拟其下級子產品功能的“替身”子產品,以代替被測子產品的接口,接受或傳遞被測子產品的資料,這些專供測試用的“假”子產品稱為被測子產品的樁子產品。
5.白盒測試
也稱為結構化測試、基于代碼的測試,是一種測試用例設計方法,它從程式的控制結構導出測試用例。
二十三、 簡答題(3×5=15分)
1. 仔細閱讀,跟随每個步驟,檢查每個圖形,嘗試每個示例。
檢查文檔的編寫是否滿足文檔編寫的目的
内容是否齊全,正确
内容是否完善
标記是否正确
2. 軟體測試是為了發現錯誤而執行程式的過程。或者說,軟體測試是根據軟體開發各階段的規格說明和程式的内部結構而精心設計一批測試用例(即輸入資料及其預期的輸出結果),并利用這些測試用例去運作程式,以發現程式錯誤的過程。
軟體測試與調試在目的、技術和方法等方面存在很大的差別,主要表現在如下方面:
(1) 測試是為了發現軟體中存在的錯誤;調試是為了證明軟體開發的正确性。
(2) 測試以已知條件開始,使用預先定義的程式,且有預知的結果,不可預見的僅是程式是否通過測試;調試一般是以不可知的内部條件開始,除統計性調試外,結果是不可預見的。
(3) 測試是有計劃的,需要進行測試設計;調試是不受時間限制的。
(4) 測試經曆發現錯誤、改正錯誤、重新測試的過程;調試是一個推理的過程。
(5) 測試的執行是有規程的;調試的執行往往要求開發人員進行必要推理以至知覺的"飛躍"。
(6) 測試經常是由獨立的測試組在不了解軟體設計的條件下完成的;調試必須由了解詳細設計的開發人員完成。
(7) 大多數測試的執行和設計可以由工具支援;調式時,開發人員能利用的工具主要是調試器。
3.軟體測試包括單元測試、內建測試、确認測試和系統測試等。單元測試集中于單個子產品的功能和結構的檢驗;內建測試集中于子產品組合的功能和軟體結構檢驗;确認測試主要檢查軟體是否符合合同要求,包括需求規格說明、設計規格說明和使用者手冊等;系統測試集中檢驗系統所有元素之間協作是否合适,整個系統的性能和功能是否達到。
六.綜合題(1×20=20分)
輸入條件 | 有效等價類 | 無效等價類 | ||
開頭字元 | 由0x或0X開頭 | (1) | 以字母開頭 以非0數字開頭 | (2)(3) |
數值字元 | 數字或A—F的字母 | (4) | A—F以外的字母 | (5) |
數值字元個數 | ≥1個 | (6) | 0個 | (7) |
數值 | ≥-7f且≤7f | (8) | <-7f >7f | (9)(10) |
用例1:0x7F, 覆寫等價類(1)(4)(6)(8)
用例2:-0Xb, 覆寫等價類(1)(4)(6)(8)
用例3:0X0, 覆寫等價類(1)(4)(6)(8)
用例4:0x, 覆寫等價類(1)(7)
用例5:A7, 覆寫等價類(2)
用例6:-1A, 覆寫等價類(3)
用例7:0X8h, 覆寫等價類(1)(5)
用例8:0x80, 覆寫等價類(1)(4)(10)
用例9:-0XaB, 覆寫等價類(1)(4)(9)
電子科技大學二零零八至二零零八學年第二學期
軟體測試技術(B卷)課程考試題(120分鐘) 閉卷 考試時間: 2008
一 | 二 | 三 | 四 | 總分 | 評卷教師 |
說明:本試卷共四大題,試卷滿分100分。
注意:請将所有答案填寫在最後一頁答題卡上。
一、 單項選擇題:共20小題,每小題2 分,滿分40分。
1.軟體測試的目的:( c )
A. 避免軟體開發中出現的錯誤
B. 發現軟體開發中出現的錯誤
C. 盡可能發現并排除軟體中潛藏的錯誤,提高軟體的可靠性
D. 修改軟體中出現的錯誤
2、軟體測試是采用( a )執行軟體的活動。
A.測試用例
B.輸入資料
C.測試環境
D.輸入條件
3、導緻軟體缺陷的最大原因是:( a )
A.軟體需求說明書
B.設計方案
C.編碼
D.維護
4、在下列描述中,關于一個軟體缺陷狀态完整變化的錯誤描述是( d )
A、打開——修複——關閉
B、打開——關閉
C、打開——保留
D、激活——修複——重新打開
5、在下列描述中,關于測試與調試的說法錯誤的是( d )
A、測試是顯示錯誤的行為;而調試是推理的過程;
B、測試顯示開發人員的錯誤。調試是開發人員為自己辯護;
C、測試能預期和可控。調試需要想象、經驗和思考;
D、測試必須在詳細設計已經完成的情況下才能開始;沒有詳細設計的資訊調試不可能進行。
6、某次程式調試沒有出現預計的結果,下列( b )不可能是導緻出錯的原因。
A.變量沒有初始化 B.編寫的語句書寫格式不規範
C.循環控制出錯 D.代碼輸入有誤
7、軟體缺陷修複的代價最高的階段為( a )
A、釋出階段 B、需求階段
C、設計階段 D、編碼階段
8、不屬于邏輯覆寫方法的是( d )。
A.組合覆寫 B.判定覆寫
C.條件覆寫 D.接口覆寫
9、( d )是選擇若幹個測試用例,運作被測程式,使得程式中的每個可執行語句至少執行一次。
A、條件覆寫 B、組合覆寫
C、判定覆寫 D、語句覆寫
10、( a )是設計足夠多的測試用例,使得程式中每個判定包含的每個條件的所有情況(真/假)至少出現一次,并且每個判定本身的判定結果(真/假)也至少出現一次。
A、判定-條件覆寫 B、組合覆寫
C、判定覆寫 D、條件覆寫
11.軟體測試是軟體品質保證的重要手段,下述哪種測試是軟體測試的最基礎環節?( b )
A.功能測試
B.單元測試
C.結構測試
D.驗收測試
12、單元測試的主要任務不包括( b )。
A.出錯處理 B.全局資料結構
C.獨立路徑 D.子產品接口
13、如下圖所示的N-S圖,至少需要( b )個測試用例完成邏輯覆寫。
A.12 B.48
C.27 D.18
14、單元測試中用來模拟實作被測子產品需調用的其他功能子產品的是( b )。
A.驅動子產品 B.樁子產品
C.主要子產品 D.真實的被調用子產品
15、內建測試計劃應該在( b )階段末送出。
A、需求分析 B、概要設計
C、詳細設計 D、單元測試完成
16、下列關于程式效率的描述錯誤的是( c )。
A.提高程式的執行速度可以提高程式的效率
B.降低程式占用的存儲空間可以提高程式的效率
C.源程式的效率與詳細設計階段确定的算法的效率無關
D.好的程式設計可以提高效率
17、下列( b )是對程式流程圖進行簡化後得到的,它可以更加突出的表示程式控制流的結構,且不包含複合條件。
A.DD-路徑圖 B. 控制流圖
C.MM-路徑圖 D. 子產品調用圖
18、自底向上增量式內建測試中,下面( c )描述是正确的。
A.測試由樁子產品控制
B.最上面的子產品最先測試
C.父單元用測試過的子單元測試
D.包含樹的深度優先或廣度優先周遊過程
19、測試後程式中殘存的錯誤數目與該程式中已發現的錯誤數目成( d )。
A.未知 B.反比
C.相等 D.正比
20、針對是否對無效資料進行測試,可以将等價類測試分為(b )
1) 标準(一般)等價類測試
2) 健壯等價類測試
3) 弱等價類測試
4) 強等價類測試
A.3)4) B.1)2)
C.1)3) D.2)4)
二、判斷題:共20小題,每題1分,滿分20分)
1、一個程式中所含有的路徑數與程式的複雜程度有着直接的關系。( ∨ )
2、結構性測試是根據軟體的規格說明來設計測試用例。( x )
3、錯誤推測法是根據輸出對輸入的依賴關系來設計測試用例的。(x )
4、軟體缺陷屬性包括缺陷辨別、缺陷類型、缺陷嚴重程度、缺陷産生可能性、缺陷優先級、缺陷狀态、缺陷起源、缺陷來源、缺陷原因。(∨ )
5、對于一個含有n個變量的程式,采用邊界值健壯性測試方法來測試程式會産生6n+1個測試用例。(∨)
6、資料流測試是主要用作路徑測試的真實性檢查。兩種形式分别為定義/使用測試、基于程式片的測試。(∨ )
7、軟體隻要經過嚴格嚴謹的内部測試之後,可以做到沒有缺陷。(x )
8、測試用例應由測試輸入資料和對應的實際輸出結果這兩部分組成。( x )
9、測試是可以窮盡的。( x )
10、測試自動化是萬能的。( x )
11、軟體缺陷可能會被修複,可能會被保留或者辨別出來。( ∨ )
12、每一個軟體項目都有一個最優的測試量。( ∨ )
13、黑盒測試往往會造成測試用例之間可能存在嚴重的備援和未測試的功能漏洞。(∨ )
14、代碼審查工作屬于靜态測試。( ∨ )
15、軟體測試是一個過程,包含若幹活動,運作軟體進行測試隻是活動之一。(∨ )
16、回歸測試是在軟體修改後再次運作以前為查找錯誤而執行程式曾用過的測試用例. ∨
17、內建測試是為确定軟體系統是否滿足驗收标準以及使客戶決定是否接受而進行的正式測試. ( x )
18、測試按照測試層次可以劃分成為單元測試、內建測試和系統測試。( ∨ )
19、隻要能夠達到100%的邏輯覆寫率,就可以保證程式的正确性。( x )
20、永遠有缺陷類型會在測試的一個層次上被發現,并且能夠在另一個層次上逃避檢測。(∨ )
三、簡答題:共4小題,每題5分,滿分20分。
1、優秀的軟體測試工程師應具備哪些素質?
答:具有探索精神、具有良好的計算機程式設計基礎、故障排除能手、堅持不懈的精神、具有創新精神和超前意識、追求完美、判斷準确、具有整體觀念,對細節敏感、團隊合作精神,溝通能力
2、有二進制函數f(x,y),其中x∈[1,12],y∈[1,31];請寫出該函數采用基本邊界值分析法設計的測試用例。
答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>,
<6,1>, <6,2>, <6,30>, <6,31> }
3、黑盒測試與白盒測試各有哪些優缺點,應該如何結合才能解決漏洞和備援問題?
答:功能性測試具有兩大優點:功能性測試與軟體如何實作無關;測試用例開發可以與實作并行進行,是以可以壓縮總的項目開發時間。缺點:測試用例之間可能存在嚴重的備援,還會有位測試的軟體漏洞。結構性測試局限于已經完成的代碼行為當中,離代碼太近。是以可以結構性測試名額去解決備援和漏洞問題。如果發現同一條程式路徑被多個功能性測試用例周遊,就可以懷疑這種備援不會發生新的缺陷,如果沒有達到一定的DD—路徑覆寫,則可知在功能性測試用力中存在漏洞。是以路徑測試可以提供作為功能性測試交叉檢查的一組名額。
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
}
答:要實作DoWork函數的語句覆寫,隻需設計一個測試用例就可以覆寫程式中的所有可執行語句。
四、綜合題:共2小題,每題10分,滿分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: }
2、場景要求:”……對功率大于50馬力的機器、維修記錄不全或已運作10年以上的機器,應給予優先的維修處理……” 。這裡假定,“維修記錄不全”和“優先維修處理”均已在别處有更嚴格的定義 。請建立決策表。
(1) 确定規則的個數。
(2) 列出所有的條件樁和動作樁。
(3) 填入條件項。
(4) 填入動作項,得到初始決策表。
(5) 簡化決策表,合并相似規則。
軟體測試技術(B卷)答案及評分标準
一、 單選題(20×2=40分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | C | A | A | D | D | B | A | D | D | A |
題号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | B | B | B | B | B | C | B | C | D | B |
二、 判斷題(20×1=20分)
題号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | √ | × | × | √ | √ | √ | × | × | × | × |
題号 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | √ | √ | √ | √ | √ | √ | × | √ | × | √ |
三、 簡答題(4×5=20分)
1.答:具有探索精神、具有良好的計算機程式設計基礎、故障排除能手、堅持不懈的精神、具有創新精神和超前意識、追求完美、判斷準确、具有整體觀念,對細節敏感、團隊合作精神,溝通能力。
1. 具有良好的計算機程式設計基礎,有一定的軟體開發經驗;有逆向思維的能力
2. 善于同軟體開發人員溝通;善于同上司溝通
3. 掌握一些自動化測試工具;善于學習的能力
4. 提高自己的表達能力 ; 了解業務知識
5. 具有探索精神;故障排除能手
6. 堅持不懈的精神;具有創新精神和超前意識
7. 追求完美;判斷準确;具有整體觀念,對細節敏感;團隊合作精神
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 }
四、 綜合題(每題10分,共計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
測試用例
用例号 | 路徑 | 輸入資料 A B X | 預期輸出 X |
TC1 | 1→2→3→4→5→6→7 | 3 0 6 | 3 |
TC2 | 1→4→5→6→7 | 0 1 3 | 4 |
TC3 | 1→2→4→6→7 | 2 1 1 | 2 |
TC4 | 1→2→4→5→7 | 3 1 0 | |
TC5 | 1→2→3→4→5→7 | 3 0 3 | 1 |
2.解答:
①确定規則的個數:這裡有3個條件,每個條件有兩個取值,故應有2*2*2=8種規則。
②列出所有的條件樁和動作樁:
③填入條件項。可從最後1行條件項開始,逐行向上填滿。
如第三行是: Y N Y N Y N Y N
第二行是: Y Y N N Y Y N N
等等。