軟件測試復(fù)習(xí)_第1頁
軟件測試復(fù)習(xí)_第2頁
軟件測試復(fù)習(xí)_第3頁
軟件測試復(fù)習(xí)_第4頁
軟件測試復(fù)習(xí)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一、 選擇題1軟件測試的目的是( B )。A)試驗性運行軟件 B)發(fā)現(xiàn)軟件錯誤 C)證明軟件正確 D)找出軟件中全部錯誤2軟件測試中白盒法是通過分析程序的( B )來設(shè)計測試用例的。A)應(yīng)用范圍 B)內(nèi)部邏輯 C)功能 D)輸入數(shù)據(jù)3黑盒法是根據(jù)程序的(C )來設(shè)計測試用例的。A)應(yīng)用范圍 B)內(nèi)部邏輯 C)功能 D)輸入數(shù)據(jù)4為了提高軟件測試的效率,應(yīng)該(D )。A)隨機地選取測試數(shù)據(jù) B)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)C)在完成編碼以后制定軟件的測試計劃 D)選擇發(fā)現(xiàn)錯誤可能性最大的數(shù)據(jù)作為測試用例5與設(shè)計測試用例無關(guān)的文檔是( A )。A)項目開發(fā)計劃 B)需求規(guī)格說明書 C)設(shè)計說明

2、書 D)源程序6測試的關(guān)鍵問題是( B )。A)如何組織軟件評審 B)如何選擇測試用例C)如何驗證程序的正確性 D)如何采用綜合策略7軟件測試用例主要由輸入數(shù)據(jù)和( C )兩部分組成。A)測試計劃 B)測試規(guī)則 C)預(yù)期輸出結(jié)果 D)以往測試記錄分析8成功的測試是指運行測試用例后( B )。A)未發(fā)現(xiàn)程序錯誤 B)發(fā)現(xiàn)了程序錯誤 C)證明程序正確性 D)改正了程序錯誤9下列幾種邏輯覆蓋標準中,查錯能力最強的是( D )。A)語句覆蓋 B)判定覆蓋 C)條件覆蓋 D)條件組合覆蓋10在黑盒測試中,著重檢查輸入條件組合的方法是( D )。A)等價類劃分法 B)邊界值分析法 C)錯誤推測法 D)因果

3、圖法11單元測試主要針對模塊的幾個基本特征進行測試,該階段不能完成的測試是( A )。A)系統(tǒng)功能 B)局部數(shù)據(jù)結(jié)構(gòu) C)重要的執(zhí)行路徑 D)錯誤處理12軟件測試過程中的集成測試主要是為了發(fā)現(xiàn)( B )階段的錯誤。A)需求分析 B)概要設(shè)計 C)詳細設(shè)計 D)編碼13不屬于白盒測試的技術(shù)是(D )。A)路徑覆蓋 B)判定覆蓋 C)循環(huán)覆蓋 D)邊界值分析14集成測試時,能較早發(fā)現(xiàn)高層模塊接口錯誤的測試方法為( A )。A)自頂向下漸增式測試 B)自底向上漸增式測試 C)非漸增式測試 D)系統(tǒng)測試15確認測試以( A )文檔作為測試的基礎(chǔ)。A)需求規(guī)格說明書 B)設(shè)計說明書 C)源程序 D)開發(fā)

4、計劃16使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)( A )和指定的覆蓋標準。A)程序內(nèi)部邏輯 B)程序的復(fù)雜度 C)使用說明書 D)程序的功能17程序的三種基本結(jié)構(gòu)是(B )。A)過程子、程序、分程序 B)順序、選擇、循環(huán)C)遞歸、堆棧、隊列 D)調(diào)用、返回、轉(zhuǎn)移18結(jié)構(gòu)化程序設(shè)計的一種基本方法是( D )A)篩選法 B)遞歸法 C)歸納法 D)逐步求精法19軟件調(diào)試的目的是( A )A)找出錯誤所在并改正之 B)排除存在錯誤的可能性C)對錯誤性質(zhì)進行分類 D)統(tǒng)計出錯的次數(shù)20程序三種基本結(jié)構(gòu)的共同特點是( D )A)不能嵌套使用 B)只能用來寫簡單程序C)已經(jīng)用硬件實現(xiàn) D)只有一個入口和一

5、個出口21下面說法正確的是( C )。A)經(jīng)過測試沒有發(fā)現(xiàn)錯誤說明程序正確 B)測試的目標是為了證明程序沒有錯誤C)成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯誤的測試 D)成功的測試是沒有發(fā)現(xiàn)錯誤的測試22覆蓋準則最強的是( D )。A)語句覆蓋 B)判定覆蓋C)條件覆蓋 D)路徑覆蓋23發(fā)現(xiàn)錯誤能力最弱的是( A )。A)語句覆蓋 B)判定覆蓋C)條件覆蓋 D)路徑覆蓋24實際的邏輯覆蓋測試中,一般以( C )為主設(shè)計測試用例。A)條件覆蓋 B)判定覆蓋C)條件組合覆蓋 D)路徑覆蓋25下面( D )方法能夠有效地檢測輸入條件的各種組合可能引起的錯誤。A)等價類劃分 B)邊界值分析C)錯誤推測 D)

6、因果圖26與確認測試階段有關(guān)的文檔是( A )。A)需求規(guī)格說明書 B)概要設(shè)計說明書C)詳細設(shè)計說明書 D)源程序27超出軟件工程范圍的測試是( D )。A)單元測試 B)集成測試C)確認測試 D)系統(tǒng)測試28軟件測試不需要了解軟件設(shè)計的( D )。A)功能 B)內(nèi)部結(jié)構(gòu)C)處理過程 D)條件29( B )方法需要考察模塊間的接口和各模塊之間的聯(lián)系。A)單元測試 B)集成測試C)確認測試 D)系統(tǒng)測試30調(diào)試應(yīng)該由( B )完成。A)與源程序無關(guān)的程序員 B)編制該源程序的程序員C)不了解軟件設(shè)計的機構(gòu) D)設(shè)計該軟件的機構(gòu)31基線是軟件生存期中各開發(fā)階段的一個特定點,它可作為一個檢查點,當

7、采用的基線發(fā)生錯誤時,我們可以返回到最近和最恰當?shù)模– )上。A)配置項 B)程序 C)基線 D)過程32版本管理是對系統(tǒng)不同版本進行的( A )過程A)標識與跟蹤 B)標識變更 C)發(fā)布變更 D)控制變更33在變更控制中,管理各個用戶存取和修改一個特定軟件配置對象的權(quán)限是( D )。 A)異步控制B)同步控制C)存取控制 D)基線控制34. 在配置管理中,“登入”和“檢出”處理實現(xiàn)了兩個重要的變更控制要素,即同步控制和(B )。 A)異步控制B)同步控制C)基線控制D)存取控制35. 按照軟件配置管理的原始指導(dǎo)思想,受控制的對象應(yīng)是( C )。A)軟件元素 B)軟件配置項C)軟件項目D)軟件

8、過程36. 軟件配置項是軟件配置管理的對象,指的是軟件工程過程中所產(chǎn)生的( B )。A)接口 B)軟件環(huán)境C)信息項D)版本37在變更控制中,可用來確保由不同用戶所執(zhí)行的并發(fā)控制是( B )。A)異步控制B)同步控制C)存取控制D)基線控制38以下說法錯誤的是( A )。A)軟件配置管理簡稱SCIB)軟件配置項是配置管理的基本單位C)軟件配置實際上是一動態(tài)的概念D)軟件工程過程中某一階段的變更均要引起軟件配置的變更39在設(shè)計人機界面時,應(yīng)主要考慮的因素有(D)。A) 系統(tǒng)響應(yīng)時間B)錯誤處理C)用戶求助機制D)以上都是40人機界面的風(fēng)格大致經(jīng)過了( D )代的演變A)一 B)二 C)三 D)

9、四二、 填空題1軟件測試的目的是盡可能多地發(fā)現(xiàn)軟件中存在的 錯誤 ,將 測試結(jié)果 作為糾錯的依據(jù)。2測試階段的基本任務(wù)是根據(jù)軟件開發(fā)各階段的 文檔資料 和程序的 內(nèi)部結(jié)構(gòu) ,精心設(shè)計一組 測試用例 ,利用這些實例執(zhí)行 程序 ,找出軟件中潛在的各種錯誤和 缺陷 。3測試用例由 輸入數(shù)據(jù) 和預(yù)期的 輸出數(shù)據(jù) 兩部分組成。4軟件測試方法一般分為兩大類: 動態(tài)測試 方法和 靜態(tài)測試 方法。5動態(tài)測試通過 運行程序 發(fā)現(xiàn)錯誤。根據(jù) 測試用例 的設(shè)計方法不同,動態(tài)測試又分為 黑盒測試 與 白盒測試 兩類。6靜態(tài)測試采用 人工檢測 和 計算機輔助靜態(tài)分析 的手段對程序進行檢測。7人工審查程序偏重于 編碼質(zhì)量

10、 的檢驗,而軟件審查除了審查 編碼 還要對各階段 軟件產(chǎn)品 進行檢驗。8計算機輔助靜態(tài)分析利用 靜態(tài)分析工具對測試程序進行 特性 分析。9黑盒法只在軟件的 接口 處進行測試,依據(jù) 需求規(guī)格 說明書,檢查程序是否滿足 功能 要求。10白盒法必須考慮程序的 內(nèi)部結(jié)構(gòu) 和 處理過程 ,以檢查 處理過程 的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行 測試 。11白盒測試是 結(jié)構(gòu) 測試,被測對象是 源程序 ,以程序的 內(nèi)部邏輯 為基礎(chǔ)設(shè)計測試用例。12邏輯覆蓋是對程序內(nèi)部有 判定 存在的邏輯結(jié)構(gòu)設(shè)計測試用例,根據(jù)程序內(nèi)部的邏輯覆蓋程度又可分為 語句覆蓋 、 判定覆蓋 、 條件覆蓋 、 判定/條件覆蓋 、

11、條件組合覆蓋和 路徑覆蓋 6種覆蓋技術(shù)。13實際的邏輯覆蓋測試中,一般以 條件組合 覆蓋為主設(shè)計測試用例,然后再補充部分用例,以達到 路徑 覆蓋測試標準。14循環(huán)覆蓋是對程序內(nèi)部有 循環(huán) 存在的邏輯結(jié)構(gòu)設(shè)計測試用例,它通過限制 循環(huán)次數(shù) 來測試。15基本路徑測試是在程序 控制流程圖 基礎(chǔ)上,通過分析控制構(gòu)造的 環(huán)路 復(fù)雜性,導(dǎo)出 基本路徑 集合,從而設(shè)計測試用例。16黑盒測試是 功能 測試,用黑盒技術(shù)設(shè)計測試用例有4種方法: 等價類劃分 、 邊界值分析 、 錯誤推測 和 因果圖 。17等價類劃分從程序的 功能 說明,找出一個輸入條件(通常是 一句話 或 一個短語 ),然后將每個輸入條件劃分成兩

12、個或多個 等價類 。18邊界值分析是將測試 邊界 情況作為重點目標,選取正好等于、剛剛大于或剛剛小于 邊界值 的測試數(shù)據(jù)。如果輸入或輸出域是一個有序集合,則應(yīng)選取集合的 第一個 元素和 最后一個元素作為測試用例。19在測試程序時,根據(jù)經(jīng)驗或直覺推測程序中可能存在的各種錯誤,稱為 錯誤推測法 。20因果圖的基本原理是通過畫 因果 圖,把用自然語言描述的 功能說明 轉(zhuǎn)換為 判定表 ,最后為 判定表 每一列設(shè)計一個測試用例。21測試的綜合策略是在測試中,聯(lián)合使用各種 測試 方法。通常先用 黑盒 法設(shè)計基本的測試用例,再用 白盒 法補充一些必要的測試用例。22軟件測試過程中需要3類信息: 軟件配置 、

13、 測試配置 和 測試工具 。23軟件測試一般經(jīng)過4個測試: 單元測試 、 集成測試 、 確認測試 和 系統(tǒng)測試 。24 單元測試 指對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤,它涉及 編碼 和 詳細設(shè)計 的文檔。25單元測試主要測試 模塊 的5個基本特征: 模塊接口 、 局部數(shù)據(jù)結(jié)構(gòu) 、 重要的執(zhí)行路徑 、 錯誤處理 和 邊界條件 。26在單元測試中,需要為被測模塊設(shè)計 驅(qū)動 模塊和 樁 模塊。 驅(qū)動模塊 用來模擬被測模塊的上級調(diào)用模塊, 樁模塊 用來代替被測模塊所調(diào)用的模塊。27集成測試指在 單元 測試基礎(chǔ)上,將所有模塊按照設(shè)計要

14、求組裝成一個完整的系統(tǒng)進行的測試。也稱 組裝 測試或 聯(lián)合 測試。28集成測試的方法有兩種: 非漸增式測試 和 漸增式測試 。29漸增式測試有兩種不同的組裝模塊的方法: 自頂向下結(jié)合 和 自底向上結(jié)合 。30自頂向下漸增式測試不需要編寫 驅(qū)動 模塊,只需要編寫 樁 模塊,其步驟是從 頂層 模塊開始,沿著被測程序的 軟件結(jié)構(gòu)圖 的控制路徑逐步向下測試,它有兩種組合策略 深度優(yōu)先策略 和 寬度優(yōu)先策略 。31自底向上漸增式測試不需要編寫 樁 模塊,只需要編寫 驅(qū)動 模塊。32確認測試指檢查軟件的 功能 與 性能 是否與 需求規(guī)格 說明書中確定的指標相符合,又稱 有效性 測試。33確認測試在模擬環(huán)境

15、下運用 黑盒 測試方法,由 專門測試人員 和 用戶 參加的測試。34確認測試開始前需要制定 測試 計劃,結(jié)束后要寫出 測試分析 報告。其測試用例要選 實際運用 的數(shù)據(jù)。35軟件配置審查的任務(wù)是檢查軟件的所有文檔資料的 完整性 和 正確性 。36調(diào)試也稱 糾錯 ,是在成功的測試之后才開始進行,其目的是確定錯誤的 原因 和 位置 ,并改正錯誤。37調(diào)試技術(shù)包括 簡單調(diào)試 、 歸納法調(diào)試 、 演繹法調(diào)試 和 回溯法調(diào)試 。38回溯法調(diào)試是從 程序產(chǎn)生錯誤的地方 出發(fā),而歸納法調(diào)試是從 測試結(jié)果發(fā)現(xiàn)的線索 入手。39被測試程序不在機器上運行,而是采用人工檢測和計算機輔助分析檢測的手段稱為 靜態(tài) 測試。

16、40用等價類劃分法設(shè)計一個測試用例時,使其覆蓋 盡可能多的 尚未被覆蓋的合理等價類。41用等價類劃分法設(shè)計一個測試用例時,使其覆蓋 一個 不合理等價類。42在單元測試時,需要為被測模塊設(shè)計 驅(qū)動模塊與樁模塊 。43在集成測試時有兩種測試方法,它們是 漸增式和非漸增式 。44軟件測試是為了 發(fā)現(xiàn)錯誤 而執(zhí)行程序的過程。45運行被測程序的方法稱為 動態(tài) 測試。46動態(tài)測試中,主要測試軟件功能的方法稱為 黑盒 法。47選擇測試用例,使得被測程序中每個判定的每個分支至少執(zhí)行一次,這種邏輯覆蓋標準稱為 判定覆蓋 。48要覆蓋含循環(huán)結(jié)構(gòu)的所有路徑是不可能的,一般通過限制 循環(huán)次數(shù) 來測試。49用等價類劃分

17、法設(shè)計測試用例時,如果被測程序的某個輸入條件規(guī)定了取值范圍,則可確定 一個合理的等價類 在和 兩個不合理的等價類 。50憑經(jīng)驗或直覺推測程序中可能存在的錯誤而設(shè)計測試用例的方法是 錯誤推測法 。51集成測試中的具體方法是 漸增式和非漸增式測試方法 。52確認測試階段的兩項工作是 進行確認測試和軟件配置審查 。53在單元測試中,測試一個模塊時,需要設(shè)計 驅(qū)動模塊和樁模塊 。54軟件配置管理,簡稱SCM,它用于整個軟件工程過程。其主要目標是: 標識變更 、 控制變更、 確保變更正確地實現(xiàn) 、 報告有關(guān)變更 。55SCM是一組管理整個軟件生存期各階段中 變更 的活動。56基線的作用是把各階段的開發(fā)工

18、作劃分得更加明確,便于檢查與確認階段成果。因此,基線可以作為項目的一個 檢查點 。三、 名詞解釋1 軟件測試答:軟件測試指為了發(fā)現(xiàn)軟件中的錯誤而執(zhí)行軟件的過程。它的目標是盡可能多地發(fā)現(xiàn)軟件中存在的錯誤,將測試結(jié)果作為糾錯的依據(jù)。2 靜態(tài)測試答:靜態(tài)測試指被測試的程序不在機器上運行,而是采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。3 動態(tài)測試答:動態(tài)測試指通過運行程序發(fā)現(xiàn)錯誤。4 黑盒測試答:黑盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求,又稱為功能測試或數(shù)據(jù)驅(qū)動測試。5 白盒測試答

19、:白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行測試,檢驗內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預(yù)期的狀態(tài)是否一致。6 語句覆蓋答:語句覆蓋指設(shè)計足夠的測試用例,使被測程序中每個語句至少執(zhí)行一次。7 判定覆蓋答:判定覆蓋指設(shè)計足夠的測試用例,使被測程序中每個判定表達式至少獲得一次“真”值或“假”值,從而使程序的每個分支至少都通過一次,因此判定覆蓋又稱分支覆蓋。8 條件覆蓋答:條件覆蓋指設(shè)計足夠測試用例,使判定表達式中每個條件的各種可能的值至少出現(xiàn)一次。9 判定/條件覆蓋答:判定/條件覆蓋指設(shè)計

20、足夠的測試用例,使得判定表達式中每個條件的所有可能取值至少出現(xiàn)一次,并使每個判定表達式所有可能的結(jié)果也至少出現(xiàn)一次。10 條件組合覆蓋答:條件組合覆蓋指設(shè)計足夠的測試用例,使得每個判定表達式中條件的各種可能的值的組合都至少出現(xiàn)一次。11 路徑覆蓋答:路徑覆蓋指設(shè)計足夠的測試用例,覆蓋被測程序中所有可能的路徑。12 測試用例答:測試用例指為尋找程序中的錯誤而精心設(shè)計的一組測試數(shù)據(jù)。13 驅(qū)動模塊答:驅(qū)動模塊指用來模擬被測模塊的上級調(diào)用模塊,其功能比真正的上級模塊簡單得多,它只完成接受測試數(shù)據(jù),以上級模塊調(diào)用被測模塊的格式驅(qū)動被測模塊,接收被測模塊的測試結(jié)果并輸出。14 樁模塊答:樁模塊指用來代替

21、被測試模塊所調(diào)用的模塊,其作用是返回被測試模塊所需的信息。15 單元測試答:單元測試指對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。16 集成測試答:集成測試指在單元測試基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成一個完整的系統(tǒng)進行的測試。也稱組裝測試或聯(lián)合測試。17 確認測試答:確認測試指檢查軟件的功能與性能是否與需求規(guī)格說明書中確定的指標相符合,又稱有效性測試。18 漸增式測試答:漸增式測試指逐個把未經(jīng)過測試的模塊組裝到已經(jīng)過測試的模塊上去,進行集成測試。每加入一個新模塊進行一次集成測試,重復(fù)此過程直到程序組裝完畢。19 非漸增式測試答:

22、非漸增式測試指首先對每個模塊分別進行單元測試,然后把所有的模塊按設(shè)計要求組裝在一起進行測試。20 調(diào)試答:調(diào)試指確定錯誤的原因和位置,并改正錯誤的過程,也稱糾錯。21 人的因素的含義答:1)人對感知過程的認識,包括視覺、閱讀時的認知心理、記憶、歸納與演繹推理等; 2)用戶已有的技能和行為方式; 3)用戶所要求的完成的整個任務(wù)以及用戶對人機交互部分的特殊要求。22 基線答:已經(jīng)通過正式復(fù)審和批準的某規(guī)約或產(chǎn)品,它因此可以作為進一步開發(fā)的基礎(chǔ),并且只能遵循正式的變化控制過程得到改變。23 軟件配置管理答:軟件配置管理,簡稱SCM,它用于整個軟件工程過程。其主要目標是:標識變更、控制變更、確保變更正

23、確地實現(xiàn)、報告有關(guān)變更。SCM是一組管理整個軟件生存期各階段中變更的活動。24 軟件配置項答:軟件配置項是軟件工程中產(chǎn)生的信息項,它是配置管理的基本單位,對已成為基線的SCI,雖然可以修改,但必須按照一個特殊的正確的過程進行評估,確認每一處的修改。四、 簡答題1 為什么說軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),但不是軟件質(zhì)量保證的安全網(wǎng)?答: 軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),原因是:·測試的工作量約占整個項目開發(fā)工作量的40%左右,幾乎一半。如果是關(guān)系到人的生命安全的軟件,測試的工作量還要成倍增加。·軟件測試代表了需求分析、設(shè)計、編碼的最終復(fù)審。 軟件測試不是軟件質(zhì)

24、量保證的安全網(wǎng),因為軟件測試只能發(fā)現(xiàn)錯誤,不能保證沒有錯誤。2 軟件測試的目的是什么?為什么把軟件測試的目的定義為只是發(fā)現(xiàn)錯誤?答:軟件測試的目的有: 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。 一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。 一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤。 軟件測試的目標定義為只是發(fā)現(xiàn)錯誤,原因是軟件測試可以有兩個目標,一個是預(yù)防錯誤,另一個是發(fā)現(xiàn)錯誤。由于軟件開發(fā)是人的創(chuàng)造性勞動,人的活動不可能完美無缺,錯誤可能發(fā)生在任何一個階段,因此預(yù)防錯誤這一目標幾乎是不可實現(xiàn)的,所以軟件測試的目標定義為只是發(fā)現(xiàn)錯誤。3 軟件測試應(yīng)當遵循什么原則?為什么要遵循這些原則?答:軟件

25、測試應(yīng)當遵循原則如下: 用例由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成,因為這樣便于對照檢查,做到有的放矢。 用例不僅選用合理的輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。因為當以特殊方式使用程序時,會突然發(fā)現(xiàn)程序中有許多錯誤,故使用預(yù)期的不合理的輸入數(shù)據(jù)進行程序測試,比用合理的輸入數(shù)據(jù)收獲要大,從而能更多地發(fā)現(xiàn)錯誤,提高程序可靠性。 除了檢查程序是否做了它應(yīng)該做的事,還應(yīng)該檢查程序是否做了它不應(yīng)該做的事,因為如果程序做了它不應(yīng)該做的事,即使程序能做它應(yīng)該做的事,程序也是錯誤的。 應(yīng)制定測試計劃并嚴格執(zhí)行,因為這樣可以排除隨意性。 長期保留測試用例,因為測試用例的設(shè)計耗費很大的工作量,而修改后的程序可能有新

26、的錯誤,需要進行回歸測試,故必須將測試用例作為文檔保存,使測試具有可重復(fù)性,同時測試用例是將來系統(tǒng)維護測試與確認的依據(jù),保存測試用例也為以后的維護提供方便。 對發(fā)現(xiàn)錯誤較多的程序段,應(yīng)進行更深入的測試,因為發(fā)現(xiàn)錯誤較多的程序段,其質(zhì)量較差,同時在修改錯誤過程中又容易引入新的錯誤。 程序員避免測試自己設(shè)計的程序,因為測試目的是找錯。從心理學(xué)角度講,程序員大多對自己的程序存有偏見,總認為沒有錯誤或錯誤不大,另外程序員對需求規(guī)格說明的理解而引入的錯誤則更難發(fā)現(xiàn),應(yīng)該由別人或另外的機構(gòu)來測試會更客觀、更有效。4 軟件測試的步驟是什么?這些測試與軟件開發(fā)各階段之間的關(guān)系?答: 軟件測試的步驟如圖7-3所

27、示。圖7-3 軟件測試的步驟 這些測試與軟件開發(fā)各階段之間的關(guān)系如圖7-2所示。因為系統(tǒng)測試已經(jīng)超出了軟件工程的范圍,所以圖7-3中的系統(tǒng)測試不包括在內(nèi)。 5 軟件測試的過程是什么?答:軟件測試是一個規(guī)則的過程,包括測試設(shè)計、測試執(zhí)行以及測試結(jié)果比較等。 測試設(shè)計:根據(jù)軟件開發(fā)各階段的文檔資料和程序的內(nèi)部結(jié)構(gòu),利用各種設(shè)計測試用例技術(shù)精心設(shè)計測試用例。 測試執(zhí)行:利用這些測試用例執(zhí)行程序,得到測試結(jié)果。 測試結(jié)果比較:將預(yù)期的結(jié)果與實際測試結(jié)果進行比較,如果二者不符合,對于出現(xiàn)的錯誤進行糾錯,并修改相應(yīng)文檔。修改后的程序還要進行再次測試,直到滿意為止。如果測試發(fā)現(xiàn)不了錯誤,可能由于測試配置考慮

28、不周到,應(yīng)考慮重新制定測試方案,設(shè)計測試用例。6 單元測試、集成測試和確認測試各自主要目標是什么?它們之間有什么不同?相互有什么關(guān)系?答:單元測試、集成測試和確認測試各自主要目標是: 單元測試的主要目標是檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。 集成測試的主要目標是檢查與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問題。 確認測試的主要目標是檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定的各種需求。單元測試、集成測試和確認測試之間的不同如下: 測試內(nèi)容不同:單元測試集中于單個模塊的功能和結(jié)構(gòu)檢驗,其測試內(nèi)容主要包括模塊接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行路徑、錯誤處理和邊界測試;集成測

29、試集中于模塊組合的功能和軟件結(jié)構(gòu)檢驗,其測試內(nèi)容主要包括模塊組裝中可能出現(xiàn)的問題,即數(shù)據(jù)穿過接口可能丟失、一個模塊可能破壞另一個模塊的內(nèi)容、子功能組裝可能不等于主功能、全程數(shù)據(jù)結(jié)構(gòu)問題、誤差累積問題;確認測試集中于論證軟件需求的可追溯性,主要包括測試軟件功能和性能是否與軟件需求一致、測試軟件配置的所有程序與文檔是否正確完整而且一致。 測試的方法不同:單元測試總是使用白盒測試法,為被測模塊設(shè)計驅(qū)動模塊和樁模塊;集成測試使用漸增式測試和非漸增式測試,漸增式測試又有分為自頂向下結(jié)合法和自底向上結(jié)合法;確認測試總是使用黑盒測試法。 發(fā)現(xiàn)的錯誤不同:單元測試發(fā)現(xiàn)的錯誤主要是在編碼階段產(chǎn)生的錯誤,集成測試發(fā)現(xiàn)的錯誤主要是在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論