軟件工程理論與實踐 (呂云翔) 第十三章 軟件測試方法與過程課后習題及其答案解析

第十三章 軟件測試方法與過程

1.判斷題

(1)白盒測試無須考慮模塊內部的執行過程和程序結構,只需了解模塊的功能即可。(×)

解析:白盒測試需要考慮模塊內部的執行過程和程序結構,以便設計測試用例和覆蓋代碼路徑。

(2)白盒測試是結構測試,主要以程序的內部邏輯為基礎設計測試用例。(√)
(3)單元測試通常應該先進行“人工走查”,再以白盒法為主,輔以黑盒法進行動態測試(×)

解析:單元測試通常應該先進行“人工走查”來確保代碼質量,然后以白盒測試為主,輔以黑盒測試進行動態測試。

(4)白盒測試法是一種靜態測試方法,主要用于模塊測試。(×)

解析:白盒測試法是一種動態測試方法,通過執行代碼路徑來檢查程序的正確性。

(5)在等價分類法中,為了提高測試效率,一個測試用例可以覆蓋多個無效等價類。(×)

解析:等價類劃分法中,每個測試用例應該只覆蓋一個等價類,以確保每個等價類都得到適當的測試。

(6)功能測試是系統測試的主要內容,檢查系統的功能和性能是否與需求規格說明相同。(×)

解析:

功能測試是系統測試的一部分,但并不是系統測試的主要內容。系統測試還包括其他類型的測試,如性能測試、安全測試等,以驗證系統的功能、性能和符合性等方面。

2.選擇題

(1)白盒法又稱為邏輯覆蓋法,主要用于(D)
A.確認測試
B.系統測試
C.α測試
D.單元測試
(2)以下哪種測試方法不屬于白盒測試技術(B)。
A.基本路徑測試
B.邊界值分析測試
C.循環覆蓋測試
D.條件測試
(3)白盒測試法是根據程序的(B)來設計測試用例的方法。
A.輸出數據
B.內部邏輯
C.功能
D.輸數據
(4)軟件的集成測試工作最好由(C)承擔,以提高集成測試的效果。
A.該軟件的設計人員
B.該軟件開發組的負責人員
D.該軟件的編程人員
C.不屬于該軟件開發組的軟件設計人員
(5)黑盒測試是從(B)觀點的測試,白盒測試是從(B)觀點的測試。
A.開發人員、管理人員
B.用戶、管理人員
D.開發人員、用戶
C.用戶、開發人員

(6)使用白盒測試方法時確定測試數據應根據(B)和指定的覆蓋標準
B.程序的復雜程度
A.程序的內部邏輯
D.程序的功能
C.程序的難易程度

(7)黑盒測試方法根據(B)設計測試用例。
A.程序的調用規則
B.軟件要完成的功能
C.模塊間的邏輯關系
D.程序的數據結構
(8)在軟件測試中,邏輯覆蓋標準主要用于(A).
D.回歸測試方法
A.白盒測試方法
法B.黑盒測試方法
C.灰盒測試方法
(9)集成測試的主要方法有兩個,一個是(B)一個是(B)。
B.等價類劃分方法、邊緣值分析方法
A.白盒測試方法、黑盒測試方法
D.因果圖方法、錯誤推測方法
C.漸增式測試方法、非漸增式測試方法
(10)單元測試主要針對模塊的幾個基本特征進行測試,該階段不能完成的測試是(A)。
B.局部數據結構
A.系統功能
C.重要的執行路徑
D.錯誤處理

3.簡答題

(1)什么是黑盒測試?有哪些常用的黑盒測試方法?

? 在黑盒測試里,測試人員把被測試的軟件系統看成是一個黑盒子,并不需要關心盒子的內部結構和內部特性,而只關注軟件產品的輸人數據和輸出結果,從而檢查軟件產品是否符合它的功能說明

測試方法:

  • 等價類劃分法
  • 邊界值分析法
  • 錯誤推測法
  • 因果圖法
  • 決策表法
  • 場景法

(2)什么是白盒測試?有哪些常用的白盒測試方法?

? 白盒測試關注軟件產品的內部細節和邏輯結構,即把被測的程序看成是一個透明的盒子.

測試方法:

  • 代碼檢查法
  • 靜態結構分析法
  • 程序插樁技術
  • 邏輯覆蓋法
  • 基本路徑法

(3)請對比白盒測試和黑盒測試。

? 白盒測試和黑盒測試是軟件測試中的兩種方法。通常在白盒測試中交叉著黑盒測試,黑盒測試中也交叉著白盒測試。

白盒測試:

  • 關注系統的內部邏輯和代碼。
  • 基于對系統內部的了解來設計測試用例,覆蓋代碼的各個路徑和邏輯分支。
  • 需要測試人員具備編程和軟件開發知識。

黑盒測試:

  • 關注系統的外部行為和功能。
  • 基于對系統功能和接口的了解來設計測試用例,驗證系統的輸出和行為是否符合預期。
  • 不需要測試人員了解系統的內部實現。

? 白盒測試側重于驗證系統的正確性和缺陷檢測,黑盒測試側重于驗證系統的功能和需求是否滿足。在實際測試中,通常會結合使用這兩種方法。

(4)請簡述靜態測試和動態測試的區別。

靜態測試和動態測試是軟件測試中的兩種方法。

靜態測試:

  • 在代碼執行之前進行分析和評審。
  • 針對文檔、源代碼等進行測試。
  • 目的是發現潛在問題和提高軟件質量。
  • 示例技術包括代碼審查、文檔審查、靜態分析工具等。

動態測試:

  • 在代碼執行期間進行驗證。
  • 針對軟件的功能、性能、安全等進行測試。
  • 目的是檢測錯誤、評估系統性能。
  • 示例技術包括單元測試、集成測試、性能測試、安全測試等。

靜態測試側重于分析和評審,動態測試側重于實際運行和驗證。通常會結合使用這兩種方法進行全面的軟件測試。

(5)單元測試、集成測試和系統測試各自的主要目標是什么?它們之間有什么不同?相互之間有什么關系?

單元測試目標:驗證最小可測試單元的功能。
集成測試目標:驗證多個單元之間的交互和協作。
系統測試目標:驗證整個軟件系統的完整功能、性能和一致性。
它們之間的關系:單元測試是構建塊,為集成測試提供基礎;集成測試為系統測試提供可靠的功能子集。

(6)什么是集成測試?非增量測試與增量測試有什么區別?增量測試如何組裝模塊?

? 集成測試是多個單元的聚合,許多單元組合成模塊,而這些模塊又聚合成程序的更大部分。集成測試是單元測試的邏輯擴展,它的最簡單形式是將兩個已經測試通過的單元組合成一個構件,并且測試它們之間的接口。集成測試是在單元測試的基礎上,測試將所有的軟件單元按照概要設計規則的要求組裝成模塊、子系統或系統的過程中,各部分功能是否達到或實現相應技術指標及要求的活動。

? 非增量集成是先分別測試每個模塊,再將所有模塊按照設計要求放在一起結合成所要的程序;增量集成是將下一個要測試的模塊同已經測試好的那些模塊結合起來進行測試,測試完后再將下一個應測試的模塊結合起來進行測試。

在增量測試中,可以采用自頂向下或自底向上的方法來組裝模塊。

(7)什么是調試?什么是測試?二者有何區別?

調試(Debugging)是通過修復程序中的錯誤和問題,確保程序按預期運行。

測試(Testing)是通過執行一系列操作和輸入,評估系統的行為、功能和性能。

區別:

  • 目標:調試解決錯誤和問題,使程序正確運行;測試評估系統行為和符合性。
  • 方法:調試追蹤代碼、檢查變量狀態;測試設計和執行測試用例、比較結果。
  • 階段:調試發生在開發過程中;測試可以在不同階段進行。
  • 關注點:調試關注程序內部錯誤;測試關注系統行為、功能和性能。

(8)軟件測試應該劃分為幾個階段?各個階段應重點測試的內容是什么?

軟件測試通常可以劃分為以下幾個階段,每個階段都有其特定的重點和目標:

  1. 單元測試(Unit Testing):
    • 目標:測試最小的可測試單元,例如函數、方法或模塊。
    • 重點內容:驗證單元的功能和邏輯正確性,檢查邊界條件、異常處理和各種路徑覆蓋。
  2. 集成測試(Integration Testing):
    • 目標:測試多個模塊或組件之間的集成。
    • 重點內容:驗證模塊之間的接口和交互是否正確,檢查數據傳遞、通信和協作。
  3. 系統測試(System Testing):
    • 目標:測試整個軟件系統的功能、性能和可靠性。
    • 重點內容:驗證系統的功能是否符合需求規格,檢查系統的完整性、兼容性和可用性。
  4. 驗收測試(Acceptance Testing):
    • 目標:由最終用戶或客戶進行的測試,確認系統是否滿足預期需求。
    • 重點內容:驗證系統是否符合用戶的期望和需求,檢查系統是否可交付和可接受。
4.應用題

(1)某程序功能說明書指出,該程序的輸入數據為每個學生的學號。其中,學號由以下
三個部分構成:
①人學年份:4位數字(1900~2999)之間的數字。
②專業編碼:0或1開頭的4位數字。
③序號:2位數字。
試用等價類劃分法設計測試用例。

使用等價類劃分法,我們可以將輸入數據劃分為有效等價類和無效等價類,以設計測試用例。根據給定的要求,我們可以進行如下劃分:

有效等價類:

  1. 人學年份:4位數字(1900~2999)之間的數字。
  2. 專業編碼:以0或1開頭的4位數字。
  3. 序號:2位數字。

無效等價類:

  1. 人學年份:小于1900的數字、大于2999的數字、非數字字符。
  2. 專業編碼:不以0或1開頭的4位數字、非數字字符。
  3. 序號:非2位數字、非數字字符。

根據上述劃分,我們可以選擇以下測試用例:

有效等價類測試用例:

  1. 輸入:1998, 0123, 05
    預期結果:有效輸入,符合要求。
  2. 輸入:2025, 1123, 99
    預期結果:有效輸入,符合要求。

無效等價類測試用例:

  1. 輸入:1800, 0123, 05
    預期結果:無效輸入,人學年份不在有效范圍內。
  2. 輸入:3050, 0123, 05
    預期結果:無效輸入,人學年份不在有效范圍內。
  3. 輸入:2025, 6123, 05
    預期結果:無效輸入,專業編碼不符合要求。
  4. 輸入:2025, 023, 05
    預期結果:無效輸入,專業編碼不符合要求。
  5. 輸入:2025, 0123, 5
    預期結果:無效輸入,序號不是2位數字。
  6. 輸入:2025, 0123, 059
    預期結果:無效輸入,序號不是2位數字。

通過設計這些測試用例,我們可以覆蓋各個等價類,并驗證程序對于不同等價類的處理是否正確。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160568.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟文推廣有什么作用?媒介盒子分享

數字時代,品牌方以往的營銷打法可能需要應時而變,傳統的廣告模式很難將品牌推廣出去,原因就在于傳統廣告的成本高昂并且針對性較弱,而軟文推廣能夠通過較低的成本將產品或品牌信息送到消費者面前,今天媒介盒子就來分享…

58同城算法工程師一面&二面 面試題

來源:投稿 作者:LSC 編輯:學姐 一面 40min 1.Gbdt和xgboost的區別 XGBoost是對GBDT的改進和擴展,它提供了更高的效率、更好的性能、正則化技術、內置特征選擇等功能。 (1)正則化: GBDT使用基本的樹模型,并在每一輪…

vue3.0 + qiankun遇到的問題

進入子應用再回到主應用切換動態路由時 TypeError: Cannot read properties of undefined (reading ‘appWrapperGetter’) application ‘plat’ died in status UNMOUNTING: instance.$destroy is not a function 第一個報錯是因為子應用切走時沒有銷毀 vue的實例&#xff0…

常用RFC規范匯總

官網:https://www.rfc-editor.org/ The RFC Series (ISSN 2070-1721) contains technical and organizational documents about the Internet, including the specifications and policy documents produced by five streams: the Internet Engineering Task Force …

TCP/IP

分層模型 TCP 傳輸控制協議 UDP 用戶數據包協議 四層 應用層 負責發送/接收消息 傳輸層 負責拆分和組裝 .期間會有編號 網絡層 TCP/UDP 屬于網絡層, 不會判斷和處理編號 數據鏈路層 以太網 ,網絡設備 TCP 連接 TCP連接需要端口,進行通信 Java 通過Socket 接收消息 發送 …

基于SpringBoot+Vue的體檢預約管理系統

基于SpringBootVue的體檢預約管理系統的設計與實現~ 開發語言:Java數據庫:MySQL技術:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系統展示 主頁 管理員界面 用戶界面 摘要 體檢預約管理系統是一種基于Spring Boot…

Vue3常用操作

一、Vue3項目構建 1、安裝最新版本vue npm create vuelatest 2、選擇需要的配置 3、進入項目 cd 項目名稱 4、下載依賴 npm install 5、啟動項目 npm run dev

chatGLM3微調

文章目錄 一、問答數據集生成器使用設置問題啟動使用產出效果 二、進行微調第一步:下載模型第二步:項目準備2.1 下載項目2.2 然后使用 pip 安裝依賴2.3 開始 第三步進行微調3.1安裝相關依賴3.2準備數據集,并且上傳3.3對數據集進行預處理3.4 進…

如何使用技術SEO來優化評論

你在網上購買嗎?我的意思是,在當今時代,誰不這樣做?作為買家,無論您想購買什么,您都了解全面和高質量評論的價值。這是您在決定是否購買產品時考慮的重要因素。 這就是為什么許多人在網上購物之前使用評論…

移動端click事件、touch事件、tap事件的區別

在移動端,有三種常見的事件類型,click事件、touch事件、tap事件。它們的區別如下: click事件:click事件是在用戶點擊屏幕的時候觸發,如果是移動設備,則會在用戶點擊屏幕的同時觸發touch事件。但是&#xff…

【開源】基于Vue和SpringBoot的康復中心管理系統

項目編號: S 056 ,文末獲取源碼。 \color{red}{項目編號:S056,文末獲取源碼。} 項目編號:S056,文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 普通用戶模塊2.2 護工模塊2.3 管理員…

uni-app中vue3+setup實現下拉刷新、上拉加載更多效果

在小程序或各類app中,下拉刷新和上拉加載更多是極為常見和使用非常頻繁的兩個功能,通過對這兩個功能的合理使用可以極大的方便用戶進行操作。 合理的設計邏輯才能更容易挽留住用戶,因為這些細節性的小功能點就變得極為重要起來。 那么在uni…

基于WEB的停車場管理系統的設計和實現【附源碼】

基于WEB的停車場管理系統的設計和實現 摘 要 隨著現代社會的快速發展,人民生活水平快速提高,汽車的數量飛速增加,與此同時停車問題也越來越受到人們的關注,為了實現對停車場進行有效的管理,結合一些停車場的模式和現狀…

游戲被攻擊了怎么辦

隨著網絡技術和網絡應用的發展,網絡安全問題顯得越來越重要,在創造一個和諧共贏的互聯網生態環境的路途中總是會遇到各種各樣的問題。最常見的當屬于DDOS攻擊(Distributed Denial of Service)即分布式阻斷服務。由于容易實施、難以…

【LeetCode刷題】--40.組合總和II

40.組合總和II 本題詳解&#xff1a;回溯算法 class Solution {public List<List<Integer>> combinationSum2(int[] candidates, int target) {int len candidates.length;List<List<Integer>> res new ArrayList<>();if (len 0) {return re…

深度學習之基于YoloV5車輛和行人目標檢測系統

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介YOLOv5 簡介YOLOv5 特點 車輛和行人目標檢測系統 二、功能三、系統四. 總結 一項目簡介 # 深度學習之基于 YOLOv5 車輛和行人目標檢測系統介紹 深度學習在…

2023 年 亞太賽 APMCM 國際大學生數學建模挑戰賽 |數學建模完整代碼+建模過程全解全析

當大家面臨著復雜的數學建模問題時&#xff0c;你是否曾經感到茫然無措&#xff1f;作為2022年美國大學生數學建模比賽的O獎得主&#xff0c;我為大家提供了一套優秀的解題思路&#xff0c;讓你輕松應對各種難題。 cs數模團隊在亞太賽 APMCM前為大家提供了許多資料的內容呀&…

【西行紀年番】孫悟空對戰陰界王,素衣奄奄一息,巨靈拳霸氣一擊

Hello,小伙伴們&#xff0c;我是拾荒君。 《西行紀年番》第20集已更新。為了救回素衣&#xff0c;孫悟空想盡辦法&#xff0c;最后他拜托沙悟凈幫忙&#xff0c;終于成功把自己傳送到陰界。原來&#xff0c;素衣的魂魄被陰界王藏在了他制造的人偶之中。沙悟凈提醒孫悟空必須在…

8.2 Windows驅動開發:內核解鎖與強刪文件

在某些時候我們的系統中會出現一些無法被正常刪除的文件&#xff0c;如果想要強制刪除則需要在驅動層面對其進行解鎖后才可刪掉&#xff0c;而所謂的解鎖其實就是釋放掉文件描述符&#xff08;句柄表&#xff09;占用&#xff0c;文件解鎖的核心原理是通過調用ObSetHandleAttri…

Axios使用方式

ajax是JQUERY封裝的XMLHttprequest用來發送http請求 Axios簡單點說它就是一個js庫,支持ajax請求,發送axios請求功能更加豐富,豐富在哪不知道 1.npm使用方式 vue項目中 npm install axios 2.cdn方式 <script src"https://unpkg.com/axios/dist/axios.min.js">…