軟件測試習題_第1頁
軟件測試習題_第2頁
軟件測試習題_第3頁
軟件測試習題_第4頁
軟件測試習題_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(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)應用范圍 B)內(nèi)部邏輯 C)功能 D)輸入數(shù)據(jù)3黑盒法是根據(jù)程序的( C )來設(shè)計測試用例的。A)應用范圍 B)內(nèi)部邏輯 C)功能 D)輸入數(shù)據(jù)4為了提高軟件測試的效率,應該( 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)預期輸出結(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

4、)開發(fā)計劃16使用白盒測試方法時,確定測試數(shù)據(jù)應根據(jù)( A )和指定的覆蓋標準。A)程序內(nèi)部邏輯 B)程序的復雜度 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)錯誤推

6、測 D)因果圖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)試應該由( B )完成。A)與源程序無關(guān)的程序員 B)編制該源程序的程序員C)不了解軟件設(shè)計的機構(gòu) D)設(shè)計該軟件的機構(gòu)31基線是軟件生存期中各開發(fā)階段的一個特定點,它可作為一個檢

7、查點,當采用的基線發(fā)生錯誤時,我們可以返回到最近和最恰當?shù)模?C )上。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. 按照軟件配置管理的原始指導思想,受控制的對象應是( C )。A)軟件元素 B)軟件配置項C)軟件

8、項目D)軟件過程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è)計人機界面時,應主要考慮的因素有(D)。A) 系統(tǒng)響應時間B)錯誤處理C)用戶求助機制D)以上都是40人機界面的風格大致經(jīng)過了( D )代的演變A)一 B)二 C

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

10、程序偏重于 編碼質(zhì)量 的檢驗,而軟件審查除了審查 編碼 還要對各階段 軟件產(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)路 復雜性,導出 基本路徑 集合,從而設(shè)計測試用例。16黑盒測試是 功能 測試,用黑盒技術(shù)設(shè)計測試用例有4種方法:等價類劃分 邊界值分析 錯誤推測 因果圖。17等價類劃分從程序的 功能 說明,找出一個輸入條件(通常是 一句話 或 一個短語 ),然后將每個輸入條件劃分成兩個或多個 等

12、價類 。18邊界值分析是將測試 邊界 情況作為重點目標,選取正好等于、剛剛大于或剛剛小于邊界值 的測試數(shù)據(jù)。如果輸入或輸出域是一個有序集合,則應選取集合的 第一個 元素和 最后一個 元素作為測試用例。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è)計要求組裝成一個完整的系統(tǒng)進行的測試。也稱 組裝 測試或 聯(lián)合

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

15、認測試開始前需要制定 測試 計劃,結(jié)束后要寫出 測試分析 報告。其測試用例要選用實際運用 的數(shù)據(jù)。35軟件配置審查的任務是檢查軟件的所有文檔資料的 完整性 和 正確性 。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) 測試。40用等價類劃分法設(shè)計一個測試用例時,使其覆蓋 盡可能多的 尚未被覆蓋的合理等價類。4

16、1用等價類劃分法設(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用等價類劃分法設(shè)計測試用例時,如果被測程序的某個輸入條件規(guī)定了取值范圍,則可確定一個合理的等在和

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

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

19、結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預期的狀態(tài)是否一致。6語句覆蓋:設(shè)計足夠的測試用例,使被測程序中每個語句至少執(zhí)行一次7判定覆蓋:指設(shè)計足夠的測試用例,使被測程序中每個判定表達式至少獲得一次“真”值或“假”值,從而使程序的每個分支至少都通過一次,因此判定覆蓋又稱分支覆蓋8條件覆蓋:指設(shè)計足夠測試用例,使判定表達式中每個條件的各種可能的值至少出現(xiàn)一次。9判定/條件覆蓋:設(shè)計足夠的測試用例,使得判定表達式中每個條件的所有可能取值至少出現(xiàn)一次,并使每個判定表達式所有可能的結(jié)果也至少出現(xiàn)一次。10條件組合覆蓋:指設(shè)計足夠的測試用例,使得每個判定表達式中條件的各種可能的值的組合都至少出現(xiàn)一次。11路徑覆蓋:

20、設(shè)計足夠的測試用例,覆蓋被測程序中所有可能的路徑12測試用例:指為尋找程序中的錯誤而精心設(shè)計的一組測試數(shù)據(jù)13驅(qū)動模塊:指用來模擬被測模塊的上級調(diào)用模塊,其功能比真正的上級模塊簡單得多,它只完成接受測試數(shù)據(jù),以上級模塊調(diào)用被測模塊的格式驅(qū)動被測模塊,接收被測模塊的測試結(jié)果并輸出。14樁模塊15單元測試16集成測試17確認測試18漸增式測試19非漸增式測試20調(diào)試21人的因素的含義22基線23軟件配置管理24軟件配置項25.軟件質(zhì)量四、 簡答題1為什么說軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),但不是軟件質(zhì)量保證的安全網(wǎng)?2軟件測試的目的是什么?為什么把軟件測試的目的定義為只是發(fā)現(xiàn)錯誤?3軟件測試

21、應當遵循什么原則?為什么要遵循這些原則?4軟件測試的步驟是什么?這些測試與軟件開發(fā)各階段之間的關(guān)系?5軟件測試的過程是什么?6單元測試、集成測試和確認測試各自主要目標是什么?它們之間有什么不同?相互有什么關(guān)系?7什么是黑盒測試與白盒測試?它們都適應哪些測試?8簡述軟件測試與軟件調(diào)試的區(qū)別。 9軟件配置管理的任務。10試述第三代界面的優(yōu)點。11試述人機界面的設(shè)計過程。12、SQA策略主要分哪三個階段 13、測試計劃應包括內(nèi)容14、軟件測試階段是如何劃分的 15、簡述軟件測試過程五、 綜合題1變量的命名規(guī)則一般規(guī)定如下:變量名的長度不多于40個字符,第一個字符必須為英文字母,其他字母可以英文字母、

22、數(shù)字以及下劃線的任意組合。請用等價分類法設(shè)計測試用例。2某商場在“五一”期間,顧客購物時收費有4種情況:普通顧客一次購物累計少于100元,按A類標準收費(不打折),一次購物累計多于或等于100元,按B類標準收費(打9折);會員顧客一次購物累計少于1000元,按C類標準收費(打8折),一次購物累計等于或多于1000元,按D類標準收費(打7折)。測試對象是按以上要求計算顧客收費模塊,按照路徑覆蓋法設(shè)計測試用例。3下面是某程序的流程圖:(1)計算它的環(huán)路復雜性。(2)為了完成基本路徑測試,求它的一組獨立的路徑。4.分析比較面向?qū)ο蟮能浖y試與傳統(tǒng)的軟件測試的異同1、傳統(tǒng)的單元測試的對象是軟件設(shè)計的最

23、小單位模塊。當考慮面向?qū)ο筌浖r,單元的概念發(fā)生了變化,此時最小的可測試單位是封裝的類或?qū)ο?,而不再是個體的模塊。傳統(tǒng)單元測試主要關(guān)注模塊的算法實現(xiàn)和模塊接口間數(shù)據(jù)的傳遞,而面向?qū)ο蟮膯卧獪y試主要考察封裝在一個類中的方法和類的狀態(tài)行為。面向?qū)ο筌浖]有層次的控制結(jié)構(gòu),因此傳統(tǒng)的自頂向下和自底向上集成策略就不再適合,它主要有以下兩種集成策略: 基于類間協(xié)作關(guān)系的橫向測試;基于類間繼承關(guān)系的縱向測試。系統(tǒng)測試一般不考慮內(nèi)部結(jié)構(gòu)和中間結(jié)果,因此面向?qū)ο筌浖到y(tǒng)測試與傳統(tǒng)的系統(tǒng)測試差別不大。面向?qū)ο筌浖y試的整體目標和傳統(tǒng)軟件測試的目標是一致的,即以最小的工作量發(fā)現(xiàn)盡可能多的錯誤,但是面向?qū)ο鬁y試的策

24、略和戰(zhàn)術(shù)有很大不同。測試的視角擴大到包括復審分析和設(shè)計模型,此外,測試的焦點從過程構(gòu)件(模塊)移向了類。1選擇題1B 2B 3C 4D 5A 6B 7C 8B 9D 10D11A 12B 13D 14A 15A 16A 17B 18D 19A 20D21C 22D 23A 24C 25D 26A 27D 28D 29B 30B31C 32A 33D 34B 35C 36B 37B 38A 39D 40D六、 填空題1. 錯誤 測試結(jié)果2. 文檔資料 內(nèi)部結(jié)構(gòu) 測試用例 程序 錯誤 缺陷3. 輸入數(shù)據(jù) 輸出數(shù)據(jù)4. 動態(tài)測試 靜態(tài)測試5. 運行程序 測試用例 黑盒測試 白盒測試6. 人工檢測 計

25、算機輔助靜態(tài)分析7. 編碼質(zhì)量 編碼 軟件產(chǎn)品8. 靜態(tài)分析 特性9. 接口 需求規(guī)格 功能10. 內(nèi)部結(jié)構(gòu) 處理過程 處理過程 測試11. 結(jié)構(gòu) 源程序 內(nèi)部邏輯12. 判定 語句覆蓋 判定覆蓋 條件覆蓋 判定/條件覆蓋 條件組合覆蓋 路徑覆蓋13. 條件組合 路徑14. 循環(huán) 循環(huán)次數(shù)15. 控制流程圖 環(huán)路 基本路徑16. 功能 等價類劃分 邊界值分析 錯誤推測 因果圖17. 功能 一句話 一個短語 等價類18. 邊界 邊界值 第一個 最后一個19. 錯誤推測法20. 因果 功能說明 判定表 判定表21. 測試 黑盒 白盒22. 軟件配置 測試配置 測試工具23. 單元測試 集成測試 確

26、認測試 系統(tǒng)測試24. 單元測試 編碼 詳細設(shè)計25. 模塊 模塊接口 局部數(shù)據(jù)結(jié)構(gòu) 重要的執(zhí)行路徑 錯誤處理 邊界條件26. 驅(qū)動 樁 驅(qū)動模塊 樁模塊27. 單元 組裝 聯(lián)合28. 非漸增式測試 漸增式測試29. 自頂向下結(jié)合 自底向上結(jié)合30. 驅(qū)動 樁 頂層 軟件結(jié)構(gòu)圖 深度優(yōu)先策略 寬度優(yōu)先策略31. 樁 驅(qū)動32. 功能 性能 需求規(guī)格 有效性33. 黑盒 專門測試人員 用戶34. 測試 測試分析 實際運用35. 完整性 正確性36. 糾錯 原因 位置37. 簡單調(diào)試 歸納法調(diào)試 演繹法調(diào)試 回溯法調(diào)試38. 程序產(chǎn)生錯誤的地方 測試結(jié)果發(fā)現(xiàn)的線索39靜態(tài)40盡可能多的41一個42

27、驅(qū)動模塊與樁模塊43漸增式和非漸增式44發(fā)現(xiàn)錯誤45動態(tài)測試46黑盒法47判定覆蓋48循環(huán)次數(shù)49兩個不合理的等價類50錯誤推測法51漸增式和非漸增式測試方法52進行確認測試和軟件配置審查 53驅(qū)動模塊和樁模塊54標識變更控制變更確保變更正確地實現(xiàn)報告有關(guān)變更55變更56檢查點七、 名詞解釋1. 軟件測試指為了發(fā)現(xiàn)軟件中的錯誤而執(zhí)行軟件的過程。它的目標是盡可能多地發(fā)現(xiàn)軟件中存在的錯誤,將測試結(jié)果作為糾錯的依據(jù)。2. 靜態(tài)測試指被測試的程序不在機器上運行,而是采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。3. 動態(tài)測試指通過運行程序發(fā)現(xiàn)錯誤。4. 黑盒測試指把測試對象看成一個黑盒子,測試

28、人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求,又稱為功能測試或數(shù)據(jù)驅(qū)動測試。5. 白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行測試,檢驗內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預期的狀態(tài)是否一致。6. 語句覆蓋指設(shè)計足夠的測試用例,使被測程序中每個語句至少執(zhí)行一次。7. 判定覆蓋指設(shè)計足夠的測試用例,使被測程序中每個判定表達式至少獲得一次“真”值或“假”值,從而使程序的每個分支至少都通過一次,因此判定覆蓋又稱分支覆蓋。8. 條件

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

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

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

32、生存期各階段中變更的活動。24. 軟件配置項是軟件工程中產(chǎn)生的信息項,它是配置管理的基本單位,對已成為基線的SCI,雖然可以修改,但必須按照一個特殊的正確的過程進行評估,確認每一處的修改。25.軟件產(chǎn)品具有滿足規(guī)定的或隱含要求能力要求有關(guān)的特征與特征總和(ISO 8492)。簡答題1. 軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),原因是:·       測試的工作量約占整個項目開發(fā)工作量的40%左右,幾乎一半。如果是關(guān)系到人的生命安全的軟件,測試的工作量還要成倍增加。·    &

33、#160;  軟件測試代表了需求分析、設(shè)計、編碼的最終復審。 軟件測試不是軟件質(zhì)量保證的安全網(wǎng),因為軟件測試只能發(fā)現(xiàn)錯誤,不能保證沒有錯誤。2. 軟件測試的目的有: 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。 一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。 一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤。    軟件測試的目標定義為只是發(fā)現(xiàn)錯誤,原因是軟件測試可以有兩個目標,一個是預防錯誤,另一個是發(fā)現(xiàn)錯誤。由于軟件開發(fā)是人的創(chuàng)造性勞動,人的活動不可能完美無缺,錯誤可能發(fā)生在任何一個階段,因此預防錯誤這一目標幾乎是不可實現(xiàn)的,所以軟件測試的目標定義為只是發(fā)現(xiàn)錯誤。

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

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

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

37、認測試各自主要目標是: 單元測試的主要目標是檢查各個模塊是否正確實現(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í)行路徑、錯誤處理和邊界測試;集成測試集中于模塊組合的功能和軟件結(jié)構(gòu)檢驗,其測試內(nèi)容主要包括模塊組裝中可能出現(xiàn)的問題,即數(shù)據(jù)穿過接口可能丟失、一個模塊可能破壞另一個模塊的內(nèi)容、子功能組裝可能不等于

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

39、檔和概要設(shè)計文檔,確認測試涉及軟件需求規(guī)格說明書和用戶手冊。三者相互關(guān)系是:單元測試、集成測試和確認測試是順序?qū)崿F(xiàn)的。首先單元測試對各個模塊進行測試,然后集成測試以單元測試為基礎(chǔ),將所有已測模塊按照設(shè)計要求組裝成一個完整的系統(tǒng),對模塊組合的功能和軟件結(jié)構(gòu)檢驗進行測試,最后確認測試是以集成測試為基礎(chǔ),測試集成的軟件是否滿足需求規(guī)格說明書中確定的各種需求。7. 黑盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求,又稱為功能測試或數(shù)據(jù)驅(qū)動測試。 白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程

40、序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行測試,檢驗內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預期的狀態(tài)是否一致。 白盒測試適應的測試有單元測試、邏輯覆蓋(按邏輯覆蓋程度不同,有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。)、循環(huán)覆蓋(限制循環(huán)次數(shù),有單循環(huán)和嵌套循環(huán))和基本路徑測試。 黑盒測試適應的測試有:確認測試、等價類劃分、邊界值分析、錯誤推測和因果圖。8. 軟件測試與軟件調(diào)試在目的、技術(shù)和方法等方面存在很大的區(qū)別,主要表現(xiàn)在: 測試從一個側(cè)面證明程序員的失敗,而調(diào)試是為了證明程序員的正確。 測試從已知條件開始,使用

41、預先定義的程序,且有預知的結(jié)果,不可預見的只是程序是否通過測試。調(diào)試一般以不可知的內(nèi)部條件開始,除統(tǒng)計性調(diào)試外,結(jié)果是不可預見的。 測試是有計劃的,并要進行測試設(shè)計,而調(diào)試是不受時間約束的。 測試是一個發(fā)現(xiàn)錯誤、改正錯誤、重新測試的過程,而調(diào)試是一個推理過程。 測試的執(zhí)行是有規(guī)程的,而調(diào)試的執(zhí)行往往要求程序員進行必要的推理及知覺的飛躍。 測試經(jīng)常由獨立的測試組在不了解軟件設(shè)計的前提下完成,而調(diào)試必須由了解詳細設(shè)計的程序員完成。大多數(shù)測試的執(zhí)行和設(shè)計可由工具支持,而調(diào)試時,程序員能利用的工具主要是調(diào)試器。12、以檢測為重:產(chǎn)品制成之后進行檢測,只能判斷產(chǎn)品質(zhì)量,不能提高產(chǎn)品質(zhì)量。以過程管理為重:

42、把質(zhì)量的保證工作重點放在過程管理上,對制造過程中的每一道工序都要進行質(zhì)量控制。以新產(chǎn)品開發(fā)為重:在新產(chǎn)品的開發(fā)設(shè)計階段,采取強有力的措施來消滅由于設(shè)計原因而產(chǎn)生的質(zhì)量隱患。13、一個測試計劃應包括:產(chǎn)品基本情況、測試需求說明、測試策略和記錄、測試資源配置計劃表、問題跟蹤報告、測試計劃的評審、結(jié)果等。14、軟件測試的階段劃分為:規(guī)格說明書審查;系統(tǒng)和程序設(shè)計審查;單元測試;集成測試;確認測試;系統(tǒng)測試;驗收測試。15、軟件測試過程主要包括如下6個活動:測試計劃;測試需求分析;測試設(shè)計;測試規(guī)程實現(xiàn);測試執(zhí)行;總結(jié)生成報告。八、 綜合題1 劃分等價類下表。等價類劃分表輸入條件合理等價類 不合理等價

43、類 長度 (1)小于40個字符 (2)等于40個字符 (5)大于40個字符 第一個字符 (3)英文字母 (6)非英文字母 其他字母 (4)英文字母、數(shù)字或下劃線的任意組合 (7)空格 (8)標點符號 (9)運算符號 (10)其他可顯示字符 設(shè)計測試用例下表。測試用例表測試數(shù)據(jù) 測試范圍 期望結(jié)果 (1) s_name12 等價類(1),(3),(4) 有效 (2) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_tr 等價類(2),(3),(4) 有效 (3) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff 等價類(5) 無效 (4) 234name 等價類(6) 無效 (5) ab gh 等價類(7) 無效 (6) ab!2f 等價類(8) 無效 (7) fg+ghh 等價類(9) 無效 (8) Hgh 等價類(10) 無效 2 被測模塊的程序流程圖如圖所示。被測模塊的程序流程圖 按照路徑覆蓋法設(shè)計測試用例如下:是會員,累計消費900元, 覆蓋路徑127是會員,累計消費2000元, 覆蓋路徑128不是會員,累計消費80元, 覆蓋路徑134不是會員,累計消費300元, 覆蓋路徑1353(a) 環(huán)路復雜性=判斷數(shù)1617(個)(b) 路徑1: 0 13 19 路徑2: 0 1

溫馨提示

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

評論

0/150

提交評論