軟件測試題目-附答案_第1頁
軟件測試題目-附答案_第2頁
軟件測試題目-附答案_第3頁
軟件測試題目-附答案_第4頁
軟件測試題目-附答案_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、選擇題

1.軟件測試的目的是(B)。

A)試驗性運行軟件B)發現軟件錯誤C)證明軟件正確D)找出軟件中全部錯誤

2.軟件測試中白盒法是通過分析程序的(B)來設計測試用例的。

A)應用范圍B)內部邏輯C)功能D)輸入數據

3.黑盒法是根據程序的(C)來設計測試用例的。

A)應用范圍B)內部邏輯C)功能D)輸入數據

4.為了提高軟件測試的效率,應該(D)。

A)隨機地選取測試數據B)取一切可能的愉入數據作為測試數據

C)在完成編碼以后制定軟件的測試計劃D)選擇發現錯誤可能性最大的數據作為測試用例

5.與設計測試用例無關的文檔是(A

A)項目開發計劃B)需求規格說明書C)設計說明書D)源程序

6.測試的關鍵問題是(B)o

A)如何組織軟件評審B)如何選擇測試用例

C)如何驗證程序的正確性D)如何采用綜合策略

7.軟件測試用例主要由輸入數據和C)兩部分組成。

A)測試計劃B)測試規則C)預期輸出結果D)以往測試記錄分析

8.成功的測試足指運行測試用例后(B)。

A)未發現程序錯誤B)發現了程序錯誤C)證明程序正確性D)改正了程序錯誤

9.下列幾種邏輯覆蓋標準中,查錯能力最強的是(D

A)語句覆蓋B)判定覆蓋C)條件覆蓋D)條件組合覆蓋

10.在黑盒測試中,著重檢查輸入條件組合的方法是(D)。

A)等價類劃分法B)之界值分析法C)錯誤推測法D)因果圖法

II.單元測試主要針對模塊的幾個基本特征進行測試,該階段不能完成的測試是(A

A)系統功能B)局部數據結構C)重要的執行路徑D)錯誤處理

12.軟件測試過程中的集成測試主要是為了發現(B)階段的錯誤。

A)需求分析B)概要設計C)詳細設計D)編碼

13.不屬于白盒測試的技術是(D)。

A)路徑覆蓋B)判定覆蓋C)循環覆蓋D)邊界值分析

14.集成測試時,能較早發現高層模塊接口錯誤的測試方法為(A)。

A)自頂向下漸增式測試B)自底向上漸增式測試C)非漸增式測試D)系統測試

15.確認測試以(A)文檔作為測試的基礎。

A)需求規格說明書B)設計說明書C)源程序D)開發計劃

16.使用白盒測試方法時,確定測試數據應根據(A)和指定的覆蓋標準。

A)程序內部邏輯B)程序的狂雜度C)使用說明書D)程序的功能

17.程序的三種基本結構是(B

A)過程子、程序、分程序B)順序、選擇、循環

C)遞歸、堆棧、隊列D)調用、返回、轉移

18.結構化程序設計的一種基本方法是(D)

A)篩選法B)遞歸法C)歸納法D)逐步求精法

19.軟件調試的目的是(A)

A)找出錯誤所在并改正之B)排除存在錯誤的可能性

C)對錯誤性質進行分類D)統計出錯的次數

20.程序三種基本結構的共同特點是(D)

A)不能嵌套使用B)只能用來寫簡單程序

C)已經用硬件實現D)只有一個入口和一個出口

21.下面說法正確的是(C)。

A)經過測試沒有發現錯誤說明程序正確B)測試的目標是為了證明程序沒有錯誤

C)成功的測試是發現了迄今尚未發現的錯誤的測試D)成功的測試是沒有發現錯誤的測試

22.覆蓋準則最強的是(D)。

A)語句覆蓋B)判定覆蓋

C)條件覆蓋D)路徑覆蓋

23.發現錯誤能力最弱的是(A)。

A)語句覆蓋B)判定覆蓋

C)條件覆蓋D)路徑覆蓋

24.實際的邏輯覆蓋測試中,一般以(C)為主設計測試用例。

A)條件覆蓋B)判定覆蓋

C)條件組合覆蓋D)路徑覆蓋

25.下面(D)方法能夠有效地檢測輸入條件的各種組合可能引起的錯誤。

A)等價類劃分B)邊界值分析

C)錯誤推測D)因果圖

26.與確認測試階段有關的文檔足(A)。

A)需求規格說明書B)概要設計說明書

C)詳細設計說明書D)源程序

27.超出軟件工程范圍的測試是(D)。

A)單元測試B)集成測試

C)確認測試D)系統測試

28.軟件測試不需要了解軟件設計的(D)。

A)功能B)內部結構

C)處理過程D)條件

29.(B)方法需要考察模塊間的接口和各模塊之間的聯系。

A)單元測試B)集成測試

C)確認測試D)系統測試

30.調試應該由(B)完成。

A)與源程序無關的程序員B)編制該源程序的程序員

C)不了解軟件設計的機構D)設計該軟件的機構

31.基線是軟件生存期中各開發階段的一個特定點,它可作為一個檢查點,當采用的基線發

生錯誤時,我們可以返回到最近和最恰當的(C)上。

A)配置項B)程序C)基線D)過程

32.版本管理是對系統不同版本進行的(A)過程

A)標識與跟蹤B)標識變更C)發布變更D)控制變更

33.在變更控制中,管理各個用戶存取和修改一個特定軟件配置對象的權限是(D)。

A)異步控制B)同步控制

C)存取控制D)基線控制

34.在配置管理中,“登入”和“檢出”處理實現了兩個重要的變更控制要素,即同步控制和

(B)o

A)異步控制B)同步控制

C)基線控制D)存取控制

35.按照軟件配置管理的原始指導思想,受控制的對象應是(C)。

A)軟件元素B)軟件配置項

C)軟件項目D)軟件過程

36.軟件配置項是軟件配置管理的對象,指的是軟件工程過程中所產生的(B)。

A)接口B)軟件環境C)信息項D)版本

37.在變更控制中,可用來確保由不同用戶所執行的并發控制是(B).

A)異步控制B)同步控制C)存取控制D)基線控制

38.以下說法錯誤的是(A)。

A)軟件配置管理簡稱SCI(SCM)

B)軟件配置項是配置管理的基本單位

C)軟件配置實際上是一動態的概念

D)軟件工程過程中某一階段的變更均要引起軟件配置的變更

39.在設計人機界面時,應主要考慮的因素有(D)。

A)系統響應時間B)錯誤處理C)用戶求助機制D)以上都是

40.人機界面的風格大致經過了(D)代的演變

A)—B)二C)三D)四

二、填空題

1.軟件測試的目的足盡可能多地發現軟件中存在的錯誤,將測試測試結果作為糾錯

的依據。

2.測試階段的基本任務是根據軟件開發各階段的文檔資料和程序的內部結構,精心

設計一組一測試用例,利用這些實例執行程序,找出軟件中潛在的各種錯誤和缺

3.測試用例由輸入數據和預期的輸弟數據兩部分組成。

4.軟件測試方法一般分為兩大類:動態測試方法和靜態測試方法。

5.動態測試通過運行程序發現錯誤。根據測試用例的設計方法不同,動態測試又分

為黑盒測試與白盒測試兩類。

6.靜態測試采用人工檢測和計算機輔助靜態分析的手段對程序進行檢測。

7.人工審查程序偏重于編碼質量的檢驗,而軟件審查除了審查編碼還要對各階段

軟件產品進行檢驗。

8.計算機輔助靜態分析利用靜態分析工具對測試程序進行特性分析。

9.黑盒法只在軟件的接匚處進行測試,依據需求規格說明書,檢查程序是否滿足為

能_要求。

10.白盒法必須考慮程序的內部結構和處理過程,以檢查處理過程的細節為基

礎,對程序中盡可能多的邏輯路徑進行JH試

H.白盒測試是一結構測試,被測對象是一源程序,以程序的內部邏輯為基礎設計測

試用例。

12.邏輯覆蓋是對程序內部有判定存在的邏輯結構殳計測試用例,根據程序內部的邏輯

覆蓋程度乂可分為語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋路徑

覆蓋6種覆蓋技術。

13.實際的邏輯覆蓋測試口,一般以條件組合覆蓋為主設計測試用例,然后再補充部分

用例,以達到路徑覆蓋測試標準。

14.循環覆蓋是對程序內部有循環存在的邏輯結構設計測試用例,它通過限制循環次數

來測試。

15.基本路徑測試是在程序控制流程圖一基礎上,通過分析控制構造的雜性,

導出基本路徑集合,從而設計測試用例。

16.黑盒測試是旦能—測試,用黑盒技術設計測試用例有4種方法:等價類劃分邊界值分

析錯誤推測因果圖。

17.等價類劃分從程序的功能說明,找出一個輸入條件(通常是一句話或一

個短語),然后將每個輸入條件劃分成兩個或多個省遞

18.邊界值分析是將測試皿情況作為重點目標,選取正好等于、剛剛大于或剛剛小于

邊界值的測試數據。如果輸入或輸出域是一個有序集合,則應選取集合的第?個元

素和最后一個元素作為測試用例。

19.在測試程序時,根據經驗或直覺推測程序中可能存在的各種錯誤,稱為錯誤推測法.

20.因果圖的基本原理是通過畫因果圖,把用自然語言描述的功能說明轉換為判

定表,最后為判定表每一列設計一個測試用例。

21.測試的綜合策略是在測試中,聯合使用各種測試方法。通常先用黑盒法設計

基本的測試用例,再用&一法補充一些必要的測試用例。

22.軟件測試過程中需要3類信息:軟件配置、測試配置和測試工具。

23.軟件測試一般經過4個測試:單元測試集成測試確認測試系統測試°

24.里遨幽_指對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現規定的功

能,從而發現模塊在編碼中或算法中的錯誤,它涉及編碼和詳細設計的文檔。

25.單元測試主要測試模塊的5個基本特征:模塊接口局部數據結構重要的執行路徑錯

誤處理邊界條件。

26.在單元測試中,需要為被測模塊設計驅動模塊和樁模塊。驅動模塊用來

模擬被測模塊的上級調用模塊,樁模塊用來代替被測模塊所調用的模塊。

27.集成測試指在測試基礎上,將所有模塊按照設計要求組裝成一個完整的系統進

行的測試。也稱組裝測試或聯合測試。

28.集成測試的方法有兩種:非漸增式測試漸增式測試。

29.漸增式測試有兩種不同的組裝模塊的方法:自頂向下結合自底向上結合。

30.自頂向下漸增式測試無需要編寫驅動模塊,只需要編寫樁模塊,其步驟是從

模塊開始,沿著被測程序的的控制路徑逐步向下測試,它有兩種組合策略:軟件

結構圖和深度優先策略寬度優先策略。

31.自底向上漸增式測試不需要編寫模塊,只需要編寫驅動模塊。

32.確認測試指檢查軟件的功能與性能是否與需求規格說明書中確定的指標相符

合,又稱有效性測試。

33.確認測試在模擬環境下運用測試方法,由專門測試人員和用戶參加的測

試。

34.確認測試開始前需要制定計劃,結束后要寫出測試分析報告。其測試用例

要選用實際運用的數據。

35.軟件配置審查的任務是檢查軟件的所有文檔資料的工整J和」

36.調試也稱糾錯,是在成功的測試之后才開始進行,其目的是確定錯誤的原因和

位置,并改正錯誤。

37.調試技術包括簡單調試歸納法調試演繹法調試回溯法調試

38.回溯法調試是從程序產生錯誤的地方出發,而歸納法調試是從測試結果發現的線索

入手。

39.被測試程序不在機器上運行,而是采用人工檢測和計算機輔助分析檢測的手段稱為

靜態測試。

40.用等價類劃分法設計一個測試用例時,使其覆蓋一盡可能多的尚未被覆蓋的合

理等價類。

41.用等價類劃分法設計一個測試用例時,使其覆蓋.一個不合理等價類。

42.在單元測試時,需要為被測模塊設計驅動模塊與樁模塊。

43.在集成測試時有兩種測試方法,它們是_漸增式和非漸增式_______________。

44.軟件測試是為了發現錯誤而執行程序的過程。

45.運行被測程序的方法稱為動態測試。

46.動態測試中,主要測試軟件功能的方法稱為黑盒法。

47.選擇測試用例,使得被測程序中每個判定的每個分支至少執行一次,這種邏輯覆蓋標準

稱為判定覆蓋。

48.要覆蓋含循環結構的所有路徑是不可能的,一般通過限制循環次數來測試。

49.用等價類劃分法設計測試用例時,如果被測程序的某個輸入條件規定了取值范圍,則可

確定一個合理的等在和兩個不*?理的等價類。

50.憑經驗或直覺推測程序中可能存在的錯誤而設計測試用例的方法是一錯誤推測

a。

51.集成測試中的具體方法是一漸增式和非漸增式測試方法,,

52.確認測試階段的兩項工作是進行確認測試和軟件配置審查°

53.在單元測試中,測試一個模塊時,需要設計驅動模塊和樁模塊__________。

54.軟件配置管理,簡稱SCM,它用于整個軟件工程過程。共主要目標是:標識變更控

制變更確保變更正確地實現報告有關變更

55.SCM是一組管理整個軟件生存期各階段中變更的活動。

56.基線的作用是把各階段的開發工作劃分得更加明確,便于檢杳與確認階段成果。因此,

基線可以作為項目的一個檢查點。

三、名詞解釋

I.軟件測試:軟件測試指為了發現軟件中的錯誤而執行軟件的過程。它的目標是盡可能多地

發現軟件中存在的錯誤,將測試結果作為糾錯的依據。

2.靜態測試:指被測試的程序不在機器上運行,而是采用人工檢測和計算機輔助靜態分析的

手段對程序進行檢測。

3.動態測試:指通過運行程序發現錯誤

4.黑盒測試:指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內部結構和處理過

程,只在軟件的接口處進行測試,依據需求規格說明書,檢查程序是否滿足功能要求,又稱

為功能測試或數據驅動測試。

5.白盒測試:把測試對象看成一個打開的盒子,測試人員需『解程序的內部結構和處理過程,

以檢查處理過程的細節為基礎,對程序中盡可能多的邏輯路徑進行測試,檢驗內部控制結構

和數據結構是否有錯,實際的運行狀態與預期的狀態是否一致。

6.語句覆蓋:設計足夠的測試用例,使被測程序中每個語句至少執行一次

7.判定覆蓋:指設計足夠的測試用例,使被測程序中每個判定表達式至少獲得一次“真”值

或“假”值,從而使程序的每個分支至少都通過?一次,因此判定覆蓋又稱分支覆蓋

8.條件覆蓋:指設計足夠測試用例,使判定表達式中每個條件的各種可能的值至少出現一次。

9.判定/條件覆蓋:設計足夠的測試用例,使得判定表達式中每個條件的所有可能取值至少出

現一次,并使每個判定表達式所有可能的結果也至少出現一次。

10.條件組合覆蓋:指設計足夠的測試用例,使得每個判定表達式中條件的各種可能的值的

組合都至少出現一次。

11.路徑覆蓋:設計足夠的測試用例,覆蓋被測程序中斤有可能的路徑

12.測試用例:指為尋找程序中的錯誤而精心設計的一組測試數據

13.驅動模塊:指用來模擬被測模塊的上級調用模塊,其功能比真正的上級模塊簡單得多,

它只完成接受測試數據,以上級模塊調用被測模塊的格式驅動被測模塊,接收被測模塊的測

試結果并輸出。

14.樁模塊

15.單元測試

16.集成測試

17.確認測試

18.漸增式測試

19.非漸增式測試

20.調試

21.人的因素的含義

22.基線

23.軟件配置管理

24.軟件配置項

四、簡答題

1.為什么說軟件測試是軟件開發中不可缺少的重要一環,但不是軟件質量保證的安全網?

2.軟件測試的目的是什么?為什么把軟件測試的目的定義為只是發現錯誤?

3.軟件測試應當遵循什么原則?為什么要遵循這些原則?

4.軟件測試的步驟是什么?這些測試與軟件開發各階段之間的關系?

5.軟件測試的過程是什么?

6.單元測試、集成測試和確認測試各自主要目標是什么?它們之間有什么不同?相互有什么

關系?

7.什么是黑盒測試與白盒測試?它們都適應哪些測試?

8.簡述軟件測試與軟件調試的區別。

9.軟件配置管理的任務。

1().試述第三代界面的優點。

II.試述人機界面的設計過程。

五、綜合題

1.變量的命名規則一般規定如下:變量名的長度不多于40個字符,第一個字符必須為英文

字母,其他字母可以英文字母、數字以及下劃線的任意組合。請用等價分類法設計測試用例。

2.某商場在“五一”期間,顧客購物時收費有4種情況:普通顧客一次購物累計少于10()元,

按A類標準收費(不打折),一次購物累計多于或等于100元,按B類標準收費(打9折);

會員顧客一次購物累計少于1(X)()元,按C類標準收費(打8折),一次購物累計等于或多于

1000元,按D類標準收費(打7折)。測試對象是按以上要求計算顧客收費模塊,按照路徑覆

蓋法設計測試用例。

3.下面是某程序的流程圖:

(1)計算它的環路復雜性。

(2)為了完成基本路徑測試,求它的一組獨立的路徑。

六、選擇題

I.B2.B3.C4.D5.A6.B7.C8.B9.D10.D

11.A12.B13.D14.A15.A16.A17.B18.D19.A20.D

21.C22.D23.A24.C25.D26.A27.D28.D29.B30.B

31.C32.A33.D34.B35.C36.B37.B38.A39.D40.D

七、填空題

1.錯誤測試結果

2.文檔資料內部結構測試用例程序錯誤缺陷

3.輸入數據輸出數據

4.動態測試靜態測試

5.運行程序測試用例黑盒測試白盒測試

6.人工檢測計算機輔助靜態分析

7.編碼質量編碼軟件產品

8.靜態分析特性

9.接口需求規格功能

10.內部結構處理過程處理過程測試

11.結構源程序內部邏輯

12.判定語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋路徑覆蓋

13.條件組合路徑

14.循環循環次數

15.控制流程圖環路基本路徑

16.功能等價類劃分邊界值分析錯誤推測因果圖

17.功能一句話一個短語等價類

18.邊界邊界值第一個最后一個

19.錯誤推測法

20.因果功能說明判定表判定表

21.測試黑盒白盒

22.軟件配置測試配置測試工具

23.單元測試集成測試確認測試系統測試

24.單元測試編碼詳細設計

25.模塊模塊接口局前數據結構重要的執行路徑錯誤處理邊界條件

26.驅動班驅動模塊班模塊

27.單元組裝聯合

28.非漸增式測試漸增式測試

29.自頂向下結合自底向上結合

30.驅動樁頂層軟件結構圖深度優先策略寬度優先策略

31.樁驅動

32.功能性能需求規格有效性

33.黑盒專門測試人員用戶

34.測試測試分析實際運用

35.完整性正確性

36.糾錯原因位置

37.簡單調試歸納法調試演繹法調試回溯法調試

38.程序產生錯誤的地方測試結果發現的線索

39.靜態

40.盡可能多的

41.一個

42.驅動模塊與樁模塊

43.漸增式和非漸增式

44.發現錯誤

45.動態測試

46.黑盒法

47.判定覆蓋

48.循環次數

49.兩個不合理的等價類

50.錯誤推測法

51.漸增式和非漸增式測試方法

52.進行確認測試和軟件配置審查

53.驅動模塊和樁模塊

54.標識變更控制變更確保變更正確地實現報告有關變更

55.變更

56.檢查點

八、名詞解釋

1.軟件測試指為了發現軟件中的錯誤而執行軟件的過程,它的目標是盡可能多地發現軟件中

存在的錯誤,將測試結果作為糾錯的依據。

2.靜態測試指被測試的程序不在機器上運行,而是采用人工檢測和計算機輔助靜態分析的手

段對程序進行檢測。

3.動態測試指通過運行程序發現錯誤。

4.黑盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內部結構和處理過程,

只在軟件的接口處進行測試,依據需求規格說明書,檢查程序是否滿足功能要求,又稱為功

能測試或數據驅動測試。

5.白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程序的內部結構和處理過程,

以檢杳處理過程的細節為基礎,對程序中盡可能多的邏輯路徑進行測試,檢驗內部控制結構

和數據結構是否有錯,實際的運行狀態與預期的狀態是否一致。

6.語句覆蓋指設計足夠的測試用例,使被測程序中每個語句至少執行一次。

7.判定覆蓋指設計足夠的測試用例,使被測程序中每個判定表達式至少獲得一次“真”值或

“假”值,從而使程序的每個分支至少都通過一次,因此判定覆蓋又稱分支覆蓋。

8.條件覆蓋指設計足夠測試用例,使判定表達式中每個條件的各種可能的值至少出現一次。

9.判定/條件覆蓋指設計足夠的測試用例,使得判定表達式中每個條件的所有可能取值至少出

現一次,并使每個判定表達式所有可能的結果也至少出現一次。

10.條件組合覆蓋指設計足夠的測試用例,使得每個判定表達式中條件的各種可能的值的組合

都至少出現一次。

11.路徑覆蓋指設計足夠的測試用例,覆蓋被測程序中所有可能的路徑。

12.測試用例指為尋找程序中的錯誤而精心設計的一組測試數據。

13.驅動模塊指用來模擬被測模塊的上級調用模塊,其功能比真正的上級模塊簡單得多,它只

完成接受測試數據,以上級模塊調用被測模塊的格式驅動被測模塊,接收被測模塊的測試結

果并輸出.

14.樁模塊指用來代替被測試模塊所調用的模塊,其作用是返回被測試模塊所需的信息。

15.單元測試指對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現規定的功

能,從而發現模塊在編碼中或算法中的錯誤。

16.集成測試指在單元測試基礎上,將所有模塊按照設計要求組裝成一個完整的系統進行的測

試。也稱組裝測試或聯合測試。

17.確認測試指檢查軟件的功能與性能是否與需求規格說明書中確定的指標相符合,又稱有效

性測試。

18.漸增式測試指逐個把未經過測試的模塊組裝到已經過測試的模塊上去,進行集成測試。每

加入一個新模塊進行一次集成測試,重復此過程直到程序組裝完畢。

19.非漸增式測試指首先對每個模塊分別進行單元測試,然后把所有的模塊按設計要求組裝在

一起進行測試。

20.調試指確定錯誤的原因和位置,并改正錯誤的過程,也稱糾錯。

21.1)人對感知過程的認識,包括視覺、閱讀時的認知心理、記憶、歸納與演繹推理等;

2)用戶已有的技能和行為方式;

3)用戶所要求的完成的整個任務以及用戶對人機交互部分的特殊要求。

22.已經通過正式復審和批準的某規約或產品,它因此可以作為進一步開發的基礎,并且只能

遵循正式的變化控制過程得到改變。

23.軟件配置管理,簡稱SCM,它用于整個軟件工程過程。其主要目標是:標識變更、控制

變更、確保變更正確地實現、報告有關變更。SCM是一組管理整個軟件生存期各階段中變更

的活動。

24.軟件配置項是軟件工程中產生的信息項,它是配置管理的基本單位,對j成為基線的SCL

雖然可以修改,但必須按照一個特殊的正確的過程進行評估,確認每一處的修改。

九、簡答題

1.①軟件測試足軟件開發中不可缺少的重要一環,原因是:

?測試的工作量約占整個項目開發工作量的40%左右,幾乎一半。如果是關系到人的生

命安全的軟件,測試的工作量還要成倍增加。

?軟件測試代表了需求分析、設計、編碼的最終復審。

②軟件測試不是軟件質量保證的安全網,因為軟件測試只能發現錯誤,不能保證沒有錯誤。

2.軟件測試的目的有:

①軟件測試是為了發現錯誤而執行程序的過程。

②一個好的測試用例能夠發現至今尚未發現的錯誤。

③一個成功的測試是發現了至今尚未發現的錯誤。

軟件測試的目標定義為只是發現錯誤,原因是軟件測試可以有兩個目標,一個是預防錯誤,

另一個是發現錯誤。由于軟件開發是人的創造性勞動,人的活動不可能完美無缺,錯誤可能

發生在任何一個階段,因此預防錯誤這一目標幾乎是不可實現的,所以軟件測試的目標定義

為只是發現錯誤。

3.軟件測試應當遵循原則如下:

①用例由輸入數據和預期的輸出數據兩部分組成,因為這樣便于對照檢查,做到有的放矢。

②用例不僅選用合理的輸入數據,還要選擇不合理的輸入數據。因為當以特殊方式使用程序

時,會突然發現程序中有許多錯誤,故使用預期的不合理的輸入數據進行程序測試,比用合

理的輸入數據收獲要大,從而能更多地發現錯誤,提高程序可靠性。

③除了檢查程序是否做了它應該做的事,還應該檢查程序是否做了它不應該做的事,因為如

果程序做了它不應該做的事,即使程序能做它應該做的事,程序也是錯誤的。

④應制定測試計劃并嚴格執行,因為這樣可以排除隨意性.

⑤長期保留測試用例,因為測試用例的設計耗費很大的工作量,而修改后的程序可能有新的

錯誤,需要進行回歸測試,故必須將測試用例作為文檔保存,使測試具有可重復性,同時測

試用例是將來系統維護測試與確認的依據,保存測試用例也為以后的維護提供方便。

?對發現錯誤較多的程序段,應進行更深入的測試,因為發現錯誤較多的程序段,其質量較

差,同時在修改錯誤過程中又容易引入新的錯誤。

⑦程序員避免測試自己設計的程序,因為測試目的是找錯。從心理學角度講,程序員大多對

自己的程序存有偏見,總認為沒有錯誤或錯誤不大,另外程序員對需求規格說明的理蟀而引

入的錯誤則更難發現,應該由別人或另外的機構來測試會更客觀、更有效。

4.①軟件測試的步驟如圖7-3所示。

圖7-3軟件測試的步驟

②這些測試與軟件開發各階段之間的關系如圖7-2所示,因為系統測試已經超出了軟件工程

的范圍,所以圖7-2中的系統測試不包括在內。

5.軟件測試是一個規則的過程,包括測試設計、測試執行以及測試結果比較等。

①測試設計:根據軟件開發各階段的文檔資料和程序的內部結構,利用各種設計測試用例技

術精心設計測試用例。

②測試執行:利用這些測試用例執行程序,得到測試結果。

③測試結果比較:將預期的結果與實際測試結果進行比較,如果二者不符合,對于出現的錯

誤進行糾錯,并修改相應文檔。修改后的程序還要進行再次測試,直到滿意為止。如果測試

發現不了錯誤,可能由于測試配置考慮不周到,應考慮.重新制定測試方案,設計測試用例。

6.單元測試、集成測試和確認測試各自主要目標是:

①單元測試的主要目標是檢查各個模塊是否正確實現規定的功能,從而發現模塊在編碼中或

算法中的錯誤。

②集成測試的主要目標是檢查與設計相關的軟件體系結溝的有關問題。

③確認測試的主要目標是檢查已實現的軟件是否滿足需求規格說明書中確定的各種需求。

單元測試、集成測試和確認測試之間的不同如下:

①測試內容不同:單元測試集中于單個模塊的功能和結曲檢驗,其測試內容主要包括模塊接

口、局部數據結構、重要的執行路徑、錯誤處理和邊界測試:集成測試集中于模塊組合的功

能和軟件結構檢驗,其?測試內容主要包括模塊組裝中可能出現的問題,即數據穿過接口可能

丟失、一個模塊可能破壞另一個模塊的內容、子功能組裝可能不等于主功能、全程數據結構

問題、誤差累積問題;確認測試集中于論證軟件需求的可追溯性,主要包括測試軟件功能和

性能是否與軟件需求一致、測試軟件配置的所有程序與文檔是否正確完整而且一致。

②測試的方法不同:單元測試總是使用白盒測試法,為被測模塊設計驅動模塊和樁模塊;集

成測試使用漸增式測試和非漸增式測試,漸增式測試乂有分為自頂向下結合法和自底網上結

合法;確認測試總是使用黑盒測試法。

③發現的錯誤不同:單元測試發現的錯誤主要是在編碼階段產生的錯誤,集成測試發現的錯

誤主要是在設計階段產生的錯誤,確認測試發現的錯誤主要是在需求分析階段產生的錯誤。

④涉及的文檔不同:單元測試涉及編碼和詳細設計文檔,集成測試涉及詳細設計文檔和概要

設計文檔,確認測試涉及軟件需求規格說明書和用戶手冊。

三者相互關系是:單元測試、集成測試和確認測試是順序實現的。首先單元測試對各個模塊

進行測試,然后集成測試以單元測試為基礎,將所有已測模塊按照設計要求組裝成一個完整

的系統,對模塊組合的功能和軟件結構檢驗進行測試,最后確認測試是以集成測試為基礎,

測試集成的軟件是否滿足需求規格說明書中確定的各種需求。

7.①黑盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內部結構和處理過

程,只在軟件的接口處進行測試,依據需求規格說明書,檢查程序是否滿足功能要求,又稱

為功能測試或數據驅動測試。

②白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程序的內部結構和處理過

程,以檢查處理過程的細節為基礎,對程序中盡可能多的邏輯路徑進行測試,檢驗內部控制

結構和數據結構是否有錯,實際的運行狀態與預期的狀態是否一致。

③白盒測試適應的測試有單元測試、邏輯覆蓋(按邏輯覆蓋程度不同,有語句覆蓋、判定覆

蓋、條件覆蓋、判定/條件耀蓋、條件組合覆蓋和路徑覆蓋循環覆蓋(限制循環次數,有

單循環和嵌套循環)和基本路徑測試。

④黑盒測試適應的測試有:確認測試、等價類劃分、邊界值分析、錯誤推測和因果圖。

8.軟件測試與軟件調試在目的、技術和方法等方面存在很大的區別,主要表現在:

①測試從一個側面證明程序員的失敗,而調試是為了證明程序員的正確。

②測試從己知條件開始,使用預先定義的程序,且有預知的結果,不可預見的只是程序是否

通過測試。調試一般以不可知的內部條件開始,除統計性調試外,結果是不可預見的。

③測試是有計劃的,并要進行測試設計,而調試是不受時間約束的。

④測試是一個發現錯誤、改正錯誤、重新測試的過程,而調試是一個推理過程。

⑤測試的執行足有規程的,而調試的執行往往要求程序員進行必要的推理及知覺的飛躍。

?測試經常由獨立的測試組在不了解軟件設計的前提下完成,而調試必須由了解詳細設計的

程序員完成。

⑦大多數測試的執行和設計可由工具支持,而調試時,程序員能利用的工具主要是調試器。

十、綜合題

1.①劃分等價類下表。

等價類劃分表

輸入條件合理等價類不合理等價類

長度⑴小于40個字符(5)大于40個字符

(2)等于40個字符

第一個字(3)英文字母(6)非英文字母

其他字母(4)英文字母、數字或下劃線(7)空格(8)標點符號(9)運

的任意組合算符號

(10)其他可顯示字符

②設計測試用例下表。

測試用例表

測試數據測試范圍期望結果

(1)s_name12等價類有效

(1),(3),(4)

(2)等價類有效

alb2c3d4e5f6g7h8i9j1k213m4n5o6p7q8r9s_tr⑵,(3),(4)

(3)等價類(5)無效

a1b2c3d4e5f6g7h8i9j1k213m4n506P7q8r9s_trff

(4)234name等價類(6)無效

(5)abgh等價類(7)無效

(6)ab!2f等價類(S)無效

(7)fg+ghh等價類(9)無效

(8)H@gh等價類(10)無效

2.①被測模塊的程序流程圖如圖所示。

被測模塊的程序流程圖

②按照路徑覆蓋法設計測試用例如下:

是會員,累計消費900元,覆蓋路徑127

是會員,累計消費2000元,覆蓋路徑128

不是會員,累計消費80元,覆蓋路徑134

不是會員,累計消費300元,覆蓋路徑135

3.(a)環路復雜性;判斷數+1=6+1=7(個)

(b)路徑1:0一①一13—19

路徑2:0—@一③一14—19

路徑3:0—②一④一⑤一15—19

路徑4:0—②一?一⑥一⑦一16一19

路徑5:0-@一⑥一⑧一?—17—19

路徑6:0—②一@一⑥一⑧一@一18—19

路徑7:0—?一⑥一⑧一<?—12—19

4.(1)劃分等價類見表1。

表1等價類劃分表

輸入條件合理等價類不合理等價類

長度(1)小于40個字符(5)大于40個字符

(2)等于40個字符

第一個字(3)英文字母(6)非英文字母

其他字母(4)英文字母、數字或⑺空格(8)標點符號(9)運

下劃線的任意組合算符號

(10)其他可顯示字符

(2)設計測試用例見表2。

表2測試用例表

測試數據測試范圍期望結果

(1)s_name12等價類⑴,⑶,(4)有效

(2)aIb2c3d4e5f6g7h8i9j1k213m4n5o等價類⑵,⑶,(4)有效

6p7q8r9s_tr

(3)a1b2c3d4c5f6g7h8i9j1k213m4n5o等價類15)無效

6p7q8r9s_trff

(4)234name等價類⑹無效

(5)abgh等價類(7)無效

(6)ab!2f等價類⑻無效

(7)fg+ghh等價類⑼無效

(8)H@gh等價類no)無效

5.等價劃分法

①劃分等價類并編號,如下表所示。

十六進制整型常鼠輸入條件的等價類表

溫馨提示

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

評論

0/150

提交評論